1
1
use crate :: sub_units:: t_xor_plus:: * ;
2
2
use crate :: KupynaH ;
3
+ use hex_literal:: hex;
3
4
4
5
fn setup_hash_params ( ) -> KupynaH {
5
6
KupynaH :: default ( )
6
7
}
7
8
8
9
#[ test]
9
10
fn test_add_constant_xor ( ) {
10
- let input = [
11
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D , 0x0E ,
12
- 0x0F , 0x10 , 0x11 , 0x12 , 0x13 , 0x14 , 0x15 , 0x16 , 0x17 , 0x18 , 0x19 , 0x1A , 0x1B , 0x1C , 0x1D ,
13
- 0x1E , 0x1F , 0x20 , 0x21 , 0x22 , 0x23 , 0x24 , 0x25 , 0x26 , 0x27 , 0x28 , 0x29 , 0x2A , 0x2B , 0x2C ,
14
- 0x2D , 0x2E , 0x2F , 0x30 , 0x31 , 0x32 , 0x33 , 0x34 , 0x35 , 0x36 , 0x37 , 0x38 , 0x39 , 0x3A , 0x3B ,
15
- 0x3C , 0x3D , 0x3E , 0x3F , 0x40 , 0x41 , 0x42 , 0x43 , 0x44 , 0x45 , 0x46 , 0x47 , 0x48 , 0x49 , 0x4A ,
16
- 0x4B , 0x4C , 0x4D , 0x4E , 0x4F , 0x50 , 0x51 , 0x52 , 0x53 , 0x54 , 0x55 , 0x56 , 0x57 , 0x58 , 0x59 ,
17
- 0x5A , 0x5B , 0x5C , 0x5D , 0x5E , 0x5F , 0x60 , 0x61 , 0x62 , 0x63 , 0x64 , 0x65 , 0x66 , 0x67 , 0x68 ,
18
- 0x69 , 0x6A , 0x6B , 0x6C , 0x6D , 0x6E , 0x6F , 0x70 , 0x71 , 0x72 , 0x73 , 0x74 , 0x75 , 0x76 , 0x77 ,
19
- 0x78 , 0x79 , 0x7A , 0x7B , 0x7C , 0x7D , 0x7E , 0x7F ,
20
- ] ;
21
- let expected_output = [
22
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x18 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D , 0x0E ,
23
- 0x0F , 0x30 , 0x11 , 0x12 , 0x13 , 0x14 , 0x15 , 0x16 , 0x17 , 0x28 , 0x19 , 0x1A , 0x1B , 0x1C , 0x1D ,
24
- 0x1E , 0x1F , 0x60 , 0x21 , 0x22 , 0x23 , 0x24 , 0x25 , 0x26 , 0x27 , 0x78 , 0x29 , 0x2A , 0x2B , 0x2C ,
25
- 0x2D , 0x2E , 0x2F , 0x50 , 0x31 , 0x32 , 0x33 , 0x34 , 0x35 , 0x36 , 0x37 , 0x48 , 0x39 , 0x3A , 0x3B ,
26
- 0x3C , 0x3D , 0x3E , 0x3F , 0xC0 , 0x41 , 0x42 , 0x43 , 0x44 , 0x45 , 0x46 , 0x47 , 0xD8 , 0x49 , 0x4A ,
27
- 0x4B , 0x4C , 0x4D , 0x4E , 0x4F , 0xF0 , 0x51 , 0x52 , 0x53 , 0x54 , 0x55 , 0x56 , 0x57 , 0xE8 , 0x59 ,
28
- 0x5A , 0x5B , 0x5C , 0x5D , 0x5E , 0x5F , 0xA0 , 0x61 , 0x62 , 0x63 , 0x64 , 0x65 , 0x66 , 0x67 , 0xB8 ,
29
- 0x69 , 0x6A , 0x6B , 0x6C , 0x6D , 0x6E , 0x6F , 0x90 , 0x71 , 0x72 , 0x73 , 0x74 , 0x75 , 0x76 , 0x77 ,
30
- 0x88 , 0x79 , 0x7A , 0x7B , 0x7C , 0x7D , 0x7E , 0x7F ,
31
- ] ;
11
+ let input = hex ! (
12
+ "
13
+ 00010203 04050607 08090A0B 0C0D0E0F
14
+ 10111213 14151617 18191A1B 1C1D1E1F
15
+ 20212223 24252627 28292A2B 2C2D2E2F
16
+ 30313233 34353637 38393A3B 3C3D3E3F
17
+ 40414243 44454647 48494A4B 4C4D4E4F
18
+ 50515253 54555657 58595A5B 5C5D5E5F
19
+ 60616263 64656667 68696A6B 6C6D6E6F
20
+ 70717273 74757677 78797A7B 7C7D7E7F
21
+ "
22
+ ) ;
23
+ let expected_output = hex ! (
24
+ "
25
+ 00010203 04050607 18090A0B 0C0D0E0F
26
+ 30111213 14151617 28191A1B 1C1D1E1F
27
+ 60212223 24252627 78292A2B 2C2D2E2F
28
+ 50313233 34353637 48393A3B 3C3D3E3F
29
+ C0414243 44454647 D8494A4B 4C4D4E4F
30
+ F0515253 54555657 E8595A5B 5C5D5E5F
31
+ A0616263 64656667 B8696A6B 6C6D6E6F
32
+ 90717273 74757677 88797A7B 7C7D7E7F
33
+ "
34
+ ) ;
32
35
33
36
let hash_params = setup_hash_params ( ) ;
34
37
@@ -39,28 +42,30 @@ fn test_add_constant_xor() {
39
42
40
43
#[ test]
41
44
fn test_add_constant_plus ( ) {
42
- let input = [
43
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x08 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D , 0x0E ,
44
- 0x0F , 0x10 , 0x11 , 0x12 , 0x13 , 0x14 , 0x15 , 0x16 , 0x17 , 0x18 , 0x19 , 0x1A , 0x1B , 0x1C , 0x1D ,
45
- 0x1E , 0x1F , 0x20 , 0x21 , 0x22 , 0x23 , 0x24 , 0x25 , 0x26 , 0x27 , 0x28 , 0x29 , 0x2A , 0x2B , 0x2C ,
46
- 0x2D , 0x2E , 0x2F , 0x30 , 0x31 , 0x32 , 0x33 , 0x34 , 0x35 , 0x36 , 0x37 , 0x38 , 0x39 , 0x3A , 0x3B ,
47
- 0x3C , 0x3D , 0x3E , 0x3F , 0x40 , 0x41 , 0x42 , 0x43 , 0x44 , 0x45 , 0x46 , 0x47 , 0x48 , 0x49 , 0x4A ,
48
- 0x4B , 0x4C , 0x4D , 0x4E , 0x4F , 0x50 , 0x51 , 0x52 , 0x53 , 0x54 , 0x55 , 0x56 , 0x57 , 0x58 , 0x59 ,
49
- 0x5A , 0x5B , 0x5C , 0x5D , 0x5E , 0x5F , 0x60 , 0x61 , 0x62 , 0x63 , 0x64 , 0x65 , 0x66 , 0x67 , 0x68 ,
50
- 0x69 , 0x6A , 0x6B , 0x6C , 0x6D , 0x6E , 0x6F , 0x70 , 0x71 , 0x72 , 0x73 , 0x74 , 0x75 , 0x76 , 0x77 ,
51
- 0x78 , 0x79 , 0x7A , 0x7B , 0x7C , 0x7D , 0x7E , 0x7F ,
52
- ] ;
53
- let expected_output = [
54
- 0xF3 , 0xF1 , 0xF2 , 0xF3 , 0xF4 , 0xF5 , 0xF6 , 0xF7 , 0xFB , 0xF9 , 0xFA , 0xFB , 0xFC , 0xFD , 0xFE ,
55
- 0xEF , 0x03 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0xE8 , 0x0B , 0x0A , 0x0B , 0x0C , 0x0D , 0x0E ,
56
- 0x0F , 0xE0 , 0x13 , 0x12 , 0x13 , 0x14 , 0x15 , 0x16 , 0x17 , 0xD8 , 0x1B , 0x1A , 0x1B , 0x1C , 0x1D ,
57
- 0x1E , 0x1F , 0xD0 , 0x23 , 0x22 , 0x23 , 0x24 , 0x25 , 0x26 , 0x27 , 0xC8 , 0x2B , 0x2A , 0x2B , 0x2C ,
58
- 0x2D , 0x2E , 0x2F , 0xC0 , 0x33 , 0x32 , 0x33 , 0x34 , 0x35 , 0x36 , 0x37 , 0xB8 , 0x3B , 0x3A , 0x3B ,
59
- 0x3C , 0x3D , 0x3E , 0x3F , 0xB0 , 0x43 , 0x42 , 0x43 , 0x44 , 0x45 , 0x46 , 0x47 , 0xA8 , 0x4B , 0x4A ,
60
- 0x4B , 0x4C , 0x4D , 0x4E , 0x4F , 0xA0 , 0x53 , 0x52 , 0x53 , 0x54 , 0x55 , 0x56 , 0x57 , 0x98 , 0x5B ,
61
- 0x5A , 0x5B , 0x5C , 0x5D , 0x5E , 0x5F , 0x90 , 0x63 , 0x62 , 0x63 , 0x64 , 0x65 , 0x66 , 0x67 , 0x88 ,
62
- 0x6B , 0x6A , 0x6B , 0x6C , 0x6D , 0x6E , 0x6F , 0x80 ,
63
- ] ;
45
+ let input = hex ! (
46
+ "
47
+ 00010203 04050607 08090A0B 0C0D0E0F
48
+ 10111213 14151617 18191A1B 1C1D1E1F
49
+ 20212223 24252627 28292A2B 2C2D2E2F
50
+ 30313233 34353637 38393A3B 3C3D3E3F
51
+ 40414243 44454647 48494A4B 4C4D4E4F
52
+ 50515253 54555657 58595A5B 5C5D5E5F
53
+ 60616263 64656667 68696A6B 6C6D6E6F
54
+ 70717273 74757677 78797A7B 7C7D7E7F
55
+ "
56
+ ) ;
57
+ let expected_output = hex ! (
58
+ "
59
+ F3F1F2F3 F4F5F6F7 FBF9FAFB FCFDFEEF
60
+ 03020304 050607E8 0B0A0B0C 0D0E0FE0
61
+ 13121314 151617D8 1B1A1B1C 1D1E1FD0
62
+ 23222324 252627C8 2B2A2B2C 2D2E2FC0
63
+ 33323334 353637B8 3B3A3B3C 3D3E3FB0
64
+ 43424344 454647A8 4B4A4B4C 4D4E4FA0
65
+ 53525354 55565798 5B5A5B5C 5D5E5F90
66
+ 63626364 65666788 6B6A6B6C 6D6E6F80
67
+ "
68
+ ) ;
64
69
65
70
let hash_params = setup_hash_params ( ) ;
66
71
@@ -71,28 +76,30 @@ fn test_add_constant_plus() {
71
76
72
77
#[ test]
73
78
fn test_s_box_layer ( ) {
74
- let input = [
75
- 0x00 , 0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 , 0x07 , 0x18 , 0x09 , 0x0A , 0x0B , 0x0C , 0x0D , 0x0E ,
76
- 0x0F , 0x30 , 0x11 , 0x12 , 0x13 , 0x14 , 0x15 , 0x16 , 0x17 , 0x28 , 0x19 , 0x1A , 0x1B , 0x1C , 0x1D ,
77
- 0x1E , 0x1F , 0x60 , 0x21 , 0x22 , 0x23 , 0x24 , 0x25 , 0x26 , 0x27 , 0x78 , 0x29 , 0x2A , 0x2B , 0x2C ,
78
- 0x2D , 0x2E , 0x2F , 0x50 , 0x31 , 0x32 , 0x33 , 0x34 , 0x35 , 0x36 , 0x37 , 0x48 , 0x39 , 0x3A , 0x3B ,
79
- 0x3C , 0x3D , 0x3E , 0x3F , 0xC0 , 0x41 , 0x42 , 0x43 , 0x44 , 0x45 , 0x46 , 0x47 , 0xD8 , 0x49 , 0x4A ,
80
- 0x4B , 0x4C , 0x4D , 0x4E , 0x4F , 0xF0 , 0x51 , 0x52 , 0x53 , 0x54 , 0x55 , 0x56 , 0x57 , 0xE8 , 0x59 ,
81
- 0x5A , 0x5B , 0x5C , 0x5D , 0x5E , 0x5F , 0xA0 , 0x61 , 0x62 , 0x63 , 0x64 , 0x65 , 0x66 , 0x67 , 0xB8 ,
82
- 0x69 , 0x6A , 0x6B , 0x6C , 0x6D , 0x6E , 0x6F , 0x90 , 0x71 , 0x72 , 0x73 , 0x74 , 0x75 , 0x76 , 0x77 ,
83
- 0x88 , 0x79 , 0x7A , 0x7B , 0x7C , 0x7D , 0x7E , 0x7F ,
84
- ] ;
85
- let expected_output = [
86
- 0xA8 , 0xBB , 0x9A , 0x4D , 0x6B , 0xCB , 0x45 , 0x2A , 0x79 , 0x3A , 0xDF , 0xB3 , 0x17 , 0x90 , 0x51 ,
87
- 0x1F , 0x92 , 0x15 , 0x2B , 0x3D , 0xC9 , 0x1C , 0xBB , 0x83 , 0x1F , 0x5C , 0x71 , 0xD5 , 0x6F , 0x57 ,
88
- 0x16 , 0xBD , 0x34 , 0xF6 , 0xC0 , 0x02 , 0xB4 , 0xF4 , 0xAD , 0x11 , 0x8E , 0x0F , 0x7A , 0x5E , 0x49 ,
89
- 0x6D , 0xD1 , 0x66 , 0x2E , 0x26 , 0xC4 , 0x45 , 0xD1 , 0x5D , 0xB7 , 0x94 , 0x9C , 0x14 , 0x0E , 0x1A ,
90
- 0x58 , 0x10 , 0xB2 , 0xDF , 0x2F , 0x6B , 0xD7 , 0x0E , 0x42 , 0x33 , 0xC3 , 0x86 , 0xC4 , 0x9B , 0x4E ,
91
- 0x85 , 0x8F , 0x95 , 0xCB , 0x99 , 0x81 , 0x63 , 0x4F , 0xEE , 0x96 , 0x3C , 0x55 , 0x30 , 0x12 , 0x49 ,
92
- 0x18 , 0xB1 , 0xBC , 0x37 , 0xE6 , 0x71 , 0x78 , 0x2B , 0x8F , 0xFD , 0x6A , 0x45 , 0xB9 , 0xAA , 0x1C ,
93
- 0x0D , 0x2F , 0xAB , 0x38 , 0x8C , 0xDA , 0x60 , 0xEB , 0xDC , 0x05 , 0x0C , 0x36 , 0xB5 , 0x6C , 0xEC ,
94
- 0xCD , 0x62 , 0xB1 , 0x7C , 0x14 , 0xA5 , 0x5E , 0x5B ,
95
- ] ;
79
+ let input = hex ! (
80
+ "
81
+ 00010203 04050607 18090A0B 0C0D0E0F
82
+ 30111213 14151617 28191A1B 1C1D1E1F
83
+ 60212223 24252627 78292A2B 2C2D2E2F
84
+ 50313233 34353637 48393A3B 3C3D3E3F
85
+ C0414243 44454647 D8494A4B 4C4D4E4F
86
+ F0515253 54555657 E8595A5B 5C5D5E5F
87
+ A0616263 64656667 B8696A6B 6C6D6E6F
88
+ 90717273 74757677 88797A7B 7C7D7E7F
89
+ "
90
+ ) ;
91
+ let expected_output = hex ! (
92
+ "
93
+ A8BB9A4D 6BCB452A 793ADFB3 1790511F
94
+ 92152B3D C91CBB83 1F5C71D5 6F5716BD
95
+ 34F6C002 B4F4AD11 8E0F7A5E 496DD166
96
+ 2E26C445 D15DB794 9C140E1A 5810B2DF
97
+ 2F6BD70E 4233C386 C49B4E85 8F95CB99
98
+ 81634FEE 963C5530 124918B1 BC37E671
99
+ 782B8FFD 6A45B9AA 1C0D2FAB 388CDA60
100
+ EBDC050C 36B56CEC CD62B17C 14A55E5B
101
+ "
102
+ ) ;
96
103
97
104
let hash_params = setup_hash_params ( ) ;
98
105
@@ -103,28 +110,30 @@ fn test_s_box_layer() {
103
110
104
111
#[ test]
105
112
fn test_rotate_rows ( ) {
106
- let input = [
107
- 0xA8 , 0xBB , 0x9A , 0x4D , 0x6B , 0xCB , 0x45 , 0x2A , 0x79 , 0x3A , 0xDF , 0xB3 , 0x17 , 0x90 , 0x51 ,
108
- 0x1F , 0x92 , 0x15 , 0x2B , 0x3D , 0xC9 , 0x1C , 0xBB , 0x83 , 0x1F , 0x5C , 0x71 , 0xD5 , 0x6F , 0x57 ,
109
- 0x16 , 0xBD , 0x34 , 0xF6 , 0xC0 , 0x02 , 0xB4 , 0xF4 , 0xAD , 0x11 , 0x8E , 0x0F , 0x7A , 0x5E , 0x49 ,
110
- 0x6D , 0xD1 , 0x66 , 0x2E , 0x26 , 0xC4 , 0x45 , 0xD1 , 0x5D , 0xB7 , 0x94 , 0x9C , 0x14 , 0x0E , 0x1A ,
111
- 0x58 , 0x10 , 0xB2 , 0xDF , 0x2F , 0x6B , 0xD7 , 0x0E , 0x42 , 0x33 , 0xC3 , 0x86 , 0xC4 , 0x9B , 0x4E ,
112
- 0x85 , 0x8F , 0x95 , 0xCB , 0x99 , 0x81 , 0x63 , 0x4F , 0xEE , 0x96 , 0x3C , 0x55 , 0x30 , 0x12 , 0x49 ,
113
- 0x18 , 0xB1 , 0xBC , 0x37 , 0xE6 , 0x71 , 0x78 , 0x2B , 0x8F , 0xFD , 0x6A , 0x45 , 0xB9 , 0xAA , 0x1C ,
114
- 0x0D , 0x2F , 0xAB , 0x38 , 0x8C , 0xDA , 0x60 , 0xEB , 0xDC , 0x05 , 0x0C , 0x36 , 0xB5 , 0x6C , 0xEC ,
115
- 0xCD , 0x62 , 0xB1 , 0x7C , 0x14 , 0xA5 , 0x5E , 0x5B ,
116
- ] ;
117
- let expected_output = [
118
- 0xA8 , 0x62 , 0x05 , 0xAB , 0x6A , 0x37 , 0x55 , 0x66 , 0x79 , 0xBB , 0xB1 , 0x0C , 0x38 , 0x45 , 0xE6 ,
119
- 0x94 , 0x92 , 0x3A , 0x9A , 0x7C , 0x36 , 0x8C , 0xB9 , 0xDF , 0x1F , 0x15 , 0xDF , 0x4D , 0x14 , 0xB5 ,
120
- 0xDA , 0x86 , 0x34 , 0x5C , 0x2B , 0xB3 , 0x6B , 0xA5 , 0x6C , 0x99 , 0x8E , 0xF6 , 0x71 , 0x3D , 0x17 ,
121
- 0xCB , 0x5E , 0x30 , 0x2E , 0x0F , 0xC0 , 0xD5 , 0xC9 , 0x90 , 0x45 , 0x71 , 0x9C , 0x26 , 0x7A , 0x02 ,
122
- 0x6F , 0x1C , 0x51 , 0xAA , 0x2F , 0x14 , 0xC4 , 0x5E , 0xB4 , 0x57 , 0xBB , 0x60 , 0xC4 , 0x6B , 0x0E ,
123
- 0x45 , 0x49 , 0xF4 , 0x16 , 0xEC , 0x81 , 0x9B , 0xD7 , 0x1A , 0xD1 , 0x6D , 0xAD , 0x5B , 0x12 , 0x63 ,
124
- 0x4E , 0x0E , 0x58 , 0x5D , 0xD1 , 0x2A , 0x78 , 0x49 , 0x4F , 0x85 , 0x42 , 0x10 , 0xB7 , 0x1F , 0x1C ,
125
- 0x2B , 0x18 , 0xEE , 0x8F , 0x33 , 0xB2 , 0x83 , 0xEB , 0x0D , 0x8F , 0xB1 , 0x96 , 0x95 , 0xC3 , 0xBD ,
126
- 0xCD , 0xDC , 0x2F , 0xFD , 0xBC , 0x3C , 0xCB , 0x11 ,
127
- ] ;
113
+ let input = hex ! (
114
+ "
115
+ A8BB9A4D 6BCB452A 793ADFB3 1790511F
116
+ 92152B3D C91CBB83 1F5C71D5 6F5716BD
117
+ 34F6C002 B4F4AD11 8E0F7A5E 496DD166
118
+ 2E26C445 D15DB794 9C140E1A 5810B2DF
119
+ 2F6BD70E 4233C386 C49B4E85 8F95CB99
120
+ 81634FEE 963C5530 124918B1 BC37E671
121
+ 782B8FFD 6A45B9AA 1C0D2FAB 388CDA60
122
+ EBDC050C 36B56CEC CD62B17C 14A55E5B
123
+ "
124
+ ) ;
125
+ let expected_output = hex ! (
126
+ "
127
+ A86205AB 6A375566 79BBB10C 3845E694
128
+ 923A9A7C 368CB9DF 1F15DF4D 14B5DA86
129
+ 345C2BB3 6BA56C99 8EF6713D 17CB5E30
130
+ 2E0FC0D5 C9904571 9C267A02 6F1C51AA
131
+ 2F14C45E B457BB60 C46B0E45 49F416EC
132
+ 819BD71A D16DAD5B 12634E0E 585DD12A
133
+ 78494F85 4210B71F 1C2B18EE 8F33B283
134
+ EB0D8FB1 9695C3BD CDDC2FFD BC3CCB11
135
+ "
136
+ ) ;
128
137
129
138
let hash_params = setup_hash_params ( ) ;
130
139
@@ -135,28 +144,30 @@ fn test_rotate_rows() {
135
144
136
145
#[ test]
137
146
fn test_mix_columns ( ) {
138
- let input = [
139
- 0xA8 , 0x62 , 0x05 , 0xAB , 0x6A , 0x37 , 0x55 , 0x66 , 0x79 , 0xBB , 0xB1 , 0x0C , 0x38 , 0x45 , 0xE6 ,
140
- 0x94 , 0x92 , 0x3A , 0x9A , 0x7C , 0x36 , 0x8C , 0xB9 , 0xDF , 0x1F , 0x15 , 0xDF , 0x4D , 0x14 , 0xB5 ,
141
- 0xDA , 0x86 , 0x34 , 0x5C , 0x2B , 0xB3 , 0x6B , 0xA5 , 0x6C , 0x99 , 0x8E , 0xF6 , 0x71 , 0x3D , 0x17 ,
142
- 0xCB , 0x5E , 0x30 , 0x2E , 0x0F , 0xC0 , 0xD5 , 0xC9 , 0x90 , 0x45 , 0x71 , 0x9C , 0x26 , 0x7A , 0x02 ,
143
- 0x6F , 0x1C , 0x51 , 0xAA , 0x2F , 0x14 , 0xC4 , 0x5E , 0xB4 , 0x57 , 0xBB , 0x60 , 0xC4 , 0x6B , 0x0E ,
144
- 0x45 , 0x49 , 0xF4 , 0x16 , 0xEC , 0x81 , 0x9B , 0xD7 , 0x1A , 0xD1 , 0x6D , 0xAD , 0x5B , 0x12 , 0x63 ,
145
- 0x4E , 0x0E , 0x58 , 0x5D , 0xD1 , 0x2A , 0x78 , 0x49 , 0x4F , 0x85 , 0x42 , 0x10 , 0xB7 , 0x1F , 0x1C ,
146
- 0x2B , 0x18 , 0xEE , 0x8F , 0x33 , 0xB2 , 0x83 , 0xEB , 0x0D , 0x8F , 0xB1 , 0x96 , 0x95 , 0xC3 , 0xBD ,
147
- 0xCD , 0xDC , 0x2F , 0xFD , 0xBC , 0x3C , 0xCB , 0x11 ,
148
- ] ;
149
- let expected_output = [
150
- 0x86 , 0xC3 , 0x77 , 0x98 , 0xD2 , 0xC3 , 0x41 , 0xA0 , 0x3D , 0x40 , 0xB8 , 0xB9 , 0xE2 , 0xD0 , 0x21 ,
151
- 0xB8 , 0xED , 0xF7 , 0xEC , 0x7C , 0x76 , 0x24 , 0x85 , 0x2B , 0xE4 , 0x54 , 0xC7 , 0xEE , 0x3A , 0x2A ,
152
- 0xAD , 0x4E , 0x9D , 0x55 , 0x30 , 0x9E , 0xD9 , 0x95 , 0x27 , 0xD0 , 0x92 , 0x04 , 0xD4 , 0x0B , 0x63 ,
153
- 0xDC , 0x5B , 0x6F , 0x4D , 0x25 , 0x90 , 0xF2 , 0x22 , 0x83 , 0x18 , 0x18 , 0x18 , 0x19 , 0xA8 , 0x01 ,
154
- 0xE2 , 0x6A , 0x90 , 0x90 , 0x2B , 0xE1 , 0xE2 , 0xD9 , 0xF0 , 0x51 , 0x81 , 0xF4 , 0x59 , 0x6E , 0xFA ,
155
- 0xBC , 0x35 , 0xF9 , 0x84 , 0xEB , 0x0C , 0xCB , 0x22 , 0xFC , 0xB2 , 0x2A , 0xDC , 0x5C , 0x98 , 0xD3 ,
156
- 0xED , 0x83 , 0x95 , 0xCD , 0x50 , 0xD4 , 0xCE , 0x5A , 0x52 , 0x16 , 0x8E , 0xD8 , 0x8C , 0x03 , 0x08 ,
157
- 0x1D , 0x60 , 0xB9 , 0xB2 , 0x8B , 0xAE , 0x4D , 0xFE , 0xA8 , 0x3F , 0xFB , 0x07 , 0xF1 , 0x35 , 0xB5 ,
158
- 0x71 , 0x78 , 0xE6 , 0xC8 , 0x9B , 0x20 , 0x6A , 0xD3 ,
159
- ] ;
147
+ let input = hex ! (
148
+ "
149
+ A86205AB 6A375566 79BBB10C 3845E694
150
+ 923A9A7C 368CB9DF 1F15DF4D 14B5DA86
151
+ 345C2BB3 6BA56C99 8EF6713D 17CB5E30
152
+ 2E0FC0D5 C9904571 9C267A02 6F1C51AA
153
+ 2F14C45E B457BB60 C46B0E45 49F416EC
154
+ 819BD71A D16DAD5B 12634E0E 585DD12A
155
+ 78494F85 4210B71F 1C2B18EE 8F33B283
156
+ EB0D8FB1 9695C3BD CDDC2FFD BC3CCB11
157
+ "
158
+ ) ;
159
+ let expected_output = hex ! (
160
+ "
161
+ 86C37798 D2C341A0 3D40B8B9 E2D021B8
162
+ EDF7EC7C 7624852B E454C7EE 3A2AAD4E
163
+ 9D55309E D99527D0 9204D40B 63DC5B6F
164
+ 4D2590F2 22831818 1819A801 E26A9090
165
+ 2BE1E2D9 F05181F4 596EFABC 35F984EB
166
+ 0CCB22FC B22ADC5C 98D3ED83 95CD50D4
167
+ CE5A5216 8ED88C03 081D60B9 B28BAE4D
168
+ FEA83FFB 07F135B5 7178E6C8 9B206AD3
169
+ "
170
+ ) ;
160
171
161
172
let hash_params = setup_hash_params ( ) ;
162
173
0 commit comments