1 #include <linux/string.h>
2 #include <threefishApi.h>
5 void threefishEncrypt256(struct threefish_key
*keyCtx
, u64
*input
, u64
*output
)
7 u64 b0
= input
[0], b1
= input
[1],
8 b2
= input
[2], b3
= input
[3];
9 u64 k0
= keyCtx
->key
[0], k1
= keyCtx
->key
[1],
10 k2
= keyCtx
->key
[2], k3
= keyCtx
->key
[3],
12 u64 t0
= keyCtx
->tweak
[0], t1
= keyCtx
->tweak
[1],
13 t2
= keyCtx
->tweak
[2];
17 b1
= ((b1
<< 14) | (b1
>> (64 - 14))) ^ b0
;
21 b3
= ((b3
<< 16) | (b3
>> (64 - 16))) ^ b2
;
24 b3
= ((b3
<< 52) | (b3
>> (64 - 52))) ^ b0
;
27 b1
= ((b1
<< 57) | (b1
>> (64 - 57))) ^ b2
;
30 b1
= ((b1
<< 23) | (b1
>> (64 - 23))) ^ b0
;
33 b3
= ((b3
<< 40) | (b3
>> (64 - 40))) ^ b2
;
36 b3
= ((b3
<< 5) | (b3
>> (64 - 5))) ^ b0
;
39 b1
= ((b1
<< 37) | (b1
>> (64 - 37))) ^ b2
;
43 b1
= ((b1
<< 25) | (b1
>> (64 - 25))) ^ b0
;
47 b3
= ((b3
<< 33) | (b3
>> (64 - 33))) ^ b2
;
50 b3
= ((b3
<< 46) | (b3
>> (64 - 46))) ^ b0
;
53 b1
= ((b1
<< 12) | (b1
>> (64 - 12))) ^ b2
;
56 b1
= ((b1
<< 58) | (b1
>> (64 - 58))) ^ b0
;
59 b3
= ((b3
<< 22) | (b3
>> (64 - 22))) ^ b2
;
62 b3
= ((b3
<< 32) | (b3
>> (64 - 32))) ^ b0
;
65 b1
= ((b1
<< 32) | (b1
>> (64 - 32))) ^ b2
;
70 b1
= ((b1
<< 14) | (b1
>> (64 - 14))) ^ b0
;
74 b3
= ((b3
<< 16) | (b3
>> (64 - 16))) ^ b2
;
77 b3
= ((b3
<< 52) | (b3
>> (64 - 52))) ^ b0
;
80 b1
= ((b1
<< 57) | (b1
>> (64 - 57))) ^ b2
;
83 b1
= ((b1
<< 23) | (b1
>> (64 - 23))) ^ b0
;
86 b3
= ((b3
<< 40) | (b3
>> (64 - 40))) ^ b2
;
89 b3
= ((b3
<< 5) | (b3
>> (64 - 5))) ^ b0
;
92 b1
= ((b1
<< 37) | (b1
>> (64 - 37))) ^ b2
;
96 b1
= ((b1
<< 25) | (b1
>> (64 - 25))) ^ b0
;
100 b3
= ((b3
<< 33) | (b3
>> (64 - 33))) ^ b2
;
103 b3
= ((b3
<< 46) | (b3
>> (64 - 46))) ^ b0
;
106 b1
= ((b1
<< 12) | (b1
>> (64 - 12))) ^ b2
;
109 b1
= ((b1
<< 58) | (b1
>> (64 - 58))) ^ b0
;
112 b3
= ((b3
<< 22) | (b3
>> (64 - 22))) ^ b2
;
115 b3
= ((b3
<< 32) | (b3
>> (64 - 32))) ^ b0
;
118 b1
= ((b1
<< 32) | (b1
>> (64 - 32))) ^ b2
;
123 b1
= ((b1
<< 14) | (b1
>> (64 - 14))) ^ b0
;
127 b3
= ((b3
<< 16) | (b3
>> (64 - 16))) ^ b2
;
130 b3
= ((b3
<< 52) | (b3
>> (64 - 52))) ^ b0
;
133 b1
= ((b1
<< 57) | (b1
>> (64 - 57))) ^ b2
;
136 b1
= ((b1
<< 23) | (b1
>> (64 - 23))) ^ b0
;
139 b3
= ((b3
<< 40) | (b3
>> (64 - 40))) ^ b2
;
142 b3
= ((b3
<< 5) | (b3
>> (64 - 5))) ^ b0
;
145 b1
= ((b1
<< 37) | (b1
>> (64 - 37))) ^ b2
;
149 b1
= ((b1
<< 25) | (b1
>> (64 - 25))) ^ b0
;
153 b3
= ((b3
<< 33) | (b3
>> (64 - 33))) ^ b2
;
156 b3
= ((b3
<< 46) | (b3
>> (64 - 46))) ^ b0
;
159 b1
= ((b1
<< 12) | (b1
>> (64 - 12))) ^ b2
;
162 b1
= ((b1
<< 58) | (b1
>> (64 - 58))) ^ b0
;
165 b3
= ((b3
<< 22) | (b3
>> (64 - 22))) ^ b2
;
168 b3
= ((b3
<< 32) | (b3
>> (64 - 32))) ^ b0
;
171 b1
= ((b1
<< 32) | (b1
>> (64 - 32))) ^ b2
;
176 b1
= ((b1
<< 14) | (b1
>> (64 - 14))) ^ b0
;
180 b3
= ((b3
<< 16) | (b3
>> (64 - 16))) ^ b2
;
183 b3
= ((b3
<< 52) | (b3
>> (64 - 52))) ^ b0
;
186 b1
= ((b1
<< 57) | (b1
>> (64 - 57))) ^ b2
;
189 b1
= ((b1
<< 23) | (b1
>> (64 - 23))) ^ b0
;
192 b3
= ((b3
<< 40) | (b3
>> (64 - 40))) ^ b2
;
195 b3
= ((b3
<< 5) | (b3
>> (64 - 5))) ^ b0
;
198 b1
= ((b1
<< 37) | (b1
>> (64 - 37))) ^ b2
;
202 b1
= ((b1
<< 25) | (b1
>> (64 - 25))) ^ b0
;
206 b3
= ((b3
<< 33) | (b3
>> (64 - 33))) ^ b2
;
209 b3
= ((b3
<< 46) | (b3
>> (64 - 46))) ^ b0
;
212 b1
= ((b1
<< 12) | (b1
>> (64 - 12))) ^ b2
;
215 b1
= ((b1
<< 58) | (b1
>> (64 - 58))) ^ b0
;
218 b3
= ((b3
<< 22) | (b3
>> (64 - 22))) ^ b2
;
221 b3
= ((b3
<< 32) | (b3
>> (64 - 32))) ^ b0
;
224 b1
= ((b1
<< 32) | (b1
>> (64 - 32))) ^ b2
;
229 b1
= ((b1
<< 14) | (b1
>> (64 - 14))) ^ b0
;
233 b3
= ((b3
<< 16) | (b3
>> (64 - 16))) ^ b2
;
236 b3
= ((b3
<< 52) | (b3
>> (64 - 52))) ^ b0
;
239 b1
= ((b1
<< 57) | (b1
>> (64 - 57))) ^ b2
;
242 b1
= ((b1
<< 23) | (b1
>> (64 - 23))) ^ b0
;
245 b3
= ((b3
<< 40) | (b3
>> (64 - 40))) ^ b2
;
248 b3
= ((b3
<< 5) | (b3
>> (64 - 5))) ^ b0
;
251 b1
= ((b1
<< 37) | (b1
>> (64 - 37))) ^ b2
;
255 b1
= ((b1
<< 25) | (b1
>> (64 - 25))) ^ b0
;
259 b3
= ((b3
<< 33) | (b3
>> (64 - 33))) ^ b2
;
262 b3
= ((b3
<< 46) | (b3
>> (64 - 46))) ^ b0
;
265 b1
= ((b1
<< 12) | (b1
>> (64 - 12))) ^ b2
;
268 b1
= ((b1
<< 58) | (b1
>> (64 - 58))) ^ b0
;
271 b3
= ((b3
<< 22) | (b3
>> (64 - 22))) ^ b2
;
274 b3
= ((b3
<< 32) | (b3
>> (64 - 32))) ^ b0
;
277 b1
= ((b1
<< 32) | (b1
>> (64 - 32))) ^ b2
;
282 b1
= ((b1
<< 14) | (b1
>> (64 - 14))) ^ b0
;
286 b3
= ((b3
<< 16) | (b3
>> (64 - 16))) ^ b2
;
289 b3
= ((b3
<< 52) | (b3
>> (64 - 52))) ^ b0
;
292 b1
= ((b1
<< 57) | (b1
>> (64 - 57))) ^ b2
;
295 b1
= ((b1
<< 23) | (b1
>> (64 - 23))) ^ b0
;
298 b3
= ((b3
<< 40) | (b3
>> (64 - 40))) ^ b2
;
301 b3
= ((b3
<< 5) | (b3
>> (64 - 5))) ^ b0
;
304 b1
= ((b1
<< 37) | (b1
>> (64 - 37))) ^ b2
;
308 b1
= ((b1
<< 25) | (b1
>> (64 - 25))) ^ b0
;
312 b3
= ((b3
<< 33) | (b3
>> (64 - 33))) ^ b2
;
315 b3
= ((b3
<< 46) | (b3
>> (64 - 46))) ^ b0
;
318 b1
= ((b1
<< 12) | (b1
>> (64 - 12))) ^ b2
;
321 b1
= ((b1
<< 58) | (b1
>> (64 - 58))) ^ b0
;
324 b3
= ((b3
<< 22) | (b3
>> (64 - 22))) ^ b2
;
327 b3
= ((b3
<< 32) | (b3
>> (64 - 32))) ^ b0
;
330 b1
= ((b1
<< 32) | (b1
>> (64 - 32))) ^ b2
;
335 b1
= ((b1
<< 14) | (b1
>> (64 - 14))) ^ b0
;
339 b3
= ((b3
<< 16) | (b3
>> (64 - 16))) ^ b2
;
342 b3
= ((b3
<< 52) | (b3
>> (64 - 52))) ^ b0
;
345 b1
= ((b1
<< 57) | (b1
>> (64 - 57))) ^ b2
;
348 b1
= ((b1
<< 23) | (b1
>> (64 - 23))) ^ b0
;
351 b3
= ((b3
<< 40) | (b3
>> (64 - 40))) ^ b2
;
354 b3
= ((b3
<< 5) | (b3
>> (64 - 5))) ^ b0
;
357 b1
= ((b1
<< 37) | (b1
>> (64 - 37))) ^ b2
;
361 b1
= ((b1
<< 25) | (b1
>> (64 - 25))) ^ b0
;
365 b3
= ((b3
<< 33) | (b3
>> (64 - 33))) ^ b2
;
368 b3
= ((b3
<< 46) | (b3
>> (64 - 46))) ^ b0
;
371 b1
= ((b1
<< 12) | (b1
>> (64 - 12))) ^ b2
;
374 b1
= ((b1
<< 58) | (b1
>> (64 - 58))) ^ b0
;
377 b3
= ((b3
<< 22) | (b3
>> (64 - 22))) ^ b2
;
380 b3
= ((b3
<< 32) | (b3
>> (64 - 32))) ^ b0
;
383 b1
= ((b1
<< 32) | (b1
>> (64 - 32))) ^ b2
;
388 b1
= ((b1
<< 14) | (b1
>> (64 - 14))) ^ b0
;
392 b3
= ((b3
<< 16) | (b3
>> (64 - 16))) ^ b2
;
395 b3
= ((b3
<< 52) | (b3
>> (64 - 52))) ^ b0
;
398 b1
= ((b1
<< 57) | (b1
>> (64 - 57))) ^ b2
;
401 b1
= ((b1
<< 23) | (b1
>> (64 - 23))) ^ b0
;
404 b3
= ((b3
<< 40) | (b3
>> (64 - 40))) ^ b2
;
407 b3
= ((b3
<< 5) | (b3
>> (64 - 5))) ^ b0
;
410 b1
= ((b1
<< 37) | (b1
>> (64 - 37))) ^ b2
;
414 b1
= ((b1
<< 25) | (b1
>> (64 - 25))) ^ b0
;
418 b3
= ((b3
<< 33) | (b3
>> (64 - 33))) ^ b2
;
421 b3
= ((b3
<< 46) | (b3
>> (64 - 46))) ^ b0
;
424 b1
= ((b1
<< 12) | (b1
>> (64 - 12))) ^ b2
;
427 b1
= ((b1
<< 58) | (b1
>> (64 - 58))) ^ b0
;
430 b3
= ((b3
<< 22) | (b3
>> (64 - 22))) ^ b2
;
433 b3
= ((b3
<< 32) | (b3
>> (64 - 32))) ^ b0
;
436 b1
= ((b1
<< 32) | (b1
>> (64 - 32))) ^ b2
;
441 b1
= ((b1
<< 14) | (b1
>> (64 - 14))) ^ b0
;
445 b3
= ((b3
<< 16) | (b3
>> (64 - 16))) ^ b2
;
448 b3
= ((b3
<< 52) | (b3
>> (64 - 52))) ^ b0
;
451 b1
= ((b1
<< 57) | (b1
>> (64 - 57))) ^ b2
;
454 b1
= ((b1
<< 23) | (b1
>> (64 - 23))) ^ b0
;
457 b3
= ((b3
<< 40) | (b3
>> (64 - 40))) ^ b2
;
460 b3
= ((b3
<< 5) | (b3
>> (64 - 5))) ^ b0
;
463 b1
= ((b1
<< 37) | (b1
>> (64 - 37))) ^ b2
;
467 b1
= ((b1
<< 25) | (b1
>> (64 - 25))) ^ b0
;
471 b3
= ((b3
<< 33) | (b3
>> (64 - 33))) ^ b2
;
474 b3
= ((b3
<< 46) | (b3
>> (64 - 46))) ^ b0
;
477 b1
= ((b1
<< 12) | (b1
>> (64 - 12))) ^ b2
;
480 b1
= ((b1
<< 58) | (b1
>> (64 - 58))) ^ b0
;
483 b3
= ((b3
<< 22) | (b3
>> (64 - 22))) ^ b2
;
486 b3
= ((b3
<< 32) | (b3
>> (64 - 32))) ^ b0
;
489 b1
= ((b1
<< 32) | (b1
>> (64 - 32))) ^ b2
;
492 output
[1] = b1
+ k4
+ t0
;
493 output
[2] = b2
+ k0
+ t1
;
494 output
[3] = b3
+ k1
+ 18;
497 void threefishDecrypt256(struct threefish_key
*keyCtx
, u64
*input
, u64
*output
)
499 u64 b0
= input
[0], b1
= input
[1],
500 b2
= input
[2], b3
= input
[3];
501 u64 k0
= keyCtx
->key
[0], k1
= keyCtx
->key
[1],
502 k2
= keyCtx
->key
[2], k3
= keyCtx
->key
[3],
504 u64 t0
= keyCtx
->tweak
[0], t1
= keyCtx
->tweak
[1],
505 t2
= keyCtx
->tweak
[2];
514 b3
= (tmp
>> 32) | (tmp
<< (64 - 32));
518 b1
= (tmp
>> 32) | (tmp
<< (64 - 32));
522 b1
= (tmp
>> 58) | (tmp
<< (64 - 58));
526 b3
= (tmp
>> 22) | (tmp
<< (64 - 22));
530 b3
= (tmp
>> 46) | (tmp
<< (64 - 46));
534 b1
= (tmp
>> 12) | (tmp
<< (64 - 12));
538 b1
= (tmp
>> 25) | (tmp
<< (64 - 25));
543 b3
= (tmp
>> 33) | (tmp
<< (64 - 33));
548 b3
= (tmp
>> 5) | (tmp
<< (64 - 5));
552 b1
= (tmp
>> 37) | (tmp
<< (64 - 37));
556 b1
= (tmp
>> 23) | (tmp
<< (64 - 23));
560 b3
= (tmp
>> 40) | (tmp
<< (64 - 40));
564 b3
= (tmp
>> 52) | (tmp
<< (64 - 52));
568 b1
= (tmp
>> 57) | (tmp
<< (64 - 57));
572 b1
= (tmp
>> 14) | (tmp
<< (64 - 14));
577 b3
= (tmp
>> 16) | (tmp
<< (64 - 16));
583 b3
= (tmp
>> 32) | (tmp
<< (64 - 32));
587 b1
= (tmp
>> 32) | (tmp
<< (64 - 32));
591 b1
= (tmp
>> 58) | (tmp
<< (64 - 58));
595 b3
= (tmp
>> 22) | (tmp
<< (64 - 22));
599 b3
= (tmp
>> 46) | (tmp
<< (64 - 46));
603 b1
= (tmp
>> 12) | (tmp
<< (64 - 12));
607 b1
= (tmp
>> 25) | (tmp
<< (64 - 25));
612 b3
= (tmp
>> 33) | (tmp
<< (64 - 33));
617 b3
= (tmp
>> 5) | (tmp
<< (64 - 5));
621 b1
= (tmp
>> 37) | (tmp
<< (64 - 37));
625 b1
= (tmp
>> 23) | (tmp
<< (64 - 23));
629 b3
= (tmp
>> 40) | (tmp
<< (64 - 40));
633 b3
= (tmp
>> 52) | (tmp
<< (64 - 52));
637 b1
= (tmp
>> 57) | (tmp
<< (64 - 57));
641 b1
= (tmp
>> 14) | (tmp
<< (64 - 14));
646 b3
= (tmp
>> 16) | (tmp
<< (64 - 16));
652 b3
= (tmp
>> 32) | (tmp
<< (64 - 32));
656 b1
= (tmp
>> 32) | (tmp
<< (64 - 32));
660 b1
= (tmp
>> 58) | (tmp
<< (64 - 58));
664 b3
= (tmp
>> 22) | (tmp
<< (64 - 22));
668 b3
= (tmp
>> 46) | (tmp
<< (64 - 46));
672 b1
= (tmp
>> 12) | (tmp
<< (64 - 12));
676 b1
= (tmp
>> 25) | (tmp
<< (64 - 25));
681 b3
= (tmp
>> 33) | (tmp
<< (64 - 33));
686 b3
= (tmp
>> 5) | (tmp
<< (64 - 5));
690 b1
= (tmp
>> 37) | (tmp
<< (64 - 37));
694 b1
= (tmp
>> 23) | (tmp
<< (64 - 23));
698 b3
= (tmp
>> 40) | (tmp
<< (64 - 40));
702 b3
= (tmp
>> 52) | (tmp
<< (64 - 52));
706 b1
= (tmp
>> 57) | (tmp
<< (64 - 57));
710 b1
= (tmp
>> 14) | (tmp
<< (64 - 14));
715 b3
= (tmp
>> 16) | (tmp
<< (64 - 16));
721 b3
= (tmp
>> 32) | (tmp
<< (64 - 32));
725 b1
= (tmp
>> 32) | (tmp
<< (64 - 32));
729 b1
= (tmp
>> 58) | (tmp
<< (64 - 58));
733 b3
= (tmp
>> 22) | (tmp
<< (64 - 22));
737 b3
= (tmp
>> 46) | (tmp
<< (64 - 46));
741 b1
= (tmp
>> 12) | (tmp
<< (64 - 12));
745 b1
= (tmp
>> 25) | (tmp
<< (64 - 25));
750 b3
= (tmp
>> 33) | (tmp
<< (64 - 33));
755 b3
= (tmp
>> 5) | (tmp
<< (64 - 5));
759 b1
= (tmp
>> 37) | (tmp
<< (64 - 37));
763 b1
= (tmp
>> 23) | (tmp
<< (64 - 23));
767 b3
= (tmp
>> 40) | (tmp
<< (64 - 40));
771 b3
= (tmp
>> 52) | (tmp
<< (64 - 52));
775 b1
= (tmp
>> 57) | (tmp
<< (64 - 57));
779 b1
= (tmp
>> 14) | (tmp
<< (64 - 14));
784 b3
= (tmp
>> 16) | (tmp
<< (64 - 16));
790 b3
= (tmp
>> 32) | (tmp
<< (64 - 32));
794 b1
= (tmp
>> 32) | (tmp
<< (64 - 32));
798 b1
= (tmp
>> 58) | (tmp
<< (64 - 58));
802 b3
= (tmp
>> 22) | (tmp
<< (64 - 22));
806 b3
= (tmp
>> 46) | (tmp
<< (64 - 46));
810 b1
= (tmp
>> 12) | (tmp
<< (64 - 12));
814 b1
= (tmp
>> 25) | (tmp
<< (64 - 25));
819 b3
= (tmp
>> 33) | (tmp
<< (64 - 33));
824 b3
= (tmp
>> 5) | (tmp
<< (64 - 5));
828 b1
= (tmp
>> 37) | (tmp
<< (64 - 37));
832 b1
= (tmp
>> 23) | (tmp
<< (64 - 23));
836 b3
= (tmp
>> 40) | (tmp
<< (64 - 40));
840 b3
= (tmp
>> 52) | (tmp
<< (64 - 52));
844 b1
= (tmp
>> 57) | (tmp
<< (64 - 57));
848 b1
= (tmp
>> 14) | (tmp
<< (64 - 14));
853 b3
= (tmp
>> 16) | (tmp
<< (64 - 16));
859 b3
= (tmp
>> 32) | (tmp
<< (64 - 32));
863 b1
= (tmp
>> 32) | (tmp
<< (64 - 32));
867 b1
= (tmp
>> 58) | (tmp
<< (64 - 58));
871 b3
= (tmp
>> 22) | (tmp
<< (64 - 22));
875 b3
= (tmp
>> 46) | (tmp
<< (64 - 46));
879 b1
= (tmp
>> 12) | (tmp
<< (64 - 12));
883 b1
= (tmp
>> 25) | (tmp
<< (64 - 25));
888 b3
= (tmp
>> 33) | (tmp
<< (64 - 33));
893 b3
= (tmp
>> 5) | (tmp
<< (64 - 5));
897 b1
= (tmp
>> 37) | (tmp
<< (64 - 37));
901 b1
= (tmp
>> 23) | (tmp
<< (64 - 23));
905 b3
= (tmp
>> 40) | (tmp
<< (64 - 40));
909 b3
= (tmp
>> 52) | (tmp
<< (64 - 52));
913 b1
= (tmp
>> 57) | (tmp
<< (64 - 57));
917 b1
= (tmp
>> 14) | (tmp
<< (64 - 14));
922 b3
= (tmp
>> 16) | (tmp
<< (64 - 16));
928 b3
= (tmp
>> 32) | (tmp
<< (64 - 32));
932 b1
= (tmp
>> 32) | (tmp
<< (64 - 32));
936 b1
= (tmp
>> 58) | (tmp
<< (64 - 58));
940 b3
= (tmp
>> 22) | (tmp
<< (64 - 22));
944 b3
= (tmp
>> 46) | (tmp
<< (64 - 46));
948 b1
= (tmp
>> 12) | (tmp
<< (64 - 12));
952 b1
= (tmp
>> 25) | (tmp
<< (64 - 25));
957 b3
= (tmp
>> 33) | (tmp
<< (64 - 33));
962 b3
= (tmp
>> 5) | (tmp
<< (64 - 5));
966 b1
= (tmp
>> 37) | (tmp
<< (64 - 37));
970 b1
= (tmp
>> 23) | (tmp
<< (64 - 23));
974 b3
= (tmp
>> 40) | (tmp
<< (64 - 40));
978 b3
= (tmp
>> 52) | (tmp
<< (64 - 52));
982 b1
= (tmp
>> 57) | (tmp
<< (64 - 57));
986 b1
= (tmp
>> 14) | (tmp
<< (64 - 14));
991 b3
= (tmp
>> 16) | (tmp
<< (64 - 16));
997 b3
= (tmp
>> 32) | (tmp
<< (64 - 32));
1001 b1
= (tmp
>> 32) | (tmp
<< (64 - 32));
1005 b1
= (tmp
>> 58) | (tmp
<< (64 - 58));
1009 b3
= (tmp
>> 22) | (tmp
<< (64 - 22));
1013 b3
= (tmp
>> 46) | (tmp
<< (64 - 46));
1017 b1
= (tmp
>> 12) | (tmp
<< (64 - 12));
1021 b1
= (tmp
>> 25) | (tmp
<< (64 - 25));
1026 b3
= (tmp
>> 33) | (tmp
<< (64 - 33));
1031 b3
= (tmp
>> 5) | (tmp
<< (64 - 5));
1035 b1
= (tmp
>> 37) | (tmp
<< (64 - 37));
1039 b1
= (tmp
>> 23) | (tmp
<< (64 - 23));
1043 b3
= (tmp
>> 40) | (tmp
<< (64 - 40));
1047 b3
= (tmp
>> 52) | (tmp
<< (64 - 52));
1051 b1
= (tmp
>> 57) | (tmp
<< (64 - 57));
1055 b1
= (tmp
>> 14) | (tmp
<< (64 - 14));
1060 b3
= (tmp
>> 16) | (tmp
<< (64 - 16));
1066 b3
= (tmp
>> 32) | (tmp
<< (64 - 32));
1070 b1
= (tmp
>> 32) | (tmp
<< (64 - 32));
1074 b1
= (tmp
>> 58) | (tmp
<< (64 - 58));
1078 b3
= (tmp
>> 22) | (tmp
<< (64 - 22));
1082 b3
= (tmp
>> 46) | (tmp
<< (64 - 46));
1086 b1
= (tmp
>> 12) | (tmp
<< (64 - 12));
1090 b1
= (tmp
>> 25) | (tmp
<< (64 - 25));
1095 b3
= (tmp
>> 33) | (tmp
<< (64 - 33));
1100 b3
= (tmp
>> 5) | (tmp
<< (64 - 5));
1104 b1
= (tmp
>> 37) | (tmp
<< (64 - 37));
1108 b1
= (tmp
>> 23) | (tmp
<< (64 - 23));
1112 b3
= (tmp
>> 40) | (tmp
<< (64 - 40));
1116 b3
= (tmp
>> 52) | (tmp
<< (64 - 52));
1120 b1
= (tmp
>> 57) | (tmp
<< (64 - 57));
1124 b1
= (tmp
>> 14) | (tmp
<< (64 - 14));
1129 b3
= (tmp
>> 16) | (tmp
<< (64 - 16));