-
Notifications
You must be signed in to change notification settings - Fork 0
/
steps in memory.txt
475 lines (341 loc) Β· 10.2 KB
/
steps in memory.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
**** Chave ****
0x41 0x45 0x49 0x4d
0x42 0x46 0x4a 0x4e
0x43 0x47 0x4b 0x4f
0x44 0x48 0x4c 0x50
**** RoundKey=0 ****
0x41 0x45 0x49 0x4d
0x42 0x46 0x4a 0x4e
0x43 0x47 0x4b 0x4f
0x44 0x48 0x4c 0x50
**** RoundKey=1 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0x4d 0x4e 0x4f 0x50]
2) Rotacionar os bytes desta palavra (RotWord): [0x4e 0x4f 0x50 0x4d]
3) Substituir os bytes da palavra (SubWord): [0x2f 0x84 0x53 0xe3]
4) Gerar a RoundConstant: [0x01 0x00 0x00 0x00]
5) XOR de (3) com (4): [0x2e 0x84 0x53 0xe3]
6) XOR 1a. palavra da roundkey anterior com (5): [0x6f 0xc6 0x10 0xa7]
0x6f 0x2a 0x63 0x2e
0xc6 0x80 0xca 0x84
0x10 0x57 0x1c 0x53
0xa7 0xef 0xa3 0xf3
**** RoundKey=2 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0x2e 0x84 0x53 0xf3]
2) Rotacionar os bytes desta palavra (RotWord): [0x84 0x53 0xf3 0x2e]
3) Substituir os bytes da palavra (SubWord): [0x5f 0xed 0x0d 0x31]
4) Gerar a RoundConstant: [0x02 0x00 0x00 0x00]
5) XOR de (3) com (4): [0x5d 0xed 0x0d 0x31]
6) XOR 1a. palavra da roundkey anterior com (5): [0x32 0x2b 0x1d 0x96]
0x32 0x18 0x7b 0x55
0x2b 0xab 0x61 0xe5
0x1d 0x4a 0x56 0x05
0x96 0x79 0xda 0x29
**** RoundKey=3 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0x55 0xe5 0x05 0x29]
2) Rotacionar os bytes desta palavra (RotWord): [0xe5 0x05 0x29 0x55]
3) Substituir os bytes da palavra (SubWord): [0xd9 0x6b 0xa5 0xfc]
4) Gerar a RoundConstant: [0x04 0x00 0x00 0x00]
5) XOR de (3) com (4): [0xdd 0x6b 0xa5 0xfc]
6) XOR 1a. palavra da roundkey anterior com (5): [0xef 0x40 0xb8 0x6a]
0xef 0xf7 0x8c 0xd9
0x40 0xeb 0x8a 0x6f
0xb8 0xf2 0xa4 0xa1
0x6a 0x13 0xc9 0xe0
**** RoundKey=4 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0xd9 0x6f 0xa1 0xe0]
2) Rotacionar os bytes desta palavra (RotWord): [0x6f 0xa1 0xe0 0xd9]
3) Substituir os bytes da palavra (SubWord): [0xa8 0x32 0xe1 0x35]
4) Gerar a RoundConstant: [0x08 0x00 0x00 0x00]
5) XOR de (3) com (4): [0xa0 0x32 0xe1 0x35]
6) XOR 1a. palavra da roundkey anterior com (5): [0x4f 0x72 0x59 0x5f]
0x4f 0xb8 0x34 0xed
0x72 0x99 0x13 0x7c
0x59 0xab 0x0f 0xae
0x5f 0x4c 0x85 0x65
**** RoundKey=5 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0xed 0x7c 0xae 0x65]
2) Rotacionar os bytes desta palavra (RotWord): [0x7c 0xae 0x65 0xed]
3) Substituir os bytes da palavra (SubWord): [0x10 0xe4 0x4d 0x55]
4) Gerar a RoundConstant: [0x10 0x00 0x00 0x00]
5) XOR de (3) com (4): [0x00 0xe4 0x4d 0x55]
6) XOR 1a. palavra da roundkey anterior com (5): [0x4f 0x96 0x14 0x0a]
0x4f 0xf7 0xc3 0x2e
0x96 0x0f 0x1c 0x60
0x14 0xbf 0xb0 0x1e
0x0a 0x46 0xc3 0xa6
**** RoundKey=6 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0x2e 0x60 0x1e 0xa6]
2) Rotacionar os bytes desta palavra (RotWord): [0x60 0x1e 0xa6 0x2e]
3) Substituir os bytes da palavra (SubWord): [0xd0 0x72 0x24 0x31]
4) Gerar a RoundConstant: [0x20 0x00 0x00 0x00]
5) XOR de (3) com (4): [0xf0 0x72 0x24 0x31]
6) XOR 1a. palavra da roundkey anterior com (5): [0xbf 0xe4 0x30 0x3b]
0xbf 0x48 0x8b 0xa5
0xe4 0xeb 0xf7 0x97
0x30 0x8f 0x3f 0x21
0x3b 0x7d 0xbe 0x18
**** RoundKey=7 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0xa5 0x97 0x21 0x18]
2) Rotacionar os bytes desta palavra (RotWord): [0x97 0x21 0x18 0xa5]
3) Substituir os bytes da palavra (SubWord): [0x88 0xfd 0xad 0x06]
4) Gerar a RoundConstant: [0x40 0x00 0x00 0x00]
5) XOR de (3) com (4): [0xc8 0xfd 0xad 0x06]
6) XOR 1a. palavra da roundkey anterior com (5): [0x77 0x19 0x9d 0x3d]
0x77 0x3f 0xb4 0x11
0x19 0xf2 0x05 0x92
0x9d 0x12 0x2d 0x0c
0x3d 0x40 0xfe 0xe6
**** RoundKey=8 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0x11 0x92 0x0c 0xe6]
2) Rotacionar os bytes desta palavra (RotWord): [0x92 0x0c 0xe6 0x11]
3) Substituir os bytes da palavra (SubWord): [0x4f 0xfe 0x8e 0x82]
4) Gerar a RoundConstant: [0x80 0x00 0x00 0x00]
5) XOR de (3) com (4): [0xcf 0xfe 0x8e 0x82]
6) XOR 1a. palavra da roundkey anterior com (5): [0xb8 0xe7 0x13 0xbf]
0xb8 0x87 0x33 0x22
0xe7 0x15 0x10 0x82
0x13 0x01 0x2c 0x20
0xbf 0xff 0x01 0xe7
**** RoundKey=9 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0x22 0x82 0x20 0xe7]
2) Rotacionar os bytes desta palavra (RotWord): [0x82 0x20 0xe7 0x22]
3) Substituir os bytes da palavra (SubWord): [0x13 0xb7 0x94 0x93]
4) Gerar a RoundConstant: [0x1b 0x00 0x00 0x00]
5) XOR de (3) com (4): [0x08 0xb7 0x94 0x93]
6) XOR 1a. palavra da roundkey anterior com (5): [0xb0 0x50 0x87 0x2c]
0xb0 0x37 0x04 0x26
0x50 0x45 0x55 0xd7
0x87 0x86 0xaa 0x8a
0x2c 0xd3 0xd2 0x35
**** RoundKey=10 ****
Etapas para geração da primeira word
1) CΓ³pia da ΓΊltima palavra da roundkey anterior: [0x26 0xd7 0x8a 0x35]
2) Rotacionar os bytes desta palavra (RotWord): [0xd7 0x8a 0x35 0x26]
3) Substituir os bytes da palavra (SubWord): [0x0e 0x7e 0x96 0xf7]
4) Gerar a RoundConstant: [0x36 0x00 0x00 0x00]
5) XOR de (3) com (4): [0x38 0x7e 0x96 0xf7]
6) XOR 1a. palavra da roundkey anterior com (5): [0x88 0x2e 0x11 0xdb]
0x88 0xbf 0xbb 0x9d
0x2e 0x6b 0x3e 0xe9
0x11 0x97 0x3d 0xb7
0xdb 0x08 0xda 0xef
**** Texto simples ****
0x44 0x4e 0x56 0x4e
0x45 0x56 0x49 0x54
0x53 0x4f 0x4d 0x4f
0x45 0x4c 0x45 0x21
**** AddRoundKey-Round 0 ****
0x05 0x0b 0x1f 0x03
0x07 0x10 0x03 0x1a
0x10 0x08 0x06 0x00
0x01 0x04 0x09 0x71
**** SubBytes-Round 1 ****
0x6b 0x2b 0xc0 0x7b
0xc5 0xca 0x7b 0xa2
0xca 0x30 0x6f 0x63
0x7c 0xf2 0x01 0xa3
**** ShiftRows-Round 1 ****
0x6b 0x2b 0xc0 0x7b
0xca 0x7b 0xa2 0xc5
0x6f 0x63 0xca 0x30
0xa3 0x7c 0xf2 0x01
AQUI
**** MixedColumns-Round 1 ****
0x5f 0xc4 0x5e 0x93
0xf6 0x04 0x28 0xbb
0x81 0x12 0xe0 0xdd
0x45 0x9d 0xcc 0x7a
**** addRoundKey-Round 1 ****
0x30 0xee 0x3d 0xbd
0x30 0x84 0xe2 0x3f
0x91 0x45 0xfc 0x8e
0xe2 0x72 0x6f 0x89
**** SubBytes-Round 2 ****
0x04 0x28 0x27 0x7a
0x04 0x5f 0x98 0x75
0x81 0x6e 0xb0 0x19
0x98 0x40 0xa8 0xa7
**** ShiftRows-Round 2 ****
0x04 0x28 0x27 0x7a
0x5f 0x98 0x75 0x04
0xb0 0x19 0x81 0x6e
0xa7 0x98 0x40 0xa8
**** MixedColumns-Round 2 ****
0xfe 0x62 0x10 0x3e
0xd6 0xb0 0x15 0x68
0xd2 0x31 0x8b 0x41
0xb6 0xd2 0x1d 0xaf
**** addRoundKey-Round 2 ****
0xcc 0x7a 0x6b 0x6b
0xfd 0x1b 0x74 0x8d
0xcf 0x7b 0xdd 0x44
0x20 0xab 0xc7 0x86
**** SubBytes-Round 3 ****
0x4b 0xda 0x7f 0x7f
0x54 0xaf 0x92 0x5d
0x8a 0x21 0xc1 0x1b
0xb7 0x62 0xc6 0x44
**** ShiftRows-Round 3 ****
0x4b 0xda 0x7f 0x7f
0xaf 0x92 0x5d 0x54
0xc1 0x1b 0x8a 0x21
0x44 0xb7 0x62 0xc6
**** MixedColumns-Round 3 ****
0xf9 0xae 0xf1 0xe5
0x12 0x7f 0x22 0x72
0xb1 0xbc 0x8b 0x38
0x3b 0x89 0x92 0x63
**** addRoundKey-Round 3 ****
0x16 0x59 0x7d 0x3c
0x52 0x94 0xa8 0x1d
0x09 0x4e 0x2f 0x99
0x51 0x9a 0x5b 0x83
**** SubBytes-Round 4 ****
0x47 0xcb 0xff 0xeb
0x00 0x22 0xc2 0xa4
0x01 0x2f 0x15 0xee
0xd1 0xb8 0x39 0xec
**** ShiftRows-Round 4 ****
0x47 0xcb 0xff 0xeb
0x22 0xc2 0xa4 0x00
0x15 0xee 0x01 0x2f
0xec 0xd1 0xb8 0x39
**** MixedColumns-Round 4 ****
0x11 0xef 0xab 0xdb
0xd0 0xac 0x17 0xa3
0x60 0xa6 0x8a 0xfe
0x3d 0xd3 0xd4 0x7b
**** addRoundKey-Round 4 ****
0x5e 0x57 0x9f 0x36
0xa2 0x35 0x04 0xdf
0x39 0x0d 0x85 0x50
0x62 0x9f 0x51 0x1e
**** SubBytes-Round 5 ****
0x58 0x5b 0xdb 0x05
0x3a 0x96 0xf2 0x9e
0x12 0xd7 0x97 0x53
0xaa 0xdb 0xd1 0x72
**** ShiftRows-Round 5 ****
0x58 0x5b 0xdb 0x05
0x96 0xf2 0x9e 0x3a
0x97 0x53 0x12 0xd7
0x72 0xaa 0xdb 0xd1
**** MixedColumns-Round 5 ****
0xf4 0x42 0xdd 0x42
0xbf 0xfb 0x11 0xc2
0x6d 0xea 0x17 0xe2
0x0d 0x03 0x57 0x5b
**** addRoundKey-Round 5 ****
0xbb 0xb5 0x1e 0x6c
0x29 0xf4 0x0d 0xa2
0x79 0x55 0xa7 0xfc
0x07 0x45 0x94 0xfd
**** SubBytes-Round 6 ****
0xea 0xd5 0x72 0x50
0xa5 0xbf 0xd7 0x3a
0xb6 0xfc 0x5c 0xb0
0xc5 0x6e 0x22 0x54
**** ShiftRows-Round 6 ****
0xea 0xd5 0x72 0x50
0xbf 0xd7 0x3a 0xa5
0x5c 0xb0 0xb6 0xfc
0x54 0xc5 0x6e 0x22
**** MixedColumns-Round 6 ****
0x1d 0xa6 0x72 0x8a
0x3f 0x6e 0xa9 0x3c
0x11 0x2d 0x8d 0x70
0x6e 0x92 0xc6 0xed
**** addRoundKey-Round 6 ****
0xa2 0xee 0xf9 0x2f
0xdb 0x85 0x5e 0xab
0x21 0xa2 0xb2 0x51
0x55 0xef 0x78 0xf5
**** SubBytes-Round 7 ****
0x3a 0x28 0x99 0x15
0xb9 0x97 0x58 0x62
0xfd 0x3a 0x37 0xd1
0xfc 0xdf 0xbc 0xe6
**** ShiftRows-Round 7 ****
0x3a 0x28 0x99 0x15
0x97 0x58 0x62 0xb9
0x37 0xd1 0xfd 0x3a
0xe6 0xfc 0xdf 0xbc
**** MixedColumns-Round 7 ****
0x07 0x95 0xad 0x7c
0xb0 0x0c 0x9e 0x8e
0xf2 0xd6 0x60 0x07
0x39 0x12 0x8a 0xdf
**** addRoundKey-Round 7 ****
0x70 0xaa 0x19 0x6d
0xa9 0xfe 0x9b 0x1c
0x6f 0xc4 0x4d 0x0b
0x04 0x52 0x74 0x39
**** SubBytes-Round 8 ****
0x51 0xac 0xd4 0x3c
0xd3 0xbb 0x14 0x9c
0xa8 0x1c 0xe3 0x2b
0xf2 0x00 0x92 0x12
**** ShiftRows-Round 8 ****
0x51 0xac 0xd4 0x3c
0xbb 0x14 0x9c 0xd3
0xe3 0x2b 0xa8 0x1c
0x12 0xf2 0x00 0x92
**** MixedColumns-Round 8 ****
0x85 0xa6 0xa4 0x98
0x10 0x0b 0x14 0x37
0x01 0xe3 0x03 0x7a
0x8f 0x2f 0x53 0xb4
**** addRoundKey-Round 8 ****
0x3d 0x21 0x97 0xba
0xf7 0x1e 0x04 0xb5
0x12 0xe2 0x2f 0x5a
0x30 0xd0 0x52 0x53
**** SubBytes-Round 9 ****
0x27 0xfd 0x88 0xf4
0x68 0x72 0xf2 0xd5
0xc9 0x98 0x15 0xbe
0x04 0x70 0x00 0xed
**** ShiftRows-Round 9 ****
0x27 0xfd 0x88 0xf4
0x72 0xf2 0xd5 0x68
0x15 0xbe 0xc9 0x98
0xed 0x04 0x70 0x00
**** MixedColumns-Round 9 ****
0x20 0x56 0xd6 0xd3
0x11 0xdf 0x09 0x97
0x53 0x64 0x44 0xb7
0xcf 0x58 0x7f 0xf7
**** addRoundKey-Round 9 ****
0x90 0x61 0xd2 0xf5
0x41 0x9a 0x5c 0x40
0xd4 0xe2 0xee 0x3d
0xe3 0x8b 0xad 0xc2
**** SubBytes-Round 10 ****
0x60 0xef 0xb5 0xe6
0x83 0xb8 0x4a 0x09
0x48 0x98 0x28 0x27
0x11 0x3d 0x95 0x25
**** ShiftRows-Round 10 ****
0x60 0xef 0xb5 0xe6
0xb8 0x4a 0x09 0x83
0x28 0x27 0x48 0x98
0x25 0x11 0x3d 0x95
**** addRoundKey-Round 10 ****
0xe8 0x50 0x0e 0x7b
0x96 0x21 0x37 0x6a
0x39 0xb0 0x75 0x2f
0xfe 0x19 0xe7 0x7a
**** Texto cifrado ****
0xe8 0x50 0x0e 0x7b
0x96 0x21 0x37 0x6a
0x39 0xb0 0x75 0x2f
0xfe 0x19 0xe7 0x7a