OLD | NEW |
| (Empty) |
1 .text | |
2 #ifdef OPENSSL_FIPSCANISTER | |
3 # include <openssl/fipssyms.h> | |
4 #endif | |
5 | |
6 #if !defined(__vxworks) || defined(__pic__) | |
7 .option pic2 | |
8 #endif | |
9 .set noat | |
10 .align 5 | |
11 .ent _mips_AES_encrypt | |
12 _mips_AES_encrypt: | |
13 .frame $29,0,$31 | |
14 .set reorder | |
15 lw $12,0($6) | |
16 lw $13,4($6) | |
17 lw $14,8($6) | |
18 lw $15,12($6) | |
19 lw $30,240($6) | |
20 add $3,$6,16 | |
21 | |
22 xor $8,$12 | |
23 xor $9,$13 | |
24 xor $10,$14 | |
25 xor $11,$15 | |
26 | |
27 sub $30,1 | |
28 srl $1,$9,6 | |
29 .Loop_enc: | |
30 srl $2,$10,6 | |
31 srl $24,$11,6 | |
32 srl $25,$8,6 | |
33 and $1,0x3fc | |
34 and $2,0x3fc | |
35 and $24,0x3fc | |
36 and $25,0x3fc | |
37 add $1,$7 | |
38 add $2,$7 | |
39 add $24,$7 | |
40 add $25,$7 | |
41 lwl $12,2($1) # Te1[s1>>16] | |
42 lwl $13,2($2) # Te1[s2>>16] | |
43 lwl $14,2($24) # Te1[s3>>16] | |
44 lwl $15,2($25) # Te1[s0>>16] | |
45 lwr $12,3($1) # Te1[s1>>16] | |
46 lwr $13,3($2) # Te1[s2>>16] | |
47 lwr $14,3($24) # Te1[s3>>16] | |
48 lwr $15,3($25) # Te1[s0>>16] | |
49 | |
50 srl $1,$10,14 | |
51 srl $2,$11,14 | |
52 srl $24,$8,14 | |
53 srl $25,$9,14 | |
54 and $1,0x3fc | |
55 and $2,0x3fc | |
56 and $24,0x3fc | |
57 and $25,0x3fc | |
58 add $1,$7 | |
59 add $2,$7 | |
60 add $24,$7 | |
61 add $25,$7 | |
62 lwl $16,1($1) # Te2[s2>>8] | |
63 lwl $17,1($2) # Te2[s3>>8] | |
64 lwl $18,1($24) # Te2[s0>>8] | |
65 lwl $19,1($25) # Te2[s1>>8] | |
66 lwr $16,2($1) # Te2[s2>>8] | |
67 lwr $17,2($2) # Te2[s3>>8] | |
68 lwr $18,2($24) # Te2[s0>>8] | |
69 lwr $19,2($25) # Te2[s1>>8] | |
70 | |
71 srl $1,$11,22 | |
72 srl $2,$8,22 | |
73 srl $24,$9,22 | |
74 srl $25,$10,22 | |
75 and $1,0x3fc | |
76 and $2,0x3fc | |
77 and $24,0x3fc | |
78 and $25,0x3fc | |
79 add $1,$7 | |
80 add $2,$7 | |
81 add $24,$7 | |
82 add $25,$7 | |
83 lwl $20,0($1) # Te3[s3] | |
84 lwl $21,0($2) # Te3[s0] | |
85 lwl $22,0($24) # Te3[s1] | |
86 lwl $23,0($25) # Te3[s2] | |
87 lwr $20,1($1) # Te3[s3] | |
88 lwr $21,1($2) # Te3[s0] | |
89 lwr $22,1($24) # Te3[s1] | |
90 lwr $23,1($25) # Te3[s2] | |
91 | |
92 sll $1,$8,2 | |
93 sll $2,$9,2 | |
94 sll $24,$10,2 | |
95 sll $25,$11,2 | |
96 and $1,0x3fc | |
97 and $2,0x3fc | |
98 and $24,0x3fc | |
99 and $25,0x3fc | |
100 add $1,$7 | |
101 add $2,$7 | |
102 add $24,$7 | |
103 add $25,$7 | |
104 xor $12,$16 | |
105 xor $13,$17 | |
106 xor $14,$18 | |
107 xor $15,$19 | |
108 lw $16,0($1) # Te0[s0>>24] | |
109 lw $17,0($2) # Te0[s1>>24] | |
110 lw $18,0($24) # Te0[s2>>24] | |
111 lw $19,0($25) # Te0[s3>>24] | |
112 | |
113 lw $8,0($3) | |
114 lw $9,4($3) | |
115 lw $10,8($3) | |
116 lw $11,12($3) | |
117 | |
118 xor $12,$20 | |
119 xor $13,$21 | |
120 xor $14,$22 | |
121 xor $15,$23 | |
122 | |
123 xor $12,$16 | |
124 xor $13,$17 | |
125 xor $14,$18 | |
126 xor $15,$19 | |
127 | |
128 sub $30,1 | |
129 add $3,16 | |
130 xor $8,$12 | |
131 xor $9,$13 | |
132 xor $10,$14 | |
133 xor $11,$15 | |
134 .set noreorder | |
135 bnez $30,.Loop_enc | |
136 srl $1,$9,6 | |
137 | |
138 .set reorder | |
139 srl $2,$10,6 | |
140 srl $24,$11,6 | |
141 srl $25,$8,6 | |
142 and $1,0x3fc | |
143 and $2,0x3fc | |
144 and $24,0x3fc | |
145 and $25,0x3fc | |
146 add $1,$7 | |
147 add $2,$7 | |
148 add $24,$7 | |
149 add $25,$7 | |
150 lbu $12,2($1) # Te4[s1>>16] | |
151 lbu $13,2($2) # Te4[s2>>16] | |
152 lbu $14,2($24) # Te4[s3>>16] | |
153 lbu $15,2($25) # Te4[s0>>16] | |
154 | |
155 srl $1,$10,14 | |
156 srl $2,$11,14 | |
157 srl $24,$8,14 | |
158 srl $25,$9,14 | |
159 and $1,0x3fc | |
160 and $2,0x3fc | |
161 and $24,0x3fc | |
162 and $25,0x3fc | |
163 add $1,$7 | |
164 add $2,$7 | |
165 add $24,$7 | |
166 add $25,$7 | |
167 lbu $16,2($1) # Te4[s2>>8] | |
168 lbu $17,2($2) # Te4[s3>>8] | |
169 lbu $18,2($24) # Te4[s0>>8] | |
170 lbu $19,2($25) # Te4[s1>>8] | |
171 | |
172 sll $1,$8,2 | |
173 sll $2,$9,2 | |
174 sll $24,$10,2 | |
175 sll $25,$11,2 | |
176 and $1,0x3fc | |
177 and $2,0x3fc | |
178 and $24,0x3fc | |
179 and $25,0x3fc | |
180 add $1,$7 | |
181 add $2,$7 | |
182 add $24,$7 | |
183 add $25,$7 | |
184 lbu $20,2($1) # Te4[s0>>24] | |
185 lbu $21,2($2) # Te4[s1>>24] | |
186 lbu $22,2($24) # Te4[s2>>24] | |
187 lbu $23,2($25) # Te4[s3>>24] | |
188 | |
189 srl $1,$11,22 | |
190 srl $2,$8,22 | |
191 srl $24,$9,22 | |
192 srl $25,$10,22 | |
193 and $1,0x3fc | |
194 and $2,0x3fc | |
195 and $24,0x3fc | |
196 and $25,0x3fc | |
197 | |
198 sll $12,$12,8 | |
199 sll $13,$13,8 | |
200 sll $14,$14,8 | |
201 sll $15,$15,8 | |
202 | |
203 sll $16,$16,16 | |
204 sll $17,$17,16 | |
205 sll $18,$18,16 | |
206 sll $19,$19,16 | |
207 | |
208 xor $12,$16 | |
209 xor $13,$17 | |
210 xor $14,$18 | |
211 xor $15,$19 | |
212 | |
213 add $1,$7 | |
214 add $2,$7 | |
215 add $24,$7 | |
216 add $25,$7 | |
217 lbu $16,2($1) # Te4[s3] | |
218 lbu $17,2($2) # Te4[s0] | |
219 lbu $18,2($24) # Te4[s1] | |
220 lbu $19,2($25) # Te4[s2] | |
221 | |
222 #sll $20,$20,0 | |
223 #sll $21,$21,0 | |
224 #sll $22,$22,0 | |
225 #sll $23,$23,0 | |
226 | |
227 lw $8,0($3) | |
228 lw $9,4($3) | |
229 lw $10,8($3) | |
230 lw $11,12($3) | |
231 | |
232 xor $12,$20 | |
233 xor $13,$21 | |
234 xor $14,$22 | |
235 xor $15,$23 | |
236 | |
237 sll $16,$16,24 | |
238 sll $17,$17,24 | |
239 sll $18,$18,24 | |
240 sll $19,$19,24 | |
241 | |
242 xor $12,$16 | |
243 xor $13,$17 | |
244 xor $14,$18 | |
245 xor $15,$19 | |
246 | |
247 xor $8,$12 | |
248 xor $9,$13 | |
249 xor $10,$14 | |
250 xor $11,$15 | |
251 | |
252 jr $31 | |
253 .end _mips_AES_encrypt | |
254 | |
255 .align 5 | |
256 .globl AES_encrypt | |
257 .ent AES_encrypt | |
258 AES_encrypt: | |
259 .frame $29,64,$31 | |
260 .mask 3237937152,-4 | |
261 .set noreorder | |
262 .cpload $25 | |
263 sub $29,64 | |
264 sw $31,64-1*4($29) | |
265 sw $30,64-2*4($29) | |
266 sw $23,64-3*4($29) | |
267 sw $22,64-4*4($29) | |
268 sw $21,64-5*4($29) | |
269 sw $20,64-6*4($29) | |
270 sw $19,64-7*4($29) | |
271 sw $18,64-8*4($29) | |
272 sw $17,64-9*4($29) | |
273 sw $16,64-10*4($29) | |
274 .set reorder | |
275 la $7,AES_Te # PIC-ified 'load address' | |
276 | |
277 lwl $8,0+3($4) | |
278 lwl $9,4+3($4) | |
279 lwl $10,8+3($4) | |
280 lwl $11,12+3($4) | |
281 lwr $8,0+0($4) | |
282 lwr $9,4+0($4) | |
283 lwr $10,8+0($4) | |
284 lwr $11,12+0($4) | |
285 | |
286 bal _mips_AES_encrypt | |
287 | |
288 swr $8,0+0($5) | |
289 swr $9,4+0($5) | |
290 swr $10,8+0($5) | |
291 swr $11,12+0($5) | |
292 swl $8,0+3($5) | |
293 swl $9,4+3($5) | |
294 swl $10,8+3($5) | |
295 swl $11,12+3($5) | |
296 | |
297 .set noreorder | |
298 lw $31,64-1*4($29) | |
299 lw $30,64-2*4($29) | |
300 lw $23,64-3*4($29) | |
301 lw $22,64-4*4($29) | |
302 lw $21,64-5*4($29) | |
303 lw $20,64-6*4($29) | |
304 lw $19,64-7*4($29) | |
305 lw $18,64-8*4($29) | |
306 lw $17,64-9*4($29) | |
307 lw $16,64-10*4($29) | |
308 jr $31 | |
309 add $29,64 | |
310 .end AES_encrypt | |
311 .align 5 | |
312 .ent _mips_AES_decrypt | |
313 _mips_AES_decrypt: | |
314 .frame $29,0,$31 | |
315 .set reorder | |
316 lw $12,0($6) | |
317 lw $13,4($6) | |
318 lw $14,8($6) | |
319 lw $15,12($6) | |
320 lw $30,240($6) | |
321 add $3,$6,16 | |
322 | |
323 xor $8,$12 | |
324 xor $9,$13 | |
325 xor $10,$14 | |
326 xor $11,$15 | |
327 | |
328 sub $30,1 | |
329 srl $1,$11,6 | |
330 .Loop_dec: | |
331 srl $2,$8,6 | |
332 srl $24,$9,6 | |
333 srl $25,$10,6 | |
334 and $1,0x3fc | |
335 and $2,0x3fc | |
336 and $24,0x3fc | |
337 and $25,0x3fc | |
338 add $1,$7 | |
339 add $2,$7 | |
340 add $24,$7 | |
341 add $25,$7 | |
342 lwl $12,2($1) # Td1[s3>>16] | |
343 lwl $13,2($2) # Td1[s0>>16] | |
344 lwl $14,2($24) # Td1[s1>>16] | |
345 lwl $15,2($25) # Td1[s2>>16] | |
346 lwr $12,3($1) # Td1[s3>>16] | |
347 lwr $13,3($2) # Td1[s0>>16] | |
348 lwr $14,3($24) # Td1[s1>>16] | |
349 lwr $15,3($25) # Td1[s2>>16] | |
350 | |
351 srl $1,$10,14 | |
352 srl $2,$11,14 | |
353 srl $24,$8,14 | |
354 srl $25,$9,14 | |
355 and $1,0x3fc | |
356 and $2,0x3fc | |
357 and $24,0x3fc | |
358 and $25,0x3fc | |
359 add $1,$7 | |
360 add $2,$7 | |
361 add $24,$7 | |
362 add $25,$7 | |
363 lwl $16,1($1) # Td2[s2>>8] | |
364 lwl $17,1($2) # Td2[s3>>8] | |
365 lwl $18,1($24) # Td2[s0>>8] | |
366 lwl $19,1($25) # Td2[s1>>8] | |
367 lwr $16,2($1) # Td2[s2>>8] | |
368 lwr $17,2($2) # Td2[s3>>8] | |
369 lwr $18,2($24) # Td2[s0>>8] | |
370 lwr $19,2($25) # Td2[s1>>8] | |
371 | |
372 srl $1,$9,22 | |
373 srl $2,$10,22 | |
374 srl $24,$11,22 | |
375 srl $25,$8,22 | |
376 and $1,0x3fc | |
377 and $2,0x3fc | |
378 and $24,0x3fc | |
379 and $25,0x3fc | |
380 add $1,$7 | |
381 add $2,$7 | |
382 add $24,$7 | |
383 add $25,$7 | |
384 lwl $20,0($1) # Td3[s1] | |
385 lwl $21,0($2) # Td3[s2] | |
386 lwl $22,0($24) # Td3[s3] | |
387 lwl $23,0($25) # Td3[s0] | |
388 lwr $20,1($1) # Td3[s1] | |
389 lwr $21,1($2) # Td3[s2] | |
390 lwr $22,1($24) # Td3[s3] | |
391 lwr $23,1($25) # Td3[s0] | |
392 | |
393 sll $1,$8,2 | |
394 sll $2,$9,2 | |
395 sll $24,$10,2 | |
396 sll $25,$11,2 | |
397 and $1,0x3fc | |
398 and $2,0x3fc | |
399 and $24,0x3fc | |
400 and $25,0x3fc | |
401 add $1,$7 | |
402 add $2,$7 | |
403 add $24,$7 | |
404 add $25,$7 | |
405 | |
406 xor $12,$16 | |
407 xor $13,$17 | |
408 xor $14,$18 | |
409 xor $15,$19 | |
410 | |
411 | |
412 lw $16,0($1) # Td0[s0>>24] | |
413 lw $17,0($2) # Td0[s1>>24] | |
414 lw $18,0($24) # Td0[s2>>24] | |
415 lw $19,0($25) # Td0[s3>>24] | |
416 | |
417 lw $8,0($3) | |
418 lw $9,4($3) | |
419 lw $10,8($3) | |
420 lw $11,12($3) | |
421 | |
422 xor $12,$20 | |
423 xor $13,$21 | |
424 xor $14,$22 | |
425 xor $15,$23 | |
426 | |
427 xor $12,$16 | |
428 xor $13,$17 | |
429 xor $14,$18 | |
430 xor $15,$19 | |
431 | |
432 sub $30,1 | |
433 add $3,16 | |
434 xor $8,$12 | |
435 xor $9,$13 | |
436 xor $10,$14 | |
437 xor $11,$15 | |
438 .set noreorder | |
439 bnez $30,.Loop_dec | |
440 srl $1,$11,6 | |
441 | |
442 .set reorder | |
443 lw $16,1024($7) # prefetch Td4 | |
444 lw $17,1024+32($7) | |
445 lw $18,1024+64($7) | |
446 lw $19,1024+96($7) | |
447 lw $20,1024+128($7) | |
448 lw $21,1024+160($7) | |
449 lw $22,1024+192($7) | |
450 lw $23,1024+224($7) | |
451 | |
452 srl $1,$11,8 | |
453 srl $2,$8,8 | |
454 srl $24,$9,8 | |
455 srl $25,$10,8 | |
456 and $1,0xff | |
457 and $2,0xff | |
458 and $24,0xff | |
459 and $25,0xff | |
460 add $1,$7 | |
461 add $2,$7 | |
462 add $24,$7 | |
463 add $25,$7 | |
464 lbu $12,1024($1) # Td4[s3>>16] | |
465 lbu $13,1024($2) # Td4[s0>>16] | |
466 lbu $14,1024($24) # Td4[s1>>16] | |
467 lbu $15,1024($25) # Td4[s2>>16] | |
468 | |
469 srl $1,$10,16 | |
470 srl $2,$11,16 | |
471 srl $24,$8,16 | |
472 srl $25,$9,16 | |
473 and $1,0xff | |
474 and $2,0xff | |
475 and $24,0xff | |
476 and $25,0xff | |
477 add $1,$7 | |
478 add $2,$7 | |
479 add $24,$7 | |
480 add $25,$7 | |
481 lbu $16,1024($1) # Td4[s2>>8] | |
482 lbu $17,1024($2) # Td4[s3>>8] | |
483 lbu $18,1024($24) # Td4[s0>>8] | |
484 lbu $19,1024($25) # Td4[s1>>8] | |
485 | |
486 and $1,$8,0xff | |
487 and $2,$9,0xff | |
488 and $24,$10,0xff | |
489 and $25,$11,0xff | |
490 add $1,$7 | |
491 add $2,$7 | |
492 add $24,$7 | |
493 add $25,$7 | |
494 lbu $20,1024($1) # Td4[s0>>24] | |
495 lbu $21,1024($2) # Td4[s1>>24] | |
496 lbu $22,1024($24) # Td4[s2>>24] | |
497 lbu $23,1024($25) # Td4[s3>>24] | |
498 | |
499 srl $1,$9,24 | |
500 srl $2,$10,24 | |
501 srl $24,$11,24 | |
502 srl $25,$8,24 | |
503 | |
504 sll $12,$12,8 | |
505 sll $13,$13,8 | |
506 sll $14,$14,8 | |
507 sll $15,$15,8 | |
508 | |
509 sll $16,$16,16 | |
510 sll $17,$17,16 | |
511 sll $18,$18,16 | |
512 sll $19,$19,16 | |
513 | |
514 xor $12,$16 | |
515 xor $13,$17 | |
516 xor $14,$18 | |
517 xor $15,$19 | |
518 | |
519 add $1,$7 | |
520 add $2,$7 | |
521 add $24,$7 | |
522 add $25,$7 | |
523 lbu $16,1024($1) # Td4[s1] | |
524 lbu $17,1024($2) # Td4[s2] | |
525 lbu $18,1024($24) # Td4[s3] | |
526 lbu $19,1024($25) # Td4[s0] | |
527 | |
528 #sll $20,$20,0 | |
529 #sll $21,$21,0 | |
530 #sll $22,$22,0 | |
531 #sll $23,$23,0 | |
532 | |
533 lw $8,0($3) | |
534 lw $9,4($3) | |
535 lw $10,8($3) | |
536 lw $11,12($3) | |
537 | |
538 sll $16,$16,24 | |
539 sll $17,$17,24 | |
540 sll $18,$18,24 | |
541 sll $19,$19,24 | |
542 | |
543 | |
544 xor $12,$20 | |
545 xor $13,$21 | |
546 xor $14,$22 | |
547 xor $15,$23 | |
548 | |
549 xor $12,$16 | |
550 xor $13,$17 | |
551 xor $14,$18 | |
552 xor $15,$19 | |
553 | |
554 xor $8,$12 | |
555 xor $9,$13 | |
556 xor $10,$14 | |
557 xor $11,$15 | |
558 | |
559 jr $31 | |
560 .end _mips_AES_decrypt | |
561 | |
562 .align 5 | |
563 .globl AES_decrypt | |
564 .ent AES_decrypt | |
565 AES_decrypt: | |
566 .frame $29,64,$31 | |
567 .mask 3237937152,-4 | |
568 .set noreorder | |
569 .cpload $25 | |
570 sub $29,64 | |
571 sw $31,64-1*4($29) | |
572 sw $30,64-2*4($29) | |
573 sw $23,64-3*4($29) | |
574 sw $22,64-4*4($29) | |
575 sw $21,64-5*4($29) | |
576 sw $20,64-6*4($29) | |
577 sw $19,64-7*4($29) | |
578 sw $18,64-8*4($29) | |
579 sw $17,64-9*4($29) | |
580 sw $16,64-10*4($29) | |
581 .set reorder | |
582 la $7,AES_Td # PIC-ified 'load address' | |
583 | |
584 lwl $8,0+3($4) | |
585 lwl $9,4+3($4) | |
586 lwl $10,8+3($4) | |
587 lwl $11,12+3($4) | |
588 lwr $8,0+0($4) | |
589 lwr $9,4+0($4) | |
590 lwr $10,8+0($4) | |
591 lwr $11,12+0($4) | |
592 | |
593 bal _mips_AES_decrypt | |
594 | |
595 swr $8,0+0($5) | |
596 swr $9,4+0($5) | |
597 swr $10,8+0($5) | |
598 swr $11,12+0($5) | |
599 swl $8,0+3($5) | |
600 swl $9,4+3($5) | |
601 swl $10,8+3($5) | |
602 swl $11,12+3($5) | |
603 | |
604 .set noreorder | |
605 lw $31,64-1*4($29) | |
606 lw $30,64-2*4($29) | |
607 lw $23,64-3*4($29) | |
608 lw $22,64-4*4($29) | |
609 lw $21,64-5*4($29) | |
610 lw $20,64-6*4($29) | |
611 lw $19,64-7*4($29) | |
612 lw $18,64-8*4($29) | |
613 lw $17,64-9*4($29) | |
614 lw $16,64-10*4($29) | |
615 jr $31 | |
616 add $29,64 | |
617 .end AES_decrypt | |
618 .align 5 | |
619 .ent _mips_AES_set_encrypt_key | |
620 _mips_AES_set_encrypt_key: | |
621 .frame $29,0,$31 | |
622 .set noreorder | |
623 beqz $4,.Lekey_done | |
624 li $2,-1 | |
625 beqz $6,.Lekey_done | |
626 add $3,$7,1024+256 | |
627 | |
628 .set reorder | |
629 lwl $8,0+3($4) # load 128 bits | |
630 lwl $9,4+3($4) | |
631 lwl $10,8+3($4) | |
632 lwl $11,12+3($4) | |
633 li $1,128 | |
634 lwr $8,0+0($4) | |
635 lwr $9,4+0($4) | |
636 lwr $10,8+0($4) | |
637 lwr $11,12+0($4) | |
638 .set noreorder | |
639 beq $5,$1,.L128bits | |
640 li $30,10 | |
641 | |
642 .set reorder | |
643 lwl $12,16+3($4) # load 192 bits | |
644 lwl $13,20+3($4) | |
645 li $1,192 | |
646 lwr $12,16+0($4) | |
647 lwr $13,20+0($4) | |
648 .set noreorder | |
649 beq $5,$1,.L192bits | |
650 li $30,8 | |
651 | |
652 .set reorder | |
653 lwl $14,24+3($4) # load 256 bits | |
654 lwl $15,28+3($4) | |
655 li $1,256 | |
656 lwr $14,24+0($4) | |
657 lwr $15,28+0($4) | |
658 .set noreorder | |
659 beq $5,$1,.L256bits | |
660 li $30,7 | |
661 | |
662 b .Lekey_done | |
663 li $2,-2 | |
664 | |
665 .align 4 | |
666 .L128bits: | |
667 .set reorder | |
668 srl $1,$11,16 | |
669 srl $2,$11,8 | |
670 and $1,0xff | |
671 and $2,0xff | |
672 and $24,$11,0xff | |
673 srl $25,$11,24 | |
674 add $1,$7 | |
675 add $2,$7 | |
676 add $24,$7 | |
677 add $25,$7 | |
678 lbu $1,1024($1) | |
679 lbu $2,1024($2) | |
680 lbu $24,1024($24) | |
681 lbu $25,1024($25) | |
682 | |
683 sw $8,0($6) | |
684 sw $9,4($6) | |
685 sw $10,8($6) | |
686 sw $11,12($6) | |
687 sub $30,1 | |
688 add $6,16 | |
689 | |
690 sll $1,$1,8 | |
691 #sll $2,$2,0 | |
692 sll $24,$24,24 | |
693 sll $25,$25,16 | |
694 | |
695 xor $8,$1 | |
696 lw $1,0($3) | |
697 xor $8,$2 | |
698 xor $8,$24 | |
699 xor $8,$25 | |
700 xor $8,$1 | |
701 | |
702 xor $9,$8 | |
703 xor $10,$9 | |
704 xor $11,$10 | |
705 | |
706 .set noreorder | |
707 bnez $30,.L128bits | |
708 add $3,4 | |
709 | |
710 sw $8,0($6) | |
711 sw $9,4($6) | |
712 sw $10,8($6) | |
713 li $30,10 | |
714 sw $11,12($6) | |
715 li $2,0 | |
716 sw $30,80($6) | |
717 b .Lekey_done | |
718 sub $6,10*16 | |
719 | |
720 .align 4 | |
721 .L192bits: | |
722 .set reorder | |
723 srl $1,$13,16 | |
724 srl $2,$13,8 | |
725 and $1,0xff | |
726 and $2,0xff | |
727 and $24,$13,0xff | |
728 srl $25,$13,24 | |
729 add $1,$7 | |
730 add $2,$7 | |
731 add $24,$7 | |
732 add $25,$7 | |
733 lbu $1,1024($1) | |
734 lbu $2,1024($2) | |
735 lbu $24,1024($24) | |
736 lbu $25,1024($25) | |
737 | |
738 sw $8,0($6) | |
739 sw $9,4($6) | |
740 sw $10,8($6) | |
741 sw $11,12($6) | |
742 sw $12,16($6) | |
743 sw $13,20($6) | |
744 sub $30,1 | |
745 add $6,24 | |
746 | |
747 sll $1,$1,8 | |
748 #sll $2,$2,0 | |
749 sll $24,$24,24 | |
750 sll $25,$25,16 | |
751 | |
752 xor $8,$1 | |
753 lw $1,0($3) | |
754 xor $8,$2 | |
755 xor $8,$24 | |
756 xor $8,$25 | |
757 xor $8,$1 | |
758 | |
759 xor $9,$8 | |
760 xor $10,$9 | |
761 xor $11,$10 | |
762 xor $12,$11 | |
763 xor $13,$12 | |
764 | |
765 .set noreorder | |
766 bnez $30,.L192bits | |
767 add $3,4 | |
768 | |
769 sw $8,0($6) | |
770 sw $9,4($6) | |
771 sw $10,8($6) | |
772 li $30,12 | |
773 sw $11,12($6) | |
774 li $2,0 | |
775 sw $30,48($6) | |
776 b .Lekey_done | |
777 sub $6,12*16 | |
778 | |
779 .align 4 | |
780 .L256bits: | |
781 .set reorder | |
782 srl $1,$15,16 | |
783 srl $2,$15,8 | |
784 and $1,0xff | |
785 and $2,0xff | |
786 and $24,$15,0xff | |
787 srl $25,$15,24 | |
788 add $1,$7 | |
789 add $2,$7 | |
790 add $24,$7 | |
791 add $25,$7 | |
792 lbu $1,1024($1) | |
793 lbu $2,1024($2) | |
794 lbu $24,1024($24) | |
795 lbu $25,1024($25) | |
796 | |
797 sw $8,0($6) | |
798 sw $9,4($6) | |
799 sw $10,8($6) | |
800 sw $11,12($6) | |
801 sw $12,16($6) | |
802 sw $13,20($6) | |
803 sw $14,24($6) | |
804 sw $15,28($6) | |
805 sub $30,1 | |
806 | |
807 sll $1,$1,8 | |
808 #sll $2,$2,0 | |
809 sll $24,$24,24 | |
810 sll $25,$25,16 | |
811 | |
812 xor $8,$1 | |
813 lw $1,0($3) | |
814 xor $8,$2 | |
815 xor $8,$24 | |
816 xor $8,$25 | |
817 xor $8,$1 | |
818 | |
819 xor $9,$8 | |
820 xor $10,$9 | |
821 xor $11,$10 | |
822 beqz $30,.L256bits_done | |
823 | |
824 srl $1,$11,24 | |
825 srl $2,$11,16 | |
826 srl $24,$11,8 | |
827 and $25,$11,0xff | |
828 and $2,0xff | |
829 and $24,0xff | |
830 add $1,$7 | |
831 add $2,$7 | |
832 add $24,$7 | |
833 add $25,$7 | |
834 lbu $1,1024($1) | |
835 lbu $2,1024($2) | |
836 lbu $24,1024($24) | |
837 lbu $25,1024($25) | |
838 sll $1,24 | |
839 sll $2,16 | |
840 sll $24,8 | |
841 | |
842 xor $12,$1 | |
843 xor $12,$2 | |
844 xor $12,$24 | |
845 xor $12,$25 | |
846 | |
847 xor $13,$12 | |
848 xor $14,$13 | |
849 xor $15,$14 | |
850 | |
851 add $6,32 | |
852 .set noreorder | |
853 b .L256bits | |
854 add $3,4 | |
855 | |
856 .L256bits_done: | |
857 sw $8,32($6) | |
858 sw $9,36($6) | |
859 sw $10,40($6) | |
860 li $30,14 | |
861 sw $11,44($6) | |
862 li $2,0 | |
863 sw $30,48($6) | |
864 sub $6,12*16 | |
865 | |
866 .Lekey_done: | |
867 jr $31 | |
868 nop | |
869 .end _mips_AES_set_encrypt_key | |
870 | |
871 .globl private_AES_set_encrypt_key | |
872 .ent private_AES_set_encrypt_key | |
873 private_AES_set_encrypt_key: | |
874 .frame $29,32,$31 | |
875 .mask 3221225472,-4 | |
876 .set noreorder | |
877 .cpload $25 | |
878 sub $29,32 | |
879 sw $31,32-1*4($29) | |
880 sw $30,32-2*4($29) | |
881 .set reorder | |
882 la $7,AES_Te # PIC-ified 'load address' | |
883 | |
884 bal _mips_AES_set_encrypt_key | |
885 | |
886 .set noreorder | |
887 move $4,$2 | |
888 lw $31,32-1*4($29) | |
889 lw $30,32-2*4($29) | |
890 jr $31 | |
891 add $29,32 | |
892 .end private_AES_set_encrypt_key | |
893 .align 5 | |
894 .globl private_AES_set_decrypt_key | |
895 .ent private_AES_set_decrypt_key | |
896 private_AES_set_decrypt_key: | |
897 .frame $29,32,$31 | |
898 .mask 3221225472,-4 | |
899 .set noreorder | |
900 .cpload $25 | |
901 sub $29,32 | |
902 sw $31,32-1*4($29) | |
903 sw $30,32-2*4($29) | |
904 .set reorder | |
905 la $7,AES_Te # PIC-ified 'load address' | |
906 | |
907 bal _mips_AES_set_encrypt_key | |
908 | |
909 bltz $2,.Ldkey_done | |
910 | |
911 sll $1,$30,4 | |
912 add $4,$6,0 | |
913 add $5,$6,$1 | |
914 .align 4 | |
915 .Lswap: | |
916 lw $8,0($4) | |
917 lw $9,4($4) | |
918 lw $10,8($4) | |
919 lw $11,12($4) | |
920 lw $12,0($5) | |
921 lw $13,4($5) | |
922 lw $14,8($5) | |
923 lw $15,12($5) | |
924 sw $8,0($5) | |
925 sw $9,4($5) | |
926 sw $10,8($5) | |
927 sw $11,12($5) | |
928 add $4,16 | |
929 sub $5,16 | |
930 sw $12,-16($4) | |
931 sw $13,-12($4) | |
932 sw $14,-8($4) | |
933 sw $15,-4($4) | |
934 bne $4,$5,.Lswap | |
935 | |
936 lw $8,16($6) # modulo-scheduled | |
937 lui $2,0x8080 | |
938 sub $30,1 | |
939 or $2,0x8080 | |
940 sll $30,2 | |
941 add $6,16 | |
942 lui $25,0x1b1b | |
943 nor $24,$0,$2 | |
944 or $25,0x1b1b | |
945 .align 4 | |
946 .Lmix: | |
947 and $1,$8,$2 | |
948 and $9,$8,$24 | |
949 srl $10,$1,7 | |
950 addu $9,$9 # tp2<<1 | |
951 subu $1,$10 | |
952 and $1,$25 | |
953 xor $9,$1 | |
954 | |
955 and $1,$9,$2 | |
956 and $10,$9,$24 | |
957 srl $11,$1,7 | |
958 addu $10,$10 # tp4<<1 | |
959 subu $1,$11 | |
960 and $1,$25 | |
961 xor $10,$1 | |
962 | |
963 and $1,$10,$2 | |
964 and $11,$10,$24 | |
965 srl $12,$1,7 | |
966 addu $11,$11 # tp8<<1 | |
967 subu $1,$12 | |
968 and $1,$25 | |
969 xor $11,$1 | |
970 | |
971 xor $12,$11,$8 | |
972 xor $15,$11,$10 | |
973 xor $13,$12,$9 | |
974 xor $14,$12,$10 | |
975 | |
976 sll $8,$14,16 | |
977 xor $15,$9 | |
978 srl $9,$14,16 | |
979 xor $15,$8 | |
980 sll $8,$12,8 | |
981 xor $15,$9 | |
982 srl $9,$12,24 | |
983 xor $15,$8 | |
984 sll $8,$13,24 | |
985 xor $15,$9 | |
986 srl $9,$13,8 | |
987 xor $15,$8 | |
988 lw $8,4($6) # modulo-scheduled | |
989 xor $15,$9 | |
990 sub $30,1 | |
991 sw $15,0($6) | |
992 add $6,4 | |
993 bnez $30,.Lmix | |
994 | |
995 li $2,0 | |
996 .Ldkey_done: | |
997 .set noreorder | |
998 move $4,$2 | |
999 lw $31,32-1*4($29) | |
1000 lw $30,32-2*4($29) | |
1001 jr $31 | |
1002 add $29,32 | |
1003 .end private_AES_set_decrypt_key | |
1004 .rdata | |
1005 .align 6 | |
1006 AES_Te: | |
1007 .byte 0xc6,0x63,0x63,0xa5, 0xf8,0x7c,0x7c,0x84 # Te0 | |
1008 .byte 0xee,0x77,0x77,0x99, 0xf6,0x7b,0x7b,0x8d | |
1009 .byte 0xff,0xf2,0xf2,0x0d, 0xd6,0x6b,0x6b,0xbd | |
1010 .byte 0xde,0x6f,0x6f,0xb1, 0x91,0xc5,0xc5,0x54 | |
1011 .byte 0x60,0x30,0x30,0x50, 0x02,0x01,0x01,0x03 | |
1012 .byte 0xce,0x67,0x67,0xa9, 0x56,0x2b,0x2b,0x7d | |
1013 .byte 0xe7,0xfe,0xfe,0x19, 0xb5,0xd7,0xd7,0x62 | |
1014 .byte 0x4d,0xab,0xab,0xe6, 0xec,0x76,0x76,0x9a | |
1015 .byte 0x8f,0xca,0xca,0x45, 0x1f,0x82,0x82,0x9d | |
1016 .byte 0x89,0xc9,0xc9,0x40, 0xfa,0x7d,0x7d,0x87 | |
1017 .byte 0xef,0xfa,0xfa,0x15, 0xb2,0x59,0x59,0xeb | |
1018 .byte 0x8e,0x47,0x47,0xc9, 0xfb,0xf0,0xf0,0x0b | |
1019 .byte 0x41,0xad,0xad,0xec, 0xb3,0xd4,0xd4,0x67 | |
1020 .byte 0x5f,0xa2,0xa2,0xfd, 0x45,0xaf,0xaf,0xea | |
1021 .byte 0x23,0x9c,0x9c,0xbf, 0x53,0xa4,0xa4,0xf7 | |
1022 .byte 0xe4,0x72,0x72,0x96, 0x9b,0xc0,0xc0,0x5b | |
1023 .byte 0x75,0xb7,0xb7,0xc2, 0xe1,0xfd,0xfd,0x1c | |
1024 .byte 0x3d,0x93,0x93,0xae, 0x4c,0x26,0x26,0x6a | |
1025 .byte 0x6c,0x36,0x36,0x5a, 0x7e,0x3f,0x3f,0x41 | |
1026 .byte 0xf5,0xf7,0xf7,0x02, 0x83,0xcc,0xcc,0x4f | |
1027 .byte 0x68,0x34,0x34,0x5c, 0x51,0xa5,0xa5,0xf4 | |
1028 .byte 0xd1,0xe5,0xe5,0x34, 0xf9,0xf1,0xf1,0x08 | |
1029 .byte 0xe2,0x71,0x71,0x93, 0xab,0xd8,0xd8,0x73 | |
1030 .byte 0x62,0x31,0x31,0x53, 0x2a,0x15,0x15,0x3f | |
1031 .byte 0x08,0x04,0x04,0x0c, 0x95,0xc7,0xc7,0x52 | |
1032 .byte 0x46,0x23,0x23,0x65, 0x9d,0xc3,0xc3,0x5e | |
1033 .byte 0x30,0x18,0x18,0x28, 0x37,0x96,0x96,0xa1 | |
1034 .byte 0x0a,0x05,0x05,0x0f, 0x2f,0x9a,0x9a,0xb5 | |
1035 .byte 0x0e,0x07,0x07,0x09, 0x24,0x12,0x12,0x36 | |
1036 .byte 0x1b,0x80,0x80,0x9b, 0xdf,0xe2,0xe2,0x3d | |
1037 .byte 0xcd,0xeb,0xeb,0x26, 0x4e,0x27,0x27,0x69 | |
1038 .byte 0x7f,0xb2,0xb2,0xcd, 0xea,0x75,0x75,0x9f | |
1039 .byte 0x12,0x09,0x09,0x1b, 0x1d,0x83,0x83,0x9e | |
1040 .byte 0x58,0x2c,0x2c,0x74, 0x34,0x1a,0x1a,0x2e | |
1041 .byte 0x36,0x1b,0x1b,0x2d, 0xdc,0x6e,0x6e,0xb2 | |
1042 .byte 0xb4,0x5a,0x5a,0xee, 0x5b,0xa0,0xa0,0xfb | |
1043 .byte 0xa4,0x52,0x52,0xf6, 0x76,0x3b,0x3b,0x4d | |
1044 .byte 0xb7,0xd6,0xd6,0x61, 0x7d,0xb3,0xb3,0xce | |
1045 .byte 0x52,0x29,0x29,0x7b, 0xdd,0xe3,0xe3,0x3e | |
1046 .byte 0x5e,0x2f,0x2f,0x71, 0x13,0x84,0x84,0x97 | |
1047 .byte 0xa6,0x53,0x53,0xf5, 0xb9,0xd1,0xd1,0x68 | |
1048 .byte 0x00,0x00,0x00,0x00, 0xc1,0xed,0xed,0x2c | |
1049 .byte 0x40,0x20,0x20,0x60, 0xe3,0xfc,0xfc,0x1f | |
1050 .byte 0x79,0xb1,0xb1,0xc8, 0xb6,0x5b,0x5b,0xed | |
1051 .byte 0xd4,0x6a,0x6a,0xbe, 0x8d,0xcb,0xcb,0x46 | |
1052 .byte 0x67,0xbe,0xbe,0xd9, 0x72,0x39,0x39,0x4b | |
1053 .byte 0x94,0x4a,0x4a,0xde, 0x98,0x4c,0x4c,0xd4 | |
1054 .byte 0xb0,0x58,0x58,0xe8, 0x85,0xcf,0xcf,0x4a | |
1055 .byte 0xbb,0xd0,0xd0,0x6b, 0xc5,0xef,0xef,0x2a | |
1056 .byte 0x4f,0xaa,0xaa,0xe5, 0xed,0xfb,0xfb,0x16 | |
1057 .byte 0x86,0x43,0x43,0xc5, 0x9a,0x4d,0x4d,0xd7 | |
1058 .byte 0x66,0x33,0x33,0x55, 0x11,0x85,0x85,0x94 | |
1059 .byte 0x8a,0x45,0x45,0xcf, 0xe9,0xf9,0xf9,0x10 | |
1060 .byte 0x04,0x02,0x02,0x06, 0xfe,0x7f,0x7f,0x81 | |
1061 .byte 0xa0,0x50,0x50,0xf0, 0x78,0x3c,0x3c,0x44 | |
1062 .byte 0x25,0x9f,0x9f,0xba, 0x4b,0xa8,0xa8,0xe3 | |
1063 .byte 0xa2,0x51,0x51,0xf3, 0x5d,0xa3,0xa3,0xfe | |
1064 .byte 0x80,0x40,0x40,0xc0, 0x05,0x8f,0x8f,0x8a | |
1065 .byte 0x3f,0x92,0x92,0xad, 0x21,0x9d,0x9d,0xbc | |
1066 .byte 0x70,0x38,0x38,0x48, 0xf1,0xf5,0xf5,0x04 | |
1067 .byte 0x63,0xbc,0xbc,0xdf, 0x77,0xb6,0xb6,0xc1 | |
1068 .byte 0xaf,0xda,0xda,0x75, 0x42,0x21,0x21,0x63 | |
1069 .byte 0x20,0x10,0x10,0x30, 0xe5,0xff,0xff,0x1a | |
1070 .byte 0xfd,0xf3,0xf3,0x0e, 0xbf,0xd2,0xd2,0x6d | |
1071 .byte 0x81,0xcd,0xcd,0x4c, 0x18,0x0c,0x0c,0x14 | |
1072 .byte 0x26,0x13,0x13,0x35, 0xc3,0xec,0xec,0x2f | |
1073 .byte 0xbe,0x5f,0x5f,0xe1, 0x35,0x97,0x97,0xa2 | |
1074 .byte 0x88,0x44,0x44,0xcc, 0x2e,0x17,0x17,0x39 | |
1075 .byte 0x93,0xc4,0xc4,0x57, 0x55,0xa7,0xa7,0xf2 | |
1076 .byte 0xfc,0x7e,0x7e,0x82, 0x7a,0x3d,0x3d,0x47 | |
1077 .byte 0xc8,0x64,0x64,0xac, 0xba,0x5d,0x5d,0xe7 | |
1078 .byte 0x32,0x19,0x19,0x2b, 0xe6,0x73,0x73,0x95 | |
1079 .byte 0xc0,0x60,0x60,0xa0, 0x19,0x81,0x81,0x98 | |
1080 .byte 0x9e,0x4f,0x4f,0xd1, 0xa3,0xdc,0xdc,0x7f | |
1081 .byte 0x44,0x22,0x22,0x66, 0x54,0x2a,0x2a,0x7e | |
1082 .byte 0x3b,0x90,0x90,0xab, 0x0b,0x88,0x88,0x83 | |
1083 .byte 0x8c,0x46,0x46,0xca, 0xc7,0xee,0xee,0x29 | |
1084 .byte 0x6b,0xb8,0xb8,0xd3, 0x28,0x14,0x14,0x3c | |
1085 .byte 0xa7,0xde,0xde,0x79, 0xbc,0x5e,0x5e,0xe2 | |
1086 .byte 0x16,0x0b,0x0b,0x1d, 0xad,0xdb,0xdb,0x76 | |
1087 .byte 0xdb,0xe0,0xe0,0x3b, 0x64,0x32,0x32,0x56 | |
1088 .byte 0x74,0x3a,0x3a,0x4e, 0x14,0x0a,0x0a,0x1e | |
1089 .byte 0x92,0x49,0x49,0xdb, 0x0c,0x06,0x06,0x0a | |
1090 .byte 0x48,0x24,0x24,0x6c, 0xb8,0x5c,0x5c,0xe4 | |
1091 .byte 0x9f,0xc2,0xc2,0x5d, 0xbd,0xd3,0xd3,0x6e | |
1092 .byte 0x43,0xac,0xac,0xef, 0xc4,0x62,0x62,0xa6 | |
1093 .byte 0x39,0x91,0x91,0xa8, 0x31,0x95,0x95,0xa4 | |
1094 .byte 0xd3,0xe4,0xe4,0x37, 0xf2,0x79,0x79,0x8b | |
1095 .byte 0xd5,0xe7,0xe7,0x32, 0x8b,0xc8,0xc8,0x43 | |
1096 .byte 0x6e,0x37,0x37,0x59, 0xda,0x6d,0x6d,0xb7 | |
1097 .byte 0x01,0x8d,0x8d,0x8c, 0xb1,0xd5,0xd5,0x64 | |
1098 .byte 0x9c,0x4e,0x4e,0xd2, 0x49,0xa9,0xa9,0xe0 | |
1099 .byte 0xd8,0x6c,0x6c,0xb4, 0xac,0x56,0x56,0xfa | |
1100 .byte 0xf3,0xf4,0xf4,0x07, 0xcf,0xea,0xea,0x25 | |
1101 .byte 0xca,0x65,0x65,0xaf, 0xf4,0x7a,0x7a,0x8e | |
1102 .byte 0x47,0xae,0xae,0xe9, 0x10,0x08,0x08,0x18 | |
1103 .byte 0x6f,0xba,0xba,0xd5, 0xf0,0x78,0x78,0x88 | |
1104 .byte 0x4a,0x25,0x25,0x6f, 0x5c,0x2e,0x2e,0x72 | |
1105 .byte 0x38,0x1c,0x1c,0x24, 0x57,0xa6,0xa6,0xf1 | |
1106 .byte 0x73,0xb4,0xb4,0xc7, 0x97,0xc6,0xc6,0x51 | |
1107 .byte 0xcb,0xe8,0xe8,0x23, 0xa1,0xdd,0xdd,0x7c | |
1108 .byte 0xe8,0x74,0x74,0x9c, 0x3e,0x1f,0x1f,0x21 | |
1109 .byte 0x96,0x4b,0x4b,0xdd, 0x61,0xbd,0xbd,0xdc | |
1110 .byte 0x0d,0x8b,0x8b,0x86, 0x0f,0x8a,0x8a,0x85 | |
1111 .byte 0xe0,0x70,0x70,0x90, 0x7c,0x3e,0x3e,0x42 | |
1112 .byte 0x71,0xb5,0xb5,0xc4, 0xcc,0x66,0x66,0xaa | |
1113 .byte 0x90,0x48,0x48,0xd8, 0x06,0x03,0x03,0x05 | |
1114 .byte 0xf7,0xf6,0xf6,0x01, 0x1c,0x0e,0x0e,0x12 | |
1115 .byte 0xc2,0x61,0x61,0xa3, 0x6a,0x35,0x35,0x5f | |
1116 .byte 0xae,0x57,0x57,0xf9, 0x69,0xb9,0xb9,0xd0 | |
1117 .byte 0x17,0x86,0x86,0x91, 0x99,0xc1,0xc1,0x58 | |
1118 .byte 0x3a,0x1d,0x1d,0x27, 0x27,0x9e,0x9e,0xb9 | |
1119 .byte 0xd9,0xe1,0xe1,0x38, 0xeb,0xf8,0xf8,0x13 | |
1120 .byte 0x2b,0x98,0x98,0xb3, 0x22,0x11,0x11,0x33 | |
1121 .byte 0xd2,0x69,0x69,0xbb, 0xa9,0xd9,0xd9,0x70 | |
1122 .byte 0x07,0x8e,0x8e,0x89, 0x33,0x94,0x94,0xa7 | |
1123 .byte 0x2d,0x9b,0x9b,0xb6, 0x3c,0x1e,0x1e,0x22 | |
1124 .byte 0x15,0x87,0x87,0x92, 0xc9,0xe9,0xe9,0x20 | |
1125 .byte 0x87,0xce,0xce,0x49, 0xaa,0x55,0x55,0xff | |
1126 .byte 0x50,0x28,0x28,0x78, 0xa5,0xdf,0xdf,0x7a | |
1127 .byte 0x03,0x8c,0x8c,0x8f, 0x59,0xa1,0xa1,0xf8 | |
1128 .byte 0x09,0x89,0x89,0x80, 0x1a,0x0d,0x0d,0x17 | |
1129 .byte 0x65,0xbf,0xbf,0xda, 0xd7,0xe6,0xe6,0x31 | |
1130 .byte 0x84,0x42,0x42,0xc6, 0xd0,0x68,0x68,0xb8 | |
1131 .byte 0x82,0x41,0x41,0xc3, 0x29,0x99,0x99,0xb0 | |
1132 .byte 0x5a,0x2d,0x2d,0x77, 0x1e,0x0f,0x0f,0x11 | |
1133 .byte 0x7b,0xb0,0xb0,0xcb, 0xa8,0x54,0x54,0xfc | |
1134 .byte 0x6d,0xbb,0xbb,0xd6, 0x2c,0x16,0x16,0x3a | |
1135 | |
1136 .byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 # Te4 | |
1137 .byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76 | |
1138 .byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0 | |
1139 .byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0 | |
1140 .byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc | |
1141 .byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15 | |
1142 .byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a | |
1143 .byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75 | |
1144 .byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0 | |
1145 .byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84 | |
1146 .byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b | |
1147 .byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf | |
1148 .byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85 | |
1149 .byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8 | |
1150 .byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5 | |
1151 .byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2 | |
1152 .byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17 | |
1153 .byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73 | |
1154 .byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88 | |
1155 .byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb | |
1156 .byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c | |
1157 .byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79 | |
1158 .byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9 | |
1159 .byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08 | |
1160 .byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6 | |
1161 .byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a | |
1162 .byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e | |
1163 .byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e | |
1164 .byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94 | |
1165 .byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf | |
1166 .byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 | |
1167 .byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 | |
1168 | |
1169 .byte 0x01,0x00,0x00,0x00, 0x02,0x00,0x00,0x00 # rcon | |
1170 .byte 0x04,0x00,0x00,0x00, 0x08,0x00,0x00,0x00 | |
1171 .byte 0x10,0x00,0x00,0x00, 0x20,0x00,0x00,0x00 | |
1172 .byte 0x40,0x00,0x00,0x00, 0x80,0x00,0x00,0x00 | |
1173 .byte 0x1B,0x00,0x00,0x00, 0x36,0x00,0x00,0x00 | |
1174 | |
1175 .align 6 | |
1176 AES_Td: | |
1177 .byte 0x51,0xf4,0xa7,0x50, 0x7e,0x41,0x65,0x53 # Td0 | |
1178 .byte 0x1a,0x17,0xa4,0xc3, 0x3a,0x27,0x5e,0x96 | |
1179 .byte 0x3b,0xab,0x6b,0xcb, 0x1f,0x9d,0x45,0xf1 | |
1180 .byte 0xac,0xfa,0x58,0xab, 0x4b,0xe3,0x03,0x93 | |
1181 .byte 0x20,0x30,0xfa,0x55, 0xad,0x76,0x6d,0xf6 | |
1182 .byte 0x88,0xcc,0x76,0x91, 0xf5,0x02,0x4c,0x25 | |
1183 .byte 0x4f,0xe5,0xd7,0xfc, 0xc5,0x2a,0xcb,0xd7 | |
1184 .byte 0x26,0x35,0x44,0x80, 0xb5,0x62,0xa3,0x8f | |
1185 .byte 0xde,0xb1,0x5a,0x49, 0x25,0xba,0x1b,0x67 | |
1186 .byte 0x45,0xea,0x0e,0x98, 0x5d,0xfe,0xc0,0xe1 | |
1187 .byte 0xc3,0x2f,0x75,0x02, 0x81,0x4c,0xf0,0x12 | |
1188 .byte 0x8d,0x46,0x97,0xa3, 0x6b,0xd3,0xf9,0xc6 | |
1189 .byte 0x03,0x8f,0x5f,0xe7, 0x15,0x92,0x9c,0x95 | |
1190 .byte 0xbf,0x6d,0x7a,0xeb, 0x95,0x52,0x59,0xda | |
1191 .byte 0xd4,0xbe,0x83,0x2d, 0x58,0x74,0x21,0xd3 | |
1192 .byte 0x49,0xe0,0x69,0x29, 0x8e,0xc9,0xc8,0x44 | |
1193 .byte 0x75,0xc2,0x89,0x6a, 0xf4,0x8e,0x79,0x78 | |
1194 .byte 0x99,0x58,0x3e,0x6b, 0x27,0xb9,0x71,0xdd | |
1195 .byte 0xbe,0xe1,0x4f,0xb6, 0xf0,0x88,0xad,0x17 | |
1196 .byte 0xc9,0x20,0xac,0x66, 0x7d,0xce,0x3a,0xb4 | |
1197 .byte 0x63,0xdf,0x4a,0x18, 0xe5,0x1a,0x31,0x82 | |
1198 .byte 0x97,0x51,0x33,0x60, 0x62,0x53,0x7f,0x45 | |
1199 .byte 0xb1,0x64,0x77,0xe0, 0xbb,0x6b,0xae,0x84 | |
1200 .byte 0xfe,0x81,0xa0,0x1c, 0xf9,0x08,0x2b,0x94 | |
1201 .byte 0x70,0x48,0x68,0x58, 0x8f,0x45,0xfd,0x19 | |
1202 .byte 0x94,0xde,0x6c,0x87, 0x52,0x7b,0xf8,0xb7 | |
1203 .byte 0xab,0x73,0xd3,0x23, 0x72,0x4b,0x02,0xe2 | |
1204 .byte 0xe3,0x1f,0x8f,0x57, 0x66,0x55,0xab,0x2a | |
1205 .byte 0xb2,0xeb,0x28,0x07, 0x2f,0xb5,0xc2,0x03 | |
1206 .byte 0x86,0xc5,0x7b,0x9a, 0xd3,0x37,0x08,0xa5 | |
1207 .byte 0x30,0x28,0x87,0xf2, 0x23,0xbf,0xa5,0xb2 | |
1208 .byte 0x02,0x03,0x6a,0xba, 0xed,0x16,0x82,0x5c | |
1209 .byte 0x8a,0xcf,0x1c,0x2b, 0xa7,0x79,0xb4,0x92 | |
1210 .byte 0xf3,0x07,0xf2,0xf0, 0x4e,0x69,0xe2,0xa1 | |
1211 .byte 0x65,0xda,0xf4,0xcd, 0x06,0x05,0xbe,0xd5 | |
1212 .byte 0xd1,0x34,0x62,0x1f, 0xc4,0xa6,0xfe,0x8a | |
1213 .byte 0x34,0x2e,0x53,0x9d, 0xa2,0xf3,0x55,0xa0 | |
1214 .byte 0x05,0x8a,0xe1,0x32, 0xa4,0xf6,0xeb,0x75 | |
1215 .byte 0x0b,0x83,0xec,0x39, 0x40,0x60,0xef,0xaa | |
1216 .byte 0x5e,0x71,0x9f,0x06, 0xbd,0x6e,0x10,0x51 | |
1217 .byte 0x3e,0x21,0x8a,0xf9, 0x96,0xdd,0x06,0x3d | |
1218 .byte 0xdd,0x3e,0x05,0xae, 0x4d,0xe6,0xbd,0x46 | |
1219 .byte 0x91,0x54,0x8d,0xb5, 0x71,0xc4,0x5d,0x05 | |
1220 .byte 0x04,0x06,0xd4,0x6f, 0x60,0x50,0x15,0xff | |
1221 .byte 0x19,0x98,0xfb,0x24, 0xd6,0xbd,0xe9,0x97 | |
1222 .byte 0x89,0x40,0x43,0xcc, 0x67,0xd9,0x9e,0x77 | |
1223 .byte 0xb0,0xe8,0x42,0xbd, 0x07,0x89,0x8b,0x88 | |
1224 .byte 0xe7,0x19,0x5b,0x38, 0x79,0xc8,0xee,0xdb | |
1225 .byte 0xa1,0x7c,0x0a,0x47, 0x7c,0x42,0x0f,0xe9 | |
1226 .byte 0xf8,0x84,0x1e,0xc9, 0x00,0x00,0x00,0x00 | |
1227 .byte 0x09,0x80,0x86,0x83, 0x32,0x2b,0xed,0x48 | |
1228 .byte 0x1e,0x11,0x70,0xac, 0x6c,0x5a,0x72,0x4e | |
1229 .byte 0xfd,0x0e,0xff,0xfb, 0x0f,0x85,0x38,0x56 | |
1230 .byte 0x3d,0xae,0xd5,0x1e, 0x36,0x2d,0x39,0x27 | |
1231 .byte 0x0a,0x0f,0xd9,0x64, 0x68,0x5c,0xa6,0x21 | |
1232 .byte 0x9b,0x5b,0x54,0xd1, 0x24,0x36,0x2e,0x3a | |
1233 .byte 0x0c,0x0a,0x67,0xb1, 0x93,0x57,0xe7,0x0f | |
1234 .byte 0xb4,0xee,0x96,0xd2, 0x1b,0x9b,0x91,0x9e | |
1235 .byte 0x80,0xc0,0xc5,0x4f, 0x61,0xdc,0x20,0xa2 | |
1236 .byte 0x5a,0x77,0x4b,0x69, 0x1c,0x12,0x1a,0x16 | |
1237 .byte 0xe2,0x93,0xba,0x0a, 0xc0,0xa0,0x2a,0xe5 | |
1238 .byte 0x3c,0x22,0xe0,0x43, 0x12,0x1b,0x17,0x1d | |
1239 .byte 0x0e,0x09,0x0d,0x0b, 0xf2,0x8b,0xc7,0xad | |
1240 .byte 0x2d,0xb6,0xa8,0xb9, 0x14,0x1e,0xa9,0xc8 | |
1241 .byte 0x57,0xf1,0x19,0x85, 0xaf,0x75,0x07,0x4c | |
1242 .byte 0xee,0x99,0xdd,0xbb, 0xa3,0x7f,0x60,0xfd | |
1243 .byte 0xf7,0x01,0x26,0x9f, 0x5c,0x72,0xf5,0xbc | |
1244 .byte 0x44,0x66,0x3b,0xc5, 0x5b,0xfb,0x7e,0x34 | |
1245 .byte 0x8b,0x43,0x29,0x76, 0xcb,0x23,0xc6,0xdc | |
1246 .byte 0xb6,0xed,0xfc,0x68, 0xb8,0xe4,0xf1,0x63 | |
1247 .byte 0xd7,0x31,0xdc,0xca, 0x42,0x63,0x85,0x10 | |
1248 .byte 0x13,0x97,0x22,0x40, 0x84,0xc6,0x11,0x20 | |
1249 .byte 0x85,0x4a,0x24,0x7d, 0xd2,0xbb,0x3d,0xf8 | |
1250 .byte 0xae,0xf9,0x32,0x11, 0xc7,0x29,0xa1,0x6d | |
1251 .byte 0x1d,0x9e,0x2f,0x4b, 0xdc,0xb2,0x30,0xf3 | |
1252 .byte 0x0d,0x86,0x52,0xec, 0x77,0xc1,0xe3,0xd0 | |
1253 .byte 0x2b,0xb3,0x16,0x6c, 0xa9,0x70,0xb9,0x99 | |
1254 .byte 0x11,0x94,0x48,0xfa, 0x47,0xe9,0x64,0x22 | |
1255 .byte 0xa8,0xfc,0x8c,0xc4, 0xa0,0xf0,0x3f,0x1a | |
1256 .byte 0x56,0x7d,0x2c,0xd8, 0x22,0x33,0x90,0xef | |
1257 .byte 0x87,0x49,0x4e,0xc7, 0xd9,0x38,0xd1,0xc1 | |
1258 .byte 0x8c,0xca,0xa2,0xfe, 0x98,0xd4,0x0b,0x36 | |
1259 .byte 0xa6,0xf5,0x81,0xcf, 0xa5,0x7a,0xde,0x28 | |
1260 .byte 0xda,0xb7,0x8e,0x26, 0x3f,0xad,0xbf,0xa4 | |
1261 .byte 0x2c,0x3a,0x9d,0xe4, 0x50,0x78,0x92,0x0d | |
1262 .byte 0x6a,0x5f,0xcc,0x9b, 0x54,0x7e,0x46,0x62 | |
1263 .byte 0xf6,0x8d,0x13,0xc2, 0x90,0xd8,0xb8,0xe8 | |
1264 .byte 0x2e,0x39,0xf7,0x5e, 0x82,0xc3,0xaf,0xf5 | |
1265 .byte 0x9f,0x5d,0x80,0xbe, 0x69,0xd0,0x93,0x7c | |
1266 .byte 0x6f,0xd5,0x2d,0xa9, 0xcf,0x25,0x12,0xb3 | |
1267 .byte 0xc8,0xac,0x99,0x3b, 0x10,0x18,0x7d,0xa7 | |
1268 .byte 0xe8,0x9c,0x63,0x6e, 0xdb,0x3b,0xbb,0x7b | |
1269 .byte 0xcd,0x26,0x78,0x09, 0x6e,0x59,0x18,0xf4 | |
1270 .byte 0xec,0x9a,0xb7,0x01, 0x83,0x4f,0x9a,0xa8 | |
1271 .byte 0xe6,0x95,0x6e,0x65, 0xaa,0xff,0xe6,0x7e | |
1272 .byte 0x21,0xbc,0xcf,0x08, 0xef,0x15,0xe8,0xe6 | |
1273 .byte 0xba,0xe7,0x9b,0xd9, 0x4a,0x6f,0x36,0xce | |
1274 .byte 0xea,0x9f,0x09,0xd4, 0x29,0xb0,0x7c,0xd6 | |
1275 .byte 0x31,0xa4,0xb2,0xaf, 0x2a,0x3f,0x23,0x31 | |
1276 .byte 0xc6,0xa5,0x94,0x30, 0x35,0xa2,0x66,0xc0 | |
1277 .byte 0x74,0x4e,0xbc,0x37, 0xfc,0x82,0xca,0xa6 | |
1278 .byte 0xe0,0x90,0xd0,0xb0, 0x33,0xa7,0xd8,0x15 | |
1279 .byte 0xf1,0x04,0x98,0x4a, 0x41,0xec,0xda,0xf7 | |
1280 .byte 0x7f,0xcd,0x50,0x0e, 0x17,0x91,0xf6,0x2f | |
1281 .byte 0x76,0x4d,0xd6,0x8d, 0x43,0xef,0xb0,0x4d | |
1282 .byte 0xcc,0xaa,0x4d,0x54, 0xe4,0x96,0x04,0xdf | |
1283 .byte 0x9e,0xd1,0xb5,0xe3, 0x4c,0x6a,0x88,0x1b | |
1284 .byte 0xc1,0x2c,0x1f,0xb8, 0x46,0x65,0x51,0x7f | |
1285 .byte 0x9d,0x5e,0xea,0x04, 0x01,0x8c,0x35,0x5d | |
1286 .byte 0xfa,0x87,0x74,0x73, 0xfb,0x0b,0x41,0x2e | |
1287 .byte 0xb3,0x67,0x1d,0x5a, 0x92,0xdb,0xd2,0x52 | |
1288 .byte 0xe9,0x10,0x56,0x33, 0x6d,0xd6,0x47,0x13 | |
1289 .byte 0x9a,0xd7,0x61,0x8c, 0x37,0xa1,0x0c,0x7a | |
1290 .byte 0x59,0xf8,0x14,0x8e, 0xeb,0x13,0x3c,0x89 | |
1291 .byte 0xce,0xa9,0x27,0xee, 0xb7,0x61,0xc9,0x35 | |
1292 .byte 0xe1,0x1c,0xe5,0xed, 0x7a,0x47,0xb1,0x3c | |
1293 .byte 0x9c,0xd2,0xdf,0x59, 0x55,0xf2,0x73,0x3f | |
1294 .byte 0x18,0x14,0xce,0x79, 0x73,0xc7,0x37,0xbf | |
1295 .byte 0x53,0xf7,0xcd,0xea, 0x5f,0xfd,0xaa,0x5b | |
1296 .byte 0xdf,0x3d,0x6f,0x14, 0x78,0x44,0xdb,0x86 | |
1297 .byte 0xca,0xaf,0xf3,0x81, 0xb9,0x68,0xc4,0x3e | |
1298 .byte 0x38,0x24,0x34,0x2c, 0xc2,0xa3,0x40,0x5f | |
1299 .byte 0x16,0x1d,0xc3,0x72, 0xbc,0xe2,0x25,0x0c | |
1300 .byte 0x28,0x3c,0x49,0x8b, 0xff,0x0d,0x95,0x41 | |
1301 .byte 0x39,0xa8,0x01,0x71, 0x08,0x0c,0xb3,0xde | |
1302 .byte 0xd8,0xb4,0xe4,0x9c, 0x64,0x56,0xc1,0x90 | |
1303 .byte 0x7b,0xcb,0x84,0x61, 0xd5,0x32,0xb6,0x70 | |
1304 .byte 0x48,0x6c,0x5c,0x74, 0xd0,0xb8,0x57,0x42 | |
1305 | |
1306 .byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 # Td4 | |
1307 .byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb | |
1308 .byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87 | |
1309 .byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb | |
1310 .byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d | |
1311 .byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e | |
1312 .byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2 | |
1313 .byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25 | |
1314 .byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16 | |
1315 .byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92 | |
1316 .byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda | |
1317 .byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84 | |
1318 .byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a | |
1319 .byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06 | |
1320 .byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02 | |
1321 .byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b | |
1322 .byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea | |
1323 .byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73 | |
1324 .byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85 | |
1325 .byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e | |
1326 .byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89 | |
1327 .byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b | |
1328 .byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20 | |
1329 .byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4 | |
1330 .byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31 | |
1331 .byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f | |
1332 .byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d | |
1333 .byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef | |
1334 .byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0 | |
1335 .byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 | |
1336 .byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 | |
1337 .byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d | |
OLD | NEW |