Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Introduo e motivaes
1.1 Problemas de sigilo e autenticidade . . . . . . . . . . . . . .
1.2 Organizao do texto . . . . . . . . . . . . . . . . . . . . . .
1.3 O que criptografia? . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Cifra de Csar . . . . . . . . . . . . . . . . . . . . . .
1.3.2 Criptografia e decriptografia . . . . . . . . . . . . . .
1.3.3 Quebra e ataque em criptografia . . . . . . . . . . . .
1.3.4 Criptografia aberta . . . . . . . . . . . . . . . . . . .
1.3.5 Como provar que um algoritmo criptogrfico seguro?
O caso AES . . . . . . . . . . . . . . . . . . . . . . .
1.4 Criptanlise e seus tipos . . . . . . . . . . . . . . . . . . . .
1.4.1 Freqncia de letras na lngua vulnerabilidade . . .
1.5 Substituio simples . . . . . . . . . . . . . . . . . . . . . .
1.6 Cifra de Vigenre . . . . . . . . . . . . . . . . . . . . . . . .
1.7 Cifra de Vigenre-Vernam . . . . . . . . . . . . . . . . . . .
1.8 Transposio (ou permutao) . . . . . . . . . . . . . . . . .
1.9 Composio . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
15
16
18
18
18
20
20
21
.
.
.
.
.
.
.
.
21
22
25
25
26
27
28
28
31
31
32
33
35
36
38
39
40
41
NDICE
2.4.3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
44
45
47
47
49
50
51
53
58
59
59
59
60
62
67
68
68
69
69
71
71
71
72
73
73
73
74
76
76
77
77
77
77
78
79
NDICE
3.6
3.7
3.8
3.9
3.10
3.11
5
3.5.5 Gerao de subchaves RC6 . . . . . . . . .
3.5.6 Dados para teste do RC6 . . . . . . . . . .
Fast Encryption Algorithm FEAL . . . . . . . .
Advanced Encryption Standard - AES . . . . . . .
3.7.1 Esquema geral do AES-Rijndael . . . . . .
3.7.2 SubBytes(Bloco) . . . . . . . . . . . . . .
3.7.3 ShiftRows(Bloco) . . . . . . . . . . . . .
3.7.4 MixColumns(Bloco) . . . . . . . . . . . .
3.7.5 AddRoundKey (Bloco, ExpandedKey) . .
3.7.6 Gerao de subchaves (key schedule) . . .
3.7.7 Valores de teste da gerao de subchaves .
3.7.8 Valores de teste do AES . . . . . . . . . .
3.7.9 Inversa do AES-Rijndael . . . . . . . . . .
3.7.10 Criptanlise do Rijndael . . . . . . . . . .
3.7.11 AES simplificado . . . . . . . . . . . . . .
Criptanlise diferencial CD . . . . . . . . . . . .
Criptanlise linear CL . . . . . . . . . . . . . .
Fortalecimento contra CD e CL . . . . . . . . . .
Modos de operao . . . . . . . . . . . . . . . . .
3.11.1 Modo ECB Electronic Code Book Mode .
3.11.2 Modo CBC Cipher Block Chaining Mode
3.11.3 Modo CFB s-Cipher Feedback Mode . .
3.11.4 Modo OFB sOutput Feedback Mode . .
3.11.5 Modo Contador (Counter Mode) . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
80
81
83
87
89
92
97
98
102
102
107
108
108
110
111
111
112
112
113
114
114
115
116
116
.
.
.
.
.
.
.
.
.
.
.
.
121
. 124
. 125
. 126
. 127
. 127
. 127
. 128
. 128
. 129
. 129
. 131
. 133
NDICE
4.3.7
4.3.8
4.3.9
4.3.10
4.4
4.5
4.6
4.7
4.8
4.9
. 133
. 133
. 134
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
134
137
144
145
146
146
146
147
147
147
148
148
149
149
149
150
150
150
151
151
152
152
152
158
.
.
.
.
165
166
167
169
.
.
.
.
170
171
171
172
NDICE
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
172
172
174
174
174
175
176
176
177
178
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
para Alice
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
181
182
183
184
184
185
185
185
186
186
186
186
187
188
188
189
190
190
190
191
192
.
.
.
.
193
. 194
. 195
. 195
. 196
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
NDICE
6.3
6.4
6.5
6.6
6.7
6.8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
196
196
197
198
199
200
200
201
201
202
202
203
203
203
204
204
204
205
205
206
207
207
207
207
207
208
209
210
210
210
210
211
211
7 Funes espalhamento
213
7.1 Mtodo Merkle-Damgrd . . . . . . . . . . . . . . . . . . . . . 215
7.2 Ataque pelo Paradoxo de Aniversrio . . . . . . . . . . . . . . 216
7.2.1 Paradoxo de Aniversrio . . . . . . . . . . . . . . . . . 217
NDICE
7.3
7.4
7.5
7.6
7.7
9
7.2.2 Algoritmo de Ataque pela Raiz Quadrada
Little-endian e big-endian . . . . . . . . . . . . .
Algoritmo MD4 . . . . . . . . . . . . . . . . . . .
7.4.1 Primeiro passo de MD4 . . . . . . . . . . .
7.4.2 Segundo passo de MD4 . . . . . . . . . . .
7.4.3 Terceiro passo de MD4 . . . . . . . . . . .
7.4.4 Histrico da criptanlise do MD4 . . . . .
Algoritmo MD5 . . . . . . . . . . . . . . . . . . .
7.5.1 Primeiro passo de MD5 . . . . . . . . . . .
7.5.2 Segundo passo de MD5 . . . . . . . . . . .
7.5.3 Terceiro passo de MD5 . . . . . . . . . . .
7.5.4 Quarto passo de MD5 . . . . . . . . . . .
7.5.5 Histrico da criptanlise do MD5 . . . . .
Algoritmo SHA - Secure Hash Algorithm . . . . .
7.6.1 Histrico da criptanlise do SHA . . . . .
Futuro das funes espalhamento. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
219
220
221
222
222
223
224
224
226
227
228
228
229
229
231
231
233
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
237
237
238
238
239
239
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
241
241
242
242
242
243
243
244
246
247
249
249
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
NDICE
C.9 Zn e Zn . . . . . . . . . . . . . . . . . . . . . .
C.10 Funo de Euler . . . . . . . . . . . . . . . .
C.11 Gerador ou elemento primitivo de Zn . . . . . .
C.12 Resduo quadrtico mod n . . . . . . . . . . . .
C.13 Smbolo de Legendre . . . . . . . . . . . . . . .
C.14 Smbolo de Jacobi . . . . .. . . . . . . . . . . .
a
C.14.1 Caso particular de pq
, p = q = 3 mod 4
C.14.2 Exerccios . . . . . . . . . . . . . . . . .
C.14.3 Pseudoprimos . . . . . . . . . . . . . . .
C.15 Teorema de Euler . . . . . . . . . . . . . . . .
C.16 Clculo de quatro razes quadradas . . . . . . .
C.17 Fatorao de n . . . . . . . . . . . . . . . . . .
C.18 Algoritmo de exponenciao . . . . . . . . . . .
C.18.1 Exerccios . . . . . . . . . . . . . . . . .
C.19 Corpo Finito de Galois . . . . . . . . . . . . .
C.19.1 Soma e produto em GF (2m ) . . . . . . .
C.19.2 Base de espao vetorial para GF (2m ) . .
C.19.3 Exerccios . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
250
251
253
254
255
256
260
261
261
262
263
264
265
266
267
269
274
275
285
291
293
299