iPXE
wycheproof_hmac_sha256.c
Go to the documentation of this file.
1/* This file is automatically generated by import.py.
2 *
3 * DO NOT EDIT THIS FILE. Any changes will be lost.
4 *
5 */
6
8
9/* HMAC-SHA256 test case 1 */
10HMAC_TEST ( wycheproof_hmac_sha256_7c4140b3, &sha256_algorithm,
11 KEY ( 0x1e, 0x22, 0x5c, 0xaf, 0xb9, 0x03, 0x39, 0xbb, 0xa1, 0xb2,
12 0x40, 0x76, 0xd4, 0x20, 0x6c, 0x3e, 0x79, 0xc3, 0x55, 0x80,
13 0x5d, 0x85, 0x16, 0x82, 0xbc, 0x81, 0x8b, 0xaa, 0x4f, 0x5a,
14 0x77, 0x79 ),
15 DATA(),
16 EXPECTED ( 0xb1, 0x75, 0xb5, 0x7d, 0x89, 0xea, 0x6c, 0xb6, 0x06,
17 0xfb, 0x33, 0x63, 0xf2, 0x53, 0x8a, 0xbd, 0x73, 0xa4,
18 0xc0, 0x0b, 0x4a, 0x13, 0x86, 0x90, 0x5b, 0xac, 0x80,
19 0x90, 0x04, 0xcf, 0x19, 0x33 ) );
20
21/* HMAC-SHA256 test case 2 */
22HMAC_TEST ( wycheproof_hmac_sha256_c53e05ac, &sha256_algorithm,
23 KEY ( 0x81, 0x59, 0xfd, 0x15, 0x13, 0x3c, 0xd9, 0x64, 0xc9, 0xa6,
24 0x96, 0x4c, 0x94, 0xf0, 0xea, 0x26, 0x9a, 0x80, 0x6f, 0xd9,
25 0xf4, 0x3f, 0x0d, 0xa5, 0x8b, 0x6c, 0xd1, 0xb3, 0x3d, 0x18,
26 0x9b, 0x2a ),
27 DATA ( 0x77 ),
28 EXPECTED ( 0xdf, 0xc5, 0x10, 0x5d, 0x5e, 0xec, 0xf7, 0xae, 0x7b,
29 0x8b, 0x8d, 0xe3, 0x93, 0x0e, 0x76, 0x59, 0xe8, 0x4c,
30 0x41, 0x72, 0xf2, 0x55, 0x51, 0x42, 0xf1, 0xe5, 0x68,
31 0xfc, 0x18, 0x72, 0xad, 0x93 ) );
32
33/* HMAC-SHA256 test case 3 */
34HMAC_TEST ( wycheproof_hmac_sha256_5a32d735, &sha256_algorithm,
35 KEY ( 0x85, 0xa7, 0xcb, 0xaa, 0xe8, 0x25, 0xbb, 0x82, 0xc9, 0xb6,
36 0xf6, 0xc5, 0xc2, 0xaf, 0x5a, 0xc0, 0x3d, 0x1f, 0x6d, 0xaa,
37 0x63, 0xd2, 0xa9, 0x3c, 0x18, 0x99, 0x48, 0xec, 0x41, 0xb9,
38 0xde, 0xd9 ),
39 DATA ( 0xa5, 0x9b ),
40 EXPECTED ( 0x0f, 0xe2, 0xf1, 0x3b, 0xba, 0x21, 0x98, 0xf6, 0xdd,
41 0xa1, 0xa0, 0x84, 0xbe, 0x92, 0x8e, 0x30, 0x4e, 0x9c,
42 0xb1, 0x6a, 0x56, 0xbc, 0x0b, 0x7b, 0x93, 0x9a, 0x07,
43 0x32, 0x80, 0x24, 0x43, 0x73 ) );
44
45/* HMAC-SHA256 test case 4 */
46HMAC_TEST ( wycheproof_hmac_sha256_246ad1bf, &sha256_algorithm,
47 KEY ( 0x48, 0xf3, 0x02, 0x93, 0x34, 0xe5, 0x5c, 0xfb, 0xd5, 0x74,
48 0xcc, 0xc7, 0x65, 0xfb, 0x2c, 0x36, 0x85, 0xaa, 0xb1, 0xf4,
49 0x83, 0x7d, 0x23, 0x37, 0x08, 0x74, 0xa3, 0xe6, 0x34, 0xc3,
50 0xa7, 0x6d ),
51 DATA ( 0xc7, 0xb8, 0xb2 ),
52 EXPECTED ( 0x6c, 0x13, 0xf7, 0x9b, 0xb2, 0xd5, 0xb6, 0xf9, 0xa3,
53 0x15, 0xfe, 0x8f, 0xd6, 0xcb, 0xb5, 0xcb, 0x81, 0x7a,
54 0x66, 0x06, 0x87, 0x00, 0x9d, 0xec, 0xcd, 0x88, 0xc3,
55 0x77, 0x42, 0x9e, 0x59, 0x6d ) );
56
57/* HMAC-SHA256 test case 5 */
58HMAC_TEST ( wycheproof_hmac_sha256_a5ad9fb1, &sha256_algorithm,
59 KEY ( 0xde, 0x8b, 0x5b, 0x5b, 0x2f, 0x09, 0x64, 0x5b, 0xe4, 0x7e,
60 0xcb, 0x64, 0x07, 0xa4, 0xe1, 0xd9, 0xc6, 0xb3, 0x3a, 0xe3,
61 0xc2, 0xd2, 0x25, 0x17, 0xd3, 0x35, 0x7d, 0xa0, 0x35, 0x7a,
62 0x31, 0x39 ),
63 DATA ( 0xcc, 0x02, 0x1d, 0x65 ),
64 EXPECTED ( 0xe8, 0x75, 0x38, 0xeb, 0x16, 0x7e, 0x62, 0xd7, 0xcb,
65 0x23, 0x66, 0x90, 0xff, 0x3f, 0x03, 0x4a, 0x9c, 0x12,
66 0xd4, 0x17, 0xaa, 0x8d, 0xfa, 0x69, 0x4d, 0x74, 0x05,
67 0xf9, 0xe1, 0xf8, 0x5f, 0xe8 ) );
68
69/* HMAC-SHA256 test case 6 */
70HMAC_TEST ( wycheproof_hmac_sha256_7fba214d, &sha256_algorithm,
71 KEY ( 0xb7, 0x93, 0x89, 0x10, 0xf5, 0x18, 0xf1, 0x32, 0x05, 0xca,
72 0x14, 0x92, 0xc6, 0x69, 0x00, 0x1a, 0x14, 0xff, 0x91, 0x3c,
73 0x8a, 0xb4, 0xa0, 0xdc, 0x35, 0x64, 0xe7, 0x41, 0x8e, 0x91,
74 0x29, 0x7c ),
75 DATA ( 0xa4, 0xa6, 0xef, 0x6e, 0xbd ),
76 EXPECTED ( 0x01, 0xa9, 0x3f, 0x4e, 0xd2, 0x16, 0xd0, 0xb2, 0x80,
77 0x89, 0x63, 0x01, 0xe3, 0x66, 0xaa, 0x67, 0xb2, 0x5e,
78 0x6b, 0x6a, 0x5a, 0x6e, 0x84, 0xf2, 0x91, 0xa1, 0x33,
79 0x91, 0xc6, 0xe4, 0x96, 0xc5 ) );
80
81/* HMAC-SHA256 test case 7 */
82HMAC_TEST ( wycheproof_hmac_sha256_3530b75d, &sha256_algorithm,
83 KEY ( 0x1b, 0xb9, 0x97, 0xff, 0x4d, 0xe8, 0xa5, 0xa3, 0x91, 0xde,
84 0x5c, 0x08, 0xa3, 0x3b, 0xc2, 0xc7, 0xc2, 0x89, 0x1e, 0x47,
85 0xad, 0x5b, 0x9c, 0x63, 0x11, 0x01, 0x92, 0xf7, 0x8b, 0x98,
86 0xfe, 0x78 ),
87 DATA ( 0x66, 0x7e, 0x01, 0x5d, 0xf7, 0xfc ),
88 EXPECTED ( 0x06, 0xb5, 0xd8, 0xc5, 0x39, 0x23, 0x23, 0xa8, 0x02,
89 0xbc, 0x5c, 0xdd, 0x0b, 0x3c, 0x52, 0x74, 0x54, 0xa8,
90 0x73, 0xd9, 0x65, 0x1c, 0x36, 0x88, 0x36, 0xea, 0xa4,
91 0xad, 0x98, 0x2b, 0xa5, 0x46 ) );
92
93/* HMAC-SHA256 test case 8 */
94HMAC_TEST ( wycheproof_hmac_sha256_bb931dd4, &sha256_algorithm,
95 KEY ( 0x32, 0xfd, 0xed, 0xa3, 0x9f, 0x98, 0xb4, 0xf4, 0x42, 0x6c,
96 0x2d, 0x2a, 0xc0, 0x0a, 0xb5, 0xdd, 0x4b, 0xfa, 0xbb, 0x68,
97 0xf3, 0x11, 0x44, 0x72, 0x56, 0xed, 0x6d, 0x3d, 0x3a, 0x51,
98 0xb1, 0x54 ),
99 DATA ( 0x41, 0x63, 0xa9, 0xf7, 0x7e, 0x41, 0xf5 ),
100 EXPECTED ( 0x1b, 0x01, 0x03, 0x72, 0x9f, 0x48, 0xc2, 0x77, 0x2b,
101 0xb1, 0x32, 0xae, 0xf9, 0xeb, 0xd6, 0xdd, 0x6a, 0xaf,
102 0xc9, 0x14, 0x5d, 0xf6, 0xd5, 0xc5, 0x14, 0xb2, 0x33,
103 0xee, 0x92, 0xef, 0x4a, 0x00 ) );
104
105/* HMAC-SHA256 test case 9 */
106HMAC_TEST ( wycheproof_hmac_sha256_9f144ae3, &sha256_algorithm,
107 KEY ( 0x23, 0x3e, 0x4f, 0xde, 0xe7, 0x0b, 0xcc, 0x20, 0x23, 0x5b,
108 0x69, 0x77, 0xdd, 0xfc, 0x05, 0xb0, 0xdf, 0x66, 0xf5, 0x63,
109 0x5d, 0x82, 0x7c, 0x66, 0xe5, 0xa6, 0x3c, 0xdb, 0x16, 0xa2,
110 0x49, 0x38 ),
111 DATA ( 0xfd, 0xb2, 0xee, 0x4b, 0x6d, 0x1a, 0x0a, 0xc2 ),
112 EXPECTED ( 0x12, 0x0b, 0x26, 0xee, 0x13, 0x55, 0xc1, 0x34, 0xc2,
113 0x62, 0x51, 0x3c, 0x79, 0x22, 0xde, 0xb6, 0xc4, 0xfd,
114 0x90, 0x30, 0x3d, 0xe4, 0xcd, 0x61, 0xb9, 0xf9, 0xcd,
115 0x08, 0xf2, 0x2d, 0x6e, 0x18 ) );
116
117/* HMAC-SHA256 test case 10 */
118HMAC_TEST ( wycheproof_hmac_sha256_bc8aa2d4, &sha256_algorithm,
119 KEY ( 0xb9, 0x84, 0xc6, 0x73, 0x4e, 0x0b, 0xd1, 0x2b, 0x17, 0x37,
120 0xb2, 0xfc, 0x7a, 0x1b, 0x38, 0x03, 0xb4, 0xdf, 0xec, 0x40,
121 0x21, 0x40, 0xa5, 0x7b, 0x9e, 0xcc, 0xc3, 0x54, 0x14, 0xae,
122 0x66, 0x1b ),
123 DATA ( 0xde, 0xa5, 0x84, 0xd0, 0xe2, 0xa1, 0x4a, 0xd5, 0xfd ),
124 EXPECTED ( 0x88, 0xbc, 0x22, 0x82, 0xe5, 0xfc, 0xe4, 0x7e, 0xc6,
125 0xd9, 0x89, 0x53, 0x95, 0xcd, 0x47, 0xff, 0xf9, 0x1a,
126 0x0c, 0xdc, 0x58, 0x9a, 0x8f, 0xd5, 0x6d, 0x8d, 0x34,
127 0x46, 0x16, 0x53, 0x3a, 0x3d ) );
128
129/* HMAC-SHA256 test case 11 */
130HMAC_TEST ( wycheproof_hmac_sha256_d5e85ba4, &sha256_algorithm,
131 KEY ( 0xd0, 0xca, 0xf1, 0x45, 0x6a, 0xc5, 0xe2, 0x55, 0xfa, 0x6a,
132 0xfd, 0x61, 0xa7, 0x9d, 0xc8, 0xc7, 0x16, 0xf5, 0x35, 0x8a,
133 0x29, 0x8a, 0x50, 0x82, 0x71, 0x36, 0x3f, 0xe1, 0xff, 0x98,
134 0x35, 0x61 ),
135 DATA ( 0x18, 0x26, 0x1d, 0xc8, 0x06, 0x91, 0x3c, 0x53, 0x46, 0x66 ),
136 EXPECTED ( 0xf6, 0x78, 0xf0, 0x81, 0xd8, 0x3c, 0xf1, 0x26, 0xad,
137 0x6b, 0xd5, 0x2c, 0x2d, 0xff, 0xd7, 0x86, 0x21, 0x4f,
138 0x51, 0x9c, 0x47, 0x45, 0x2b, 0x85, 0xa9, 0x74, 0x58,
139 0xd0, 0xc1, 0x0c, 0x3e, 0xe5 ) );
140
141/* HMAC-SHA256 test case 12 */
142HMAC_TEST ( wycheproof_hmac_sha256_9b653a9b, &sha256_algorithm,
143 KEY ( 0x83, 0x5b, 0xc8, 0x24, 0x1e, 0xd8, 0x17, 0x73, 0x5e, 0xc9,
144 0xd3, 0xd0, 0xe2, 0xdf, 0x4c, 0x17, 0x3e, 0xe4, 0xdd, 0xed,
145 0x4a, 0x8e, 0xf0, 0xc0, 0x4a, 0x96, 0xc4, 0x8f, 0x11, 0x82,
146 0x04, 0x63 ),
147 DATA ( 0x26, 0xf8, 0x08, 0x3e, 0x94, 0x4b, 0xac, 0xf0, 0x4e, 0x9a,
148 0x4d ),
149 EXPECTED ( 0xe0, 0xe4, 0x6c, 0xd7, 0xd1, 0xa7, 0x5b, 0x3d, 0x10,
150 0x28, 0x93, 0xda, 0x64, 0xde, 0xf4, 0x6e, 0x45, 0x53,
151 0x08, 0x76, 0x1f, 0x1d, 0x90, 0x87, 0x86, 0x62, 0x8c,
152 0xa7, 0xee, 0x22, 0xa0, 0xeb ) );
153
154/* HMAC-SHA256 test case 13 */
155HMAC_TEST ( wycheproof_hmac_sha256_82ad1808, &sha256_algorithm,
156 KEY ( 0x05, 0x5f, 0x95, 0xc9, 0x46, 0x1b, 0x08, 0x09, 0x57, 0x5e,
157 0xcc, 0xdf, 0xa5, 0xcd, 0xd0, 0x62, 0x75, 0xf2, 0x5d, 0x30,
158 0x91, 0x5c, 0x4e, 0xb8, 0xdb, 0x40, 0xe1, 0xac, 0xd3, 0xab,
159 0x75, 0x91 ),
160 DATA ( 0xbf, 0xb7, 0xd6, 0xa0, 0x8d, 0xba, 0xa5, 0x22, 0x5f, 0x32,
161 0x08, 0x87 ),
162 EXPECTED ( 0xe7, 0x6d, 0x5c, 0x8c, 0x07, 0x0a, 0x6b, 0x3c, 0x48,
163 0x24, 0xe9, 0xf3, 0x42, 0xdc, 0x30, 0x56, 0xe6, 0x38,
164 0x19, 0x50, 0x9e, 0x1d, 0xef, 0x98, 0xb5, 0x85, 0xae,
165 0xba, 0x0d, 0x63, 0x8a, 0x00 ) );
166
167/* HMAC-SHA256 test case 14 */
168HMAC_TEST ( wycheproof_hmac_sha256_e2d95b9c, &sha256_algorithm,
169 KEY ( 0xe4, 0x0f, 0x7a, 0x3e, 0xb8, 0x8d, 0xde, 0xc4, 0xc6, 0x34,
170 0x7e, 0xa4, 0xd6, 0x76, 0x10, 0x75, 0x6c, 0x82, 0xc8, 0xeb,
171 0xcc, 0x23, 0x76, 0x29, 0xbf, 0x87, 0x3c, 0xca, 0xbc, 0x32,
172 0x98, 0x4a ),
173 DATA ( 0x7f, 0xe4, 0x3f, 0xeb, 0xc7, 0x84, 0x74, 0x64, 0x9e, 0x45,
174 0xbf, 0x99, 0xb2 ),
175 EXPECTED ( 0xaa, 0x57, 0xd0, 0x20, 0xaa, 0x24, 0xad, 0x82, 0x34,
176 0x72, 0xc2, 0xb8, 0x0f, 0xf2, 0xd0, 0xcf, 0x47, 0x5f,
177 0x7d, 0xe0, 0x06, 0x8f, 0x9a, 0x59, 0xe8, 0x11, 0x2f,
178 0xed, 0xe5, 0x3a, 0x35, 0x81 ) );
179
180/* HMAC-SHA256 test case 15 */
181HMAC_TEST ( wycheproof_hmac_sha256_ed726ccf, &sha256_algorithm,
182 KEY ( 0xb0, 0x20, 0xad, 0x1d, 0xe1, 0xc1, 0x41, 0xf7, 0xec, 0x61,
183 0x5e, 0xe5, 0x70, 0x15, 0x21, 0x77, 0x3f, 0x9b, 0x23, 0x2e,
184 0x4d, 0x06, 0x37, 0x6c, 0x38, 0x28, 0x94, 0xce, 0x51, 0xa6,
185 0x1f, 0x48 ),
186 DATA ( 0x81, 0xc7, 0x58, 0x1a, 0x19, 0x4b, 0x5e, 0x71, 0xb4, 0x11,
187 0x46, 0xa5, 0x82, 0xc1 ),
188 EXPECTED ( 0xf4, 0x5c, 0x72, 0x60, 0x3c, 0xc1, 0x60, 0xc0, 0x76,
189 0x2f, 0x70, 0x34, 0x07, 0x84, 0x4a, 0x77, 0x81, 0xdf,
190 0xe0, 0xf1, 0xdd, 0xf0, 0xaa, 0xf4, 0xcc, 0xd8, 0x20,
191 0x5e, 0x94, 0x46, 0x9a, 0xed ) );
192
193/* HMAC-SHA256 test case 16 */
194HMAC_TEST ( wycheproof_hmac_sha256_cdd0b9c4, &sha256_algorithm,
195 KEY ( 0x9f, 0x3f, 0xd6, 0x1a, 0x10, 0x52, 0x02, 0x64, 0x8e, 0xcf,
196 0xf6, 0x07, 0x4c, 0x95, 0xe5, 0x02, 0xc1, 0xc5, 0x1a, 0xcd,
197 0x32, 0xec, 0x53, 0x8a, 0x5c, 0xce, 0x89, 0xef, 0x84, 0x1f,
198 0x79, 0x89 ),
199 DATA ( 0x2a, 0x76, 0xf2, 0xac, 0xda, 0xce, 0x42, 0xe3, 0xb7, 0x79,
200 0x72, 0x49, 0x46, 0x91, 0x2c ),
201 EXPECTED ( 0x02, 0x26, 0xee, 0x13, 0xcc, 0x05, 0xe2, 0x34, 0x01,
202 0x35, 0xb3, 0xf4, 0xb2, 0x7a, 0x9d, 0xa1, 0xa1, 0x60,
203 0xf6, 0x17, 0x0f, 0xe8, 0x05, 0xda, 0xdd, 0x98, 0xa3,
204 0x71, 0x1e, 0xc9, 0xc4, 0x21 ) );
205
206/* HMAC-SHA256 test case 17 */
207HMAC_TEST ( wycheproof_hmac_sha256_2187b903, &sha256_algorithm,
208 KEY ( 0x6f, 0xa3, 0x53, 0x86, 0x8c, 0x82, 0xe5, 0xde, 0xee, 0xda,
209 0xc7, 0xf0, 0x94, 0x71, 0xa6, 0x1b, 0xf7, 0x49, 0xab, 0x54,
210 0x98, 0x23, 0x9e, 0x94, 0x7e, 0x01, 0x2e, 0xee, 0x3c, 0x82,
211 0xd7, 0xc4 ),
212 DATA ( 0xae, 0xed, 0x3e, 0x4d, 0x4c, 0xb9, 0xbb, 0xb6, 0x0d, 0x48,
213 0x2e, 0x98, 0xc1, 0x26, 0xc0, 0xf5 ),
214 EXPECTED ( 0x9e, 0xd7, 0xf0, 0xe7, 0x38, 0x12, 0xa2, 0x7a, 0x87,
215 0xa3, 0x80, 0x8e, 0xe0, 0xc8, 0x9a, 0x64, 0x56, 0x49,
216 0x9e, 0x83, 0x59, 0x74, 0xba, 0x57, 0xc5, 0xaa, 0xb2,
217 0xa0, 0xd8, 0xc6, 0x9e, 0x93 ) );
218
219/* HMAC-SHA256 test case 18 */
220HMAC_TEST ( wycheproof_hmac_sha256_c478ea6a, &sha256_algorithm,
221 KEY ( 0x53, 0x00, 0x48, 0x94, 0x94, 0xca, 0x86, 0x22, 0x1c, 0x91,
222 0xd6, 0xd9, 0x53, 0x95, 0x2a, 0xe1, 0xa5, 0xe0, 0x97, 0x13,
223 0x9d, 0xc9, 0xcf, 0x11, 0x79, 0xc2, 0xf5, 0x64, 0x33, 0x75,
224 0x38, 0x24 ),
225 DATA ( 0x90, 0xfe, 0xa6, 0xcf, 0x2b, 0xd8, 0x11, 0xb4, 0x49, 0xf3,
226 0x33, 0xee, 0x92, 0x33, 0xe5, 0x76, 0x97 ),
227 EXPECTED ( 0x5b, 0x69, 0x2c, 0xba, 0x13, 0xb5, 0x4f, 0xff, 0xc3,
228 0xad, 0xcb, 0xb0, 0xe0, 0x15, 0xcc, 0x01, 0x1f, 0xbf,
229 0xd6, 0x12, 0x35, 0x30, 0x3f, 0xf0, 0xad, 0x2a, 0x49,
230 0x77, 0x50, 0x83, 0xbf, 0x22 ) );
231
232/* HMAC-SHA256 test case 19 */
233HMAC_TEST ( wycheproof_hmac_sha256_fa440b8d, &sha256_algorithm,
234 KEY ( 0x38, 0x3e, 0x7c, 0x5c, 0x13, 0x47, 0x6a, 0x62, 0x26, 0x84,
235 0x23, 0xef, 0x05, 0x00, 0x47, 0x9f, 0x9e, 0x86, 0xe2, 0x36,
236 0xc5, 0xa0, 0x81, 0xc6, 0x44, 0x91, 0x89, 0xe6, 0xaf, 0xdf,
237 0x2a, 0xf5 ),
238 DATA ( 0x32, 0x02, 0x70, 0x5a, 0xf8, 0x9f, 0x95, 0x55, 0xc5, 0x40,
239 0xb0, 0xe1, 0x27, 0x69, 0x11, 0xd0, 0x19, 0x71, 0xab, 0xb2,
240 0xc3, 0x5c, 0x78, 0xb2 ),
241 EXPECTED ( 0x4e, 0x49, 0x01, 0x59, 0x2b, 0xa4, 0x64, 0x76, 0x40,
242 0x8d, 0x75, 0x84, 0x35, 0xc7, 0xd1, 0xb4, 0x89, 0xd2,
243 0x68, 0x9a, 0xfd, 0x84, 0xce, 0xaa, 0xee, 0x78, 0xbf,
244 0xb9, 0x1f, 0xd9, 0x39, 0x1d ) );
245
246/* HMAC-SHA256 test case 20 */
247HMAC_TEST ( wycheproof_hmac_sha256_774ada4f, &sha256_algorithm,
248 KEY ( 0x18, 0x6e, 0x24, 0x8a, 0xd8, 0x24, 0xe1, 0xeb, 0x93, 0x32,
249 0x9a, 0x7f, 0xdc, 0xd5, 0x65, 0xb6, 0xcb, 0x4e, 0xaf, 0x3f,
250 0x85, 0xb9, 0x0b, 0x91, 0x07, 0x77, 0x12, 0x8d, 0x8c, 0x53,
251 0x8d, 0x27 ),
252 DATA ( 0x92, 0xef, 0x9f, 0xf5, 0x2f, 0x46, 0xec, 0xcc, 0x7e, 0x38,
253 0xb9, 0xee, 0x19, 0xfd, 0x2d, 0xe3, 0xb3, 0x77, 0x26, 0xc8,
254 0xe6, 0xce, 0x9e, 0x1b, 0x96, 0xdb, 0x5d, 0xda, 0x4c, 0x31,
255 0x79, 0x02 ),
256 EXPECTED ( 0x3f, 0xc1, 0xd7, 0x3d, 0xd4, 0xa8, 0x85, 0x8c, 0x1f,
257 0xc3, 0xd8, 0xc4, 0xa3, 0xf3, 0x3e, 0xd5, 0xad, 0x0c,
258 0x70, 0x21, 0x00, 0x38, 0x39, 0x4a, 0x59, 0x02, 0xcb,
259 0x26, 0xfe, 0x28, 0x73, 0x48 ) );
260
261/* HMAC-SHA256 test case 21 */
262HMAC_TEST ( wycheproof_hmac_sha256_42d336a6, &sha256_algorithm,
263 KEY ( 0x28, 0x85, 0x5c, 0x7e, 0xfc, 0x85, 0x32, 0xd9, 0x25, 0x67,
264 0x30, 0x09, 0x33, 0xcc, 0x1c, 0xa2, 0xd0, 0x58, 0x6f, 0x55,
265 0xdc, 0xc9, 0xf0, 0x54, 0xfc, 0xca, 0x2f, 0x05, 0x25, 0x4f,
266 0xbf, 0x7f ),
267 DATA ( 0x9c, 0x09, 0x20, 0x7f, 0xf0, 0xe6, 0xe5, 0x82, 0xcb, 0x37,
268 0x47, 0xdc, 0xa9, 0x54, 0xc9, 0x4d, 0x45, 0xc0, 0x5e, 0x93,
269 0xf1, 0xe6, 0xf2, 0x11, 0x79, 0xcf, 0x0e, 0x25, 0xb4, 0xce,
270 0xde, 0x74, 0xb5, 0x47, 0x9d, 0x32, 0xf5, 0x16, 0x69, 0x35,
271 0xc8, 0x6f, 0x04, 0x41, 0x90, 0x58, 0x65 ),
272 EXPECTED ( 0x78, 0x8c, 0x05, 0x89, 0x00, 0x0f, 0xb7, 0xf0, 0xb5,
273 0xd5, 0x1f, 0x15, 0x96, 0x47, 0x2b, 0xc9, 0xec, 0x41,
274 0x34, 0x21, 0xa4, 0x3d, 0xf9, 0x6e, 0xe3, 0x2b, 0x02,
275 0xb5, 0xd2, 0x75, 0xff, 0xe3 ) );
276
277/* HMAC-SHA256 test case 22 */
278HMAC_TEST ( wycheproof_hmac_sha256_20836324, &sha256_algorithm,
279 KEY ( 0x8e, 0x54, 0x0c, 0xb3, 0x0c, 0x94, 0x83, 0x6a, 0xe2, 0xa5,
280 0x95, 0x0f, 0x35, 0x5d, 0x48, 0x2a, 0x70, 0x02, 0xe2, 0x55,
281 0x20, 0x7e, 0x94, 0xfd, 0xa3, 0xf7, 0xef, 0x1a, 0x09, 0x90,
282 0x13, 0xa0 ),
283 DATA ( 0xd6, 0x50, 0x0f, 0x95, 0xe1, 0x12, 0x62, 0xe3, 0x08, 0xbf,
284 0x3d, 0xf4, 0xdf, 0x4b, 0x85, 0x5f, 0x33, 0xe8, 0x57, 0x56,
285 0x3d, 0x45, 0x43, 0xf1, 0x95, 0x63, 0x9a, 0x0a, 0x17, 0xb4,
286 0x42, 0xeb, 0x9f, 0xdc, 0xc1, 0x36, 0x7d, 0x2e, 0xee, 0x75,
287 0xc8, 0xf8, 0x05, 0x73, 0x0b, 0x89, 0x29, 0x0f ),
288 EXPECTED ( 0x39, 0x69, 0x7e, 0x70, 0xce, 0x74, 0x1f, 0xeb, 0x33,
289 0xde, 0xdc, 0x06, 0x9f, 0x00, 0xb5, 0x62, 0x7f, 0xd9,
290 0xb8, 0x37, 0xd1, 0x0c, 0xbd, 0xd5, 0xb6, 0xd1, 0x9c,
291 0xfb, 0xd5, 0x11, 0xdd, 0x2c ) );
292
293/* HMAC-SHA256 test case 23 */
294HMAC_TEST ( wycheproof_hmac_sha256_6433873a, &sha256_algorithm,
295 KEY ( 0x69, 0xc5, 0x0d, 0x52, 0x74, 0x35, 0x81, 0x88, 0xcf, 0xf4,
296 0xc0, 0xfa, 0xe7, 0x42, 0x24, 0x3d, 0x4e, 0x8a, 0x5e, 0x5b,
297 0xa5, 0x5d, 0x94, 0xff, 0x40, 0xed, 0xd9, 0x0f, 0x6a, 0x43,
298 0xdd, 0x10 ),
299 DATA ( 0x1a, 0xc5, 0x25, 0x5a, 0xff, 0x05, 0x28, 0x28, 0xd8, 0xea,
300 0x21, 0xb3, 0x76, 0xf1, 0xeb, 0xdd, 0x4b, 0xb8, 0x79, 0x94,
301 0x99, 0x13, 0x90, 0x04, 0x05, 0xae, 0xbc, 0xe8, 0x3e, 0x48,
302 0xfe, 0xb6, 0x81, 0x3b, 0x5e, 0x9c, 0x89, 0xf9, 0x45, 0x01,
303 0xa8, 0xad, 0xe4, 0x1b, 0x26, 0xb8, 0x15, 0xc5, 0x21 ),
304 EXPECTED ( 0x4b, 0x0b, 0x4d, 0x04, 0x16, 0xfa, 0x2e, 0x11, 0x58,
305 0x6f, 0xbf, 0xa7, 0xfb, 0x11, 0x26, 0x1e, 0x69, 0x99,
306 0x1d, 0xfa, 0x34, 0x01, 0x9b, 0x98, 0x93, 0xd6, 0x9a,
307 0x2b, 0xe8, 0xc1, 0xfc, 0x80 ) );
308
309/* HMAC-SHA256 test case 24 */
310HMAC_TEST ( wycheproof_hmac_sha256_ca5b8023, &sha256_algorithm,
311 KEY ( 0x23, 0x20, 0x9b, 0x7c, 0x5a, 0xad, 0xcb, 0xd1, 0x3f, 0x72,
312 0x79, 0xaf, 0x1a, 0x86, 0xd3, 0xc7, 0xae, 0x8f, 0x17, 0x9d,
313 0x1b, 0xca, 0xaa, 0xd0, 0xdf, 0xf9, 0xa1, 0x53, 0x02, 0xe7,
314 0x8d, 0xbf ),
315 DATA ( 0x84, 0xbd, 0xac, 0x37, 0xe1, 0xaf, 0x35, 0xd9, 0x35, 0x64,
316 0x04, 0xe2, 0x78, 0x7d, 0x47, 0xec, 0xe5, 0x83, 0x48, 0xde,
317 0xa7, 0x6a, 0x4a, 0x46, 0xe8, 0xaa, 0xde, 0x34, 0x63, 0xd4,
318 0xdb, 0x8c, 0x94, 0xa0, 0x51, 0xbe, 0x37, 0x33, 0xb3, 0x8d,
319 0x75, 0x69, 0x84, 0x86, 0x5d, 0x56, 0xc6, 0x0e, 0x80, 0x25,
320 0xf1, 0x5e, 0x3f, 0x96, 0x8f, 0x09, 0x3e, 0x7f, 0xb7, 0xeb,
321 0xc7, 0xe3, 0x11, 0x89, 0xc5, 0x69, 0x2d, 0x15, 0xed, 0x42,
322 0x56, 0x73, 0x7b, 0x9b, 0x18, 0x94, 0xe5, 0x80, 0x95, 0x03,
323 0xaa, 0xa1, 0xc9, 0x98, 0x3f, 0xb0, 0x96, 0xaa, 0x21, 0x91,
324 0x63, 0x61, 0xee, 0xb6, 0xef, 0x45, 0x5b, 0x12, 0x97, 0x23,
325 0xa1, 0xa1, 0xdd, 0xf9, 0xde, 0xdd, 0xea, 0x20, 0x85, 0x29,
326 0xa6, 0x48 ),
327 EXPECTED ( 0x4a, 0x85, 0xc4, 0x79, 0xd1, 0x65, 0x0d, 0xbd, 0x73,
328 0xbc, 0x52, 0x48, 0x07, 0x4a, 0x55, 0xff, 0x50, 0x21,
329 0x8b, 0xdd, 0xaa, 0x8d, 0x1f, 0xdd, 0xaa, 0xf4, 0x49,
330 0x46, 0xdc, 0x19, 0xae, 0xfb ) );
331
332/* HMAC-SHA256 test case 25 */
333HMAC_TEST ( wycheproof_hmac_sha256_1900ae3b, &sha256_algorithm,
334 KEY ( 0x7c, 0x9c, 0xc6, 0x67, 0xca, 0xe1, 0x75, 0xf4, 0x48, 0xfa,
335 0xa9, 0x66, 0x47, 0x31, 0x96, 0x33, 0xb2, 0xd4, 0x85, 0x31,
336 0x37, 0x3a, 0xe7, 0xd3, 0x16, 0xc4, 0x4d, 0xdd, 0x8b, 0x9f,
337 0x69, 0xcf ),
338 DATA ( 0x92, 0x33, 0xc1, 0xd7, 0x3b, 0x49, 0x8c, 0x51, 0x06, 0xff,
339 0x88, 0x95, 0x1e, 0x07, 0xb9, 0x65, 0x2c, 0xb0, 0xdd, 0xae,
340 0x74, 0x07, 0x37, 0xec, 0x20, 0x5c, 0x98, 0x76, 0xd0, 0x94,
341 0x97, 0x8b, 0xfc, 0x94, 0x7f, 0x7d, 0xc9, 0x37, 0x11, 0x9f,
342 0xd6, 0xa9, 0x39, 0x15, 0xb1, 0x9b, 0x62, 0x59, 0x58, 0xa7,
343 0xa2, 0x23, 0x63, 0xaa, 0x2a, 0xc3, 0x3f, 0xb8, 0x69, 0xed,
344 0x16, 0xb3, 0x03, 0x33, 0x6a, 0xb7, 0x40, 0xa0, 0x49, 0x8a,
345 0x2d, 0xf6, 0x6a, 0x65, 0x99, 0xda, 0x71, 0x00, 0x94, 0x48,
346 0x1a, 0x7b, 0x54, 0x4b, 0xd9, 0x55, 0xb6, 0xf9, 0x71, 0x35,
347 0xba, 0x46, 0x73, 0x40, 0x1d, 0xb2, 0xdb, 0x14, 0x4a, 0x6e,
348 0x28, 0x70, 0x41, 0xe4, 0x7a, 0x51, 0xed, 0x9b, 0x6b, 0xa9,
349 0x56, 0xc1, 0x35, 0x08, 0xc1, 0xc0, 0xc2, 0x53, 0x10, 0x10,
350 0x52, 0x39, 0xab, 0x73, 0x62, 0x9e, 0x30 ),
351 EXPECTED ( 0xca, 0x1b, 0x80, 0x44, 0x1d, 0x33, 0x39, 0x09, 0xc2,
352 0xbb, 0x30, 0x76, 0x96, 0x50, 0x05, 0x50, 0x51, 0xed,
353 0x20, 0xf1, 0x7d, 0xe8, 0xee, 0x95, 0x3c, 0xb9, 0x07,
354 0x0a, 0xf5, 0x6c, 0x70, 0x4f ) );
355
356/* HMAC-SHA256 test case 26 */
357HMAC_TEST ( wycheproof_hmac_sha256_5e3db18f, &sha256_algorithm,
358 KEY ( 0x82, 0x31, 0x45, 0x40, 0x56, 0x4e, 0xa3, 0xce, 0x30, 0x59,
359 0x1e, 0x97, 0xf6, 0x8b, 0x26, 0x02, 0xde, 0x40, 0xfa, 0x29,
360 0xf7, 0x73, 0xc2, 0x50, 0x83, 0x27, 0x47, 0x1b, 0x83, 0x48,
361 0xe8, 0xc4 ),
362 DATA ( 0x6a, 0x6d, 0x2f, 0x45, 0xce, 0xbf, 0x27, 0x57, 0xae, 0x16,
363 0xea, 0x33, 0xc6, 0x86, 0x17, 0x67, 0x1d, 0x77, 0xf8, 0xfd,
364 0xf8, 0x0b, 0xed, 0x8f, 0xc5, 0xcd, 0xc5, 0xc8, 0xb7, 0x08,
365 0x6b, 0xd2, 0x8e, 0x7e, 0xb3, 0xee, 0xcc, 0x71, 0x63, 0x49,
366 0x11, 0x04, 0xe5, 0x30, 0x94, 0x55, 0xe6, 0x7f, 0x83, 0x65,
367 0x79, 0xb8, 0x2a, 0x1d, 0xa3, 0xbf, 0x59, 0x91, 0xa8, 0xe2,
368 0xb2, 0xf1, 0x89, 0xa4, 0x9e, 0x05, 0x70, 0x0e, 0x46, 0xc4,
369 0x09, 0xed, 0x5d, 0xe7, 0x77, 0x80, 0xa5, 0xf3, 0x89, 0xe3,
370 0xf1, 0x3d, 0xad, 0x40, 0x6c, 0x9d, 0x55, 0x67, 0x53, 0x29,
371 0xc5, 0xc9, 0x21, 0xf0, 0x70, 0x34, 0x18, 0x09, 0x37, 0xc0,
372 0xf6, 0xef, 0x34, 0xa2, 0x30, 0x8b, 0x6f, 0xf3, 0xe1, 0xa0,
373 0xe9, 0xdc, 0x1e, 0xa6, 0x5f, 0x56, 0x32, 0x73, 0x0e, 0x87,
374 0x44, 0xd1, 0xdb, 0x2c, 0x40, 0xa6, 0x59, 0x5b ),
375 EXPECTED ( 0x09, 0x00, 0xb3, 0xe6, 0x53, 0x5d, 0x34, 0xf9, 0x0e,
376 0x2c, 0x33, 0x57, 0x75, 0xe8, 0x6b, 0xf3, 0x8e, 0xe7,
377 0xe3, 0xd2, 0x6f, 0xb6, 0x0c, 0xd9, 0xcd, 0xf6, 0x39,
378 0xeb, 0x34, 0x96, 0xb9, 0x4c ) );
379
380/* HMAC-SHA256 test case 27 */
381HMAC_TEST ( wycheproof_hmac_sha256_bc2247eb, &sha256_algorithm,
382 KEY ( 0xd1, 0x15, 0xac, 0xc9, 0xa6, 0x36, 0x91, 0x52, 0x41, 0x79,
383 0x5f, 0x48, 0x85, 0x20, 0x52, 0xe0, 0x7b, 0x51, 0x27, 0x3a,
384 0xe2, 0x44, 0x82, 0x51, 0xec, 0x1d, 0x0d, 0x0f, 0x98, 0x07,
385 0xf3, 0xdb ),
386 DATA ( 0x69, 0x6d, 0x24, 0x56, 0xde, 0x85, 0x3f, 0xa0, 0x28, 0xf4,
387 0x86, 0xfe, 0xf4, 0x37, 0xb6, 0xb6, 0xd1, 0xb5, 0x30, 0xa8,
388 0x47, 0x5e, 0x29, 0x9d, 0xb3, 0xa9, 0x00, 0x5a, 0xe9, 0xce,
389 0xf8, 0x40, 0x19, 0x85, 0xb7, 0xd3, 0x1e, 0x17, 0x2e, 0x8f,
390 0x43, 0x9c, 0xcd, 0x1a, 0xd1, 0xec, 0x44, 0xc9, 0xb8, 0x6b,
391 0x78, 0xf3, 0xf2, 0x43, 0xc1, 0x30, 0x5b, 0x53, 0xbc, 0x21,
392 0xab, 0xad, 0x7a, 0x8f, 0xc5, 0x25, 0x63, 0x11, 0xbf, 0xd3,
393 0x4c, 0x98, 0xe3, 0x7d, 0xfd, 0xc6, 0x49, 0xe7, 0xae, 0x4b,
394 0xda, 0x08, 0xcf, 0x29, 0x94, 0xb0, 0x63, 0xc0, 0xc7, 0x10,
395 0x6e, 0xd0, 0xb0, 0x2a, 0x1f, 0x48, 0xaf, 0x91, 0x91, 0xcb,
396 0xfb, 0x0d, 0x6a, 0x95, 0x3b, 0x7e, 0x04, 0x32, 0x7d, 0xfe,
397 0x8c, 0x93, 0x77, 0x9c, 0xb5, 0x74, 0xba, 0x9c, 0xba, 0x57,
398 0x5d, 0x01, 0x67, 0x4e, 0x83, 0x62, 0x1a, 0xa0, 0xc5, 0xf4,
399 0x00, 0xd6, 0xe6, 0xcd, 0x24, 0xb3, 0x01, 0xe3, 0x3c, 0x9f,
400 0x33, 0x03, 0xe7, 0x3b, 0xf3, 0x57, 0x40, 0x8c, 0x1b, 0xe8,
401 0x6c, 0x24, 0x89, 0xc0, 0x9d, 0xe9, 0x98, 0xff, 0x2e, 0xf3,
402 0x2d, 0xf5, 0x54, 0xf1, 0x24, 0x7d, 0x93, 0x13, 0xce, 0x1a,
403 0x71, 0x60, 0x11, 0x5d, 0x06, 0xf4, 0xc1, 0x8d, 0x65, 0x56,
404 0xff, 0x79, 0x86, 0xef, 0x8a, 0x55, 0xe2, 0xad, 0xcf, 0xa2,
405 0x7e, 0x4c, 0x69, 0xc7, 0x1c, 0xc2, 0xff, 0x01, 0x63, 0x9e,
406 0x9d, 0x49, 0xbd, 0x9e, 0xd0, 0x68, 0x7f, 0x53, 0x0f, 0xfe,
407 0xb0, 0x89, 0x01, 0x32, 0x45, 0x7d, 0xf2, 0x08, 0x80, 0x81,
408 0xbc, 0x4a, 0x2f, 0x7f, 0x0a, 0x9f, 0x4d, 0xce, 0xa2, 0xc8,
409 0x0d, 0x99, 0x1d, 0xb7, 0xf3, 0x74, 0x7a, 0x18, 0x03, 0xd7,
410 0x61, 0x9a, 0xaf, 0x3d, 0xd3, 0x82, 0xc6, 0x95, 0x36, 0xa0,
411 0xbc, 0xdb, 0x93, 0x1c, 0xbe ),
412 EXPECTED ( 0x82, 0xf9, 0x29, 0x77, 0xf0, 0xb6, 0x05, 0xea, 0xad,
413 0xa5, 0x10, 0xff, 0xce, 0xb5, 0x3a, 0xd7, 0x5f, 0xde,
414 0x16, 0xa8, 0x02, 0x9f, 0x1b, 0x75, 0xb4, 0x06, 0xa8,
415 0x42, 0x70, 0xdb, 0xb8, 0xb7 ) );
416
417/* HMAC-SHA256 test case 28 (skipped: modified tag) */
418
419/* HMAC-SHA256 test case 29 (skipped: modified tag) */
420
421/* HMAC-SHA256 test case 30 (skipped: modified tag) */
422
423/* HMAC-SHA256 test case 31 (skipped: modified tag) */
424
425/* HMAC-SHA256 test case 32 (skipped: modified tag) */
426
427/* HMAC-SHA256 test case 33 (skipped: modified tag) */
428
429/* HMAC-SHA256 test case 34 (skipped: modified tag) */
430
431/* HMAC-SHA256 test case 35 (skipped: modified tag) */
432
433/* HMAC-SHA256 test case 36 (skipped: modified tag) */
434
435/* HMAC-SHA256 test case 37 (skipped: modified tag) */
436
437/* HMAC-SHA256 test case 38 (skipped: modified tag) */
438
439/* HMAC-SHA256 test case 39 (skipped: modified tag) */
440
441/* HMAC-SHA256 test case 40 (skipped: modified tag) */
442
443/* HMAC-SHA256 test case 41 (skipped: modified tag) */
444
445/* HMAC-SHA256 test case 42 (skipped: modified tag) */
446
447/* HMAC-SHA256 test case 43 (skipped: modified tag) */
448
449/* HMAC-SHA256 test case 44 (skipped: modified tag) */
450
451/* HMAC-SHA256 test case 45 (skipped: modified tag) */
452
453/* HMAC-SHA256 test case 46 (skipped: modified tag) */
454
455/* HMAC-SHA256 test case 47 (skipped: modified tag) */
456
457/* HMAC-SHA256 test case 48 (skipped: modified tag) */
458
459/* HMAC-SHA256 test case 49 (skipped: modified tag) */
460
461/* HMAC-SHA256 test case 50 (skipped: modified tag) */
462
463/* HMAC-SHA256 test case 51 (skipped: modified tag) */
464
465/* HMAC-SHA256 test case 52 (skipped: modified tag) */
466
467/* HMAC-SHA256 test case 53 (skipped: modified tag) */
468
469/* HMAC-SHA256 test case 54 (skipped: modified tag) */
470
471/* HMAC-SHA256 test case 55 (skipped: modified tag) */
472
473/* HMAC-SHA256 test case 56 (skipped: modified tag) */
474
475/* HMAC-SHA256 test case 57 (skipped: modified tag) */
476
477/* HMAC-SHA256 test case 58 (skipped: modified tag) */
478
479/* HMAC-SHA256 test case 59 (skipped: modified tag) */
480
481/* HMAC-SHA256 test case 60 (skipped: modified tag) */
482
483/* HMAC-SHA256 test case 61 (skipped: modified tag) */
484
485/* HMAC-SHA256 test case 62 (skipped: modified tag) */
486
487/* HMAC-SHA256 test case 63 (skipped: modified tag) */
488
489/* HMAC-SHA256 test case 64 (skipped: modified tag) */
490
491/* HMAC-SHA256 test case 65 (skipped: modified tag) */
492
493/* HMAC-SHA256 test case 66 (skipped: modified tag) */
494
495/* HMAC-SHA256 test case 67 (skipped: modified tag) */
496
497/* HMAC-SHA256 test case 68 (skipped: modified tag) */
498
499/* HMAC-SHA256 test case 69 (skipped: modified tag) */
500
501/* HMAC-SHA256 test case 70 (skipped: modified tag) */
502
503/* HMAC-SHA256 test case 71 (skipped: modified tag) */
504
505/* HMAC-SHA256 test case 72 (skipped: modified tag) */
506
507/* HMAC-SHA256 test case 73 (skipped: modified tag) */
508
509/* HMAC-SHA256 test case 74 (skipped: modified tag) */
510
511/* HMAC-SHA256 test case 75 (skipped: modified tag) */
512
513/* HMAC-SHA256 test case 76 (skipped: modified tag) */
514
515/* HMAC-SHA256 test case 77 (skipped: modified tag) */
516
517/* HMAC-SHA256 test case 78 (skipped: modified tag) */
518
519/* HMAC-SHA256 test case 79 (skipped: modified tag) */
520
521/* HMAC-SHA256 test case 80 (skipped: modified tag) */
522
523/* HMAC-SHA256 test case 81 (skipped: modified tag) */
524
525/* HMAC-SHA256 test case 82 */
526HMAC_TEST ( wycheproof_hmac_sha256_64f8d3a6, &sha256_algorithm,
527 KEY ( 0x7b, 0xf9, 0xe5, 0x36, 0xb6, 0x6a, 0x21, 0x5c, 0x22, 0x23,
528 0x3f, 0xe2, 0xda, 0xaa, 0x74, 0x3a, 0x89, 0x8b, 0x9a, 0xcb,
529 0x9f, 0x78, 0x02, 0xde, 0x70, 0xb4, 0x0e, 0x3d, 0x6e, 0x43,
530 0xef, 0x97 ),
531 DATA(),
532 EXPECTED ( 0xf4, 0x60, 0x55, 0x85, 0x94, 0x97, 0x47, 0xde, 0x26,
533 0xf3, 0xee, 0x98, 0xa7, 0x38, 0xb1, 0x72 ) );
534
535/* HMAC-SHA256 test case 83 */
536HMAC_TEST ( wycheproof_hmac_sha256_d9027e6c, &sha256_algorithm,
537 KEY ( 0xe7, 0x54, 0x07, 0x6c, 0xea, 0xb3, 0xfd, 0xaf, 0x4f, 0x9b,
538 0xca, 0xb7, 0xd4, 0xf0, 0xdf, 0x0c, 0xbb, 0xaf, 0xbc, 0x87,
539 0x73, 0x1b, 0x8f, 0x9b, 0x7c, 0xd2, 0x16, 0x64, 0x72, 0xe8,
540 0xee, 0xbc ),
541 DATA ( 0x40 ),
542 EXPECTED ( 0x0d, 0xc0, 0x0d, 0x72, 0x17, 0xbb, 0xaf, 0xe8, 0xd7,
543 0x8b, 0xf9, 0x61, 0x18, 0x9b, 0x8f, 0xd2 ) );
544
545/* HMAC-SHA256 test case 84 */
546HMAC_TEST ( wycheproof_hmac_sha256_dc393f83, &sha256_algorithm,
547 KEY ( 0xea, 0x3b, 0x01, 0x6b, 0xdd, 0x38, 0x7d, 0xd6, 0x4d, 0x83,
548 0x7c, 0x71, 0x68, 0x38, 0x08, 0xf3, 0x35, 0xdb, 0xdc, 0x53,
549 0x59, 0x8a, 0x4e, 0xa8, 0xc5, 0xf9, 0x52, 0x47, 0x3f, 0xaf,
550 0xaf, 0x5f ),
551 DATA ( 0x66, 0x01 ),
552 EXPECTED ( 0xff, 0x29, 0x6b, 0x36, 0x8d, 0x3b, 0xf0, 0x59, 0xcc,
553 0x48, 0x68, 0x2f, 0x69, 0x49, 0xcc, 0xaa ) );
554
555/* HMAC-SHA256 test case 85 */
556HMAC_TEST ( wycheproof_hmac_sha256_8d8a1222, &sha256_algorithm,
557 KEY ( 0x73, 0xd4, 0x70, 0x96, 0x37, 0x85, 0x7d, 0xaf, 0xab, 0x6a,
558 0xd8, 0xb2, 0xb0, 0xa5, 0x1b, 0x06, 0x52, 0x47, 0x17, 0xfe,
559 0xdf, 0x10, 0x02, 0x96, 0x64, 0x4f, 0x7c, 0xfd, 0xaa, 0xe1,
560 0x80, 0x5b ),
561 DATA ( 0xf1, 0xd3, 0x00 ),
562 EXPECTED ( 0x2d, 0x02, 0xbd, 0x1c, 0x25, 0xb1, 0xfe, 0x52, 0xb1,
563 0xea, 0xd0, 0x73, 0x74, 0xd6, 0xe8, 0x83 ) );
564
565/* HMAC-SHA256 test case 86 */
566HMAC_TEST ( wycheproof_hmac_sha256_f24e3e3d, &sha256_algorithm,
567 KEY ( 0xd5, 0xc8, 0x1b, 0x39, 0x9d, 0x4c, 0x0d, 0x15, 0x83, 0xa1,
568 0x3d, 0xa5, 0x6d, 0xe6, 0xd2, 0xdc, 0x45, 0xa6, 0x6e, 0x7b,
569 0x47, 0xc2, 0x4a, 0xb1, 0x19, 0x2e, 0x24, 0x6d, 0xc9, 0x61,
570 0xdd, 0x77 ),
571 DATA ( 0x2a, 0xe6, 0x3c, 0xbf ),
572 EXPECTED ( 0x4d, 0x9e, 0x8b, 0xdd, 0xf9, 0xb7, 0xa1, 0x21, 0x83,
573 0x09, 0xd5, 0x98, 0x8a, 0xa1, 0xb0, 0xd9 ) );
574
575/* HMAC-SHA256 test case 87 */
576HMAC_TEST ( wycheproof_hmac_sha256_b2beba66, &sha256_algorithm,
577 KEY ( 0x25, 0x21, 0x20, 0x3f, 0xa0, 0xdd, 0xdf, 0x59, 0xd8, 0x37,
578 0xb2, 0x83, 0x0f, 0x87, 0xb1, 0xaa, 0x61, 0xf9, 0x58, 0x15,
579 0x5d, 0xf3, 0xca, 0x4d, 0x1d, 0xf2, 0x45, 0x7c, 0xb4, 0x28,
580 0x4d, 0xc8 ),
581 DATA ( 0xaf, 0x3a, 0x01, 0x5e, 0xa1 ),
582 EXPECTED ( 0xcb, 0x8a, 0x4b, 0x41, 0x33, 0x50, 0xb4, 0x2f, 0x4a,
583 0xc3, 0x53, 0x3c, 0xc7, 0xf4, 0x78, 0x64 ) );
584
585/* HMAC-SHA256 test case 88 */
586HMAC_TEST ( wycheproof_hmac_sha256_ed89897a, &sha256_algorithm,
587 KEY ( 0x66, 0x5a, 0x02, 0xbc, 0x26, 0x5a, 0x66, 0xd0, 0x17, 0x75,
588 0x09, 0x1d, 0xa5, 0x67, 0x26, 0xb6, 0x66, 0x8b, 0xfd, 0x90,
589 0x3c, 0xb7, 0xaf, 0x66, 0xfb, 0x1b, 0x78, 0xa8, 0xa0, 0x62,
590 0xe4, 0x3c ),
591 DATA ( 0x3f, 0x56, 0x93, 0x5d, 0xef, 0x3f ),
592 EXPECTED ( 0x1c, 0xfc, 0xe7, 0x45, 0xdb, 0x1c, 0xa7, 0xde, 0x9a,
593 0x1d, 0x44, 0x20, 0xe6, 0x12, 0xca, 0x55 ) );
594
595/* HMAC-SHA256 test case 89 */
596HMAC_TEST ( wycheproof_hmac_sha256_10ca3faf, &sha256_algorithm,
597 KEY ( 0xfa, 0xcd, 0x75, 0xb2, 0x22, 0x21, 0x38, 0x00, 0x47, 0x30,
598 0x5b, 0xc9, 0x81, 0xf5, 0x70, 0xe2, 0xa1, 0xaf, 0x38, 0x92,
599 0x8e, 0xa7, 0xe2, 0x05, 0x9e, 0x3a, 0xf5, 0xfc, 0x6b, 0x82,
600 0xb4, 0x93 ),
601 DATA ( 0x57, 0xbb, 0x86, 0xbe, 0xed, 0x15, 0x6f ),
602 EXPECTED ( 0x0b, 0xde, 0x0d, 0x0c, 0x75, 0x6d, 0xf0, 0x9d, 0x4f,
603 0x6d, 0xa8, 0x1b, 0x29, 0x9a, 0x3a, 0xdf ) );
604
605/* HMAC-SHA256 test case 90 */
606HMAC_TEST ( wycheproof_hmac_sha256_2e434dc4, &sha256_algorithm,
607 KEY ( 0x50, 0x5a, 0xa9, 0x88, 0x19, 0x80, 0x9e, 0xf6, 0x3b, 0x9a,
608 0x36, 0x8a, 0x1e, 0x8b, 0xc2, 0xe9, 0x22, 0xda, 0x45, 0xb0,
609 0x3c, 0xe0, 0x2d, 0x9a, 0x79, 0x66, 0xb1, 0x50, 0x06, 0xdb,
610 0xa2, 0xd5 ),
611 DATA ( 0x2e, 0x4e, 0x7e, 0xf7, 0x28, 0xfe, 0x11, 0xaf ),
612 EXPECTED ( 0x40, 0x6a, 0x5c, 0x2b, 0xd3, 0xe6, 0xa9, 0x59, 0x5f,
613 0x9b, 0x7d, 0xff, 0x60, 0x8d, 0x59, 0xa7 ) );
614
615/* HMAC-SHA256 test case 91 */
616HMAC_TEST ( wycheproof_hmac_sha256_59d3d47c, &sha256_algorithm,
617 KEY ( 0xf9, 0x42, 0x09, 0x38, 0x42, 0x80, 0x8b, 0xa4, 0x7f, 0x64,
618 0xe4, 0x27, 0xf7, 0x35, 0x1d, 0xde, 0x6b, 0x95, 0x46, 0xe6,
619 0x6d, 0xe4, 0xe7, 0xd6, 0x0a, 0xa6, 0xf3, 0x28, 0x18, 0x27,
620 0x12, 0xcf ),
621 DATA ( 0x85, 0x2a, 0x21, 0xd9, 0x28, 0x48, 0xe6, 0x27, 0xc7 ),
622 EXPECTED ( 0x0b, 0x1b, 0xf9, 0xe9, 0x8d, 0x0a, 0x79, 0x4f, 0xa5,
623 0x5c, 0x09, 0xb6, 0x3e, 0x25, 0x79, 0x9f ) );
624
625/* HMAC-SHA256 test case 92 */
626HMAC_TEST ( wycheproof_hmac_sha256_d4ffe05a, &sha256_algorithm,
627 KEY ( 0x64, 0xbe, 0x16, 0x2b, 0x39, 0xc6, 0xe5, 0xf1, 0xfe, 0xd9,
628 0xc3, 0x2d, 0x9f, 0x67, 0x4d, 0x9a, 0x8c, 0xde, 0x6e, 0xaa,
629 0x24, 0x43, 0x21, 0x4d, 0x86, 0xbd, 0x4a, 0x1f, 0xb5, 0x3b,
630 0x81, 0xb4 ),
631 DATA ( 0x19, 0x5a, 0x3b, 0x29, 0x2f, 0x93, 0xba, 0xff, 0x0a, 0x2c ),
632 EXPECTED ( 0x71, 0xf3, 0x3f, 0x60, 0x21, 0xd9, 0x08, 0x58, 0xca,
633 0xdb, 0x13, 0x53, 0xd7, 0xfb, 0xe8, 0xd7 ) );
634
635/* HMAC-SHA256 test case 93 */
636HMAC_TEST ( wycheproof_hmac_sha256_c3399a67, &sha256_algorithm,
637 KEY ( 0xb2, 0x59, 0xa5, 0x55, 0xd4, 0x4b, 0x8a, 0x20, 0xc5, 0x48,
638 0x9e, 0x2f, 0x38, 0x39, 0x2d, 0xda, 0xa6, 0xbe, 0x9e, 0x35,
639 0xb9, 0x83, 0x3b, 0x67, 0xe1, 0xb5, 0xfd, 0xf6, 0xcb, 0x3e,
640 0x4c, 0x6c ),
641 DATA ( 0xaf, 0xd7, 0x31, 0x17, 0x33, 0x0c, 0x6e, 0x85, 0x28, 0xa6,
642 0xe4 ),
643 EXPECTED ( 0x4b, 0x8d, 0x76, 0x37, 0x2e, 0xbe, 0x5e, 0x5c, 0xaa,
644 0x56, 0xca, 0x4e, 0x5c, 0x59, 0xcd, 0xd3 ) );
645
646/* HMAC-SHA256 test case 94 */
647HMAC_TEST ( wycheproof_hmac_sha256_0a237580, &sha256_algorithm,
648 KEY ( 0x2c, 0x6f, 0xc6, 0x2d, 0xaa, 0x77, 0xba, 0x8c, 0x68, 0x81,
649 0xb3, 0xdd, 0x69, 0x89, 0x89, 0x8f, 0xef, 0x64, 0x66, 0x63,
650 0xcc, 0x7b, 0x0a, 0x3d, 0xb8, 0x22, 0x8a, 0x70, 0x7b, 0x85,
651 0xf2, 0xdc ),
652 DATA ( 0x0f, 0xf5, 0x4d, 0x6b, 0x67, 0x59, 0x12, 0x0c, 0x2e, 0x8a,
653 0x51, 0xe3 ),
654 EXPECTED ( 0xc5, 0x80, 0xc5, 0x42, 0x84, 0x6a, 0x96, 0xe8, 0x4e,
655 0xa7, 0x77, 0x01, 0x77, 0x84, 0x55, 0xbf ) );
656
657/* HMAC-SHA256 test case 95 */
658HMAC_TEST ( wycheproof_hmac_sha256_39424608, &sha256_algorithm,
659 KEY ( 0xab, 0xab, 0x81, 0x5d, 0x51, 0xdf, 0x29, 0xf7, 0x40, 0xe4,
660 0xe2, 0x07, 0x9f, 0xb7, 0x98, 0xe0, 0x15, 0x28, 0x36, 0xe6,
661 0xab, 0x57, 0xd1, 0x53, 0x6a, 0xe8, 0x92, 0x9e, 0x52, 0xc0,
662 0x6e, 0xb8 ),
663 DATA ( 0xf0, 0x05, 0x8d, 0x41, 0x2a, 0x10, 0x4e, 0x53, 0xd8, 0x20,
664 0xb9, 0x5a, 0x7f ),
665 EXPECTED ( 0x13, 0xcd, 0xb0, 0x05, 0x05, 0x93, 0x38, 0xf0, 0xf2,
666 0x8e, 0x2d, 0x8c, 0xe1, 0xaf, 0x5d, 0x0a ) );
667
668/* HMAC-SHA256 test case 96 */
669HMAC_TEST ( wycheproof_hmac_sha256_d28afbfa, &sha256_algorithm,
670 KEY ( 0x3d, 0x5d, 0xa1, 0xaf, 0x83, 0xf7, 0x28, 0x74, 0x58, 0xbf,
671 0xf7, 0xa7, 0x65, 0x1e, 0xa5, 0xd8, 0xdb, 0x72, 0x25, 0x94,
672 0x01, 0x33, 0x3f, 0x6b, 0x82, 0x09, 0x69, 0x96, 0xdd, 0x7e,
673 0xaf, 0x19 ),
674 DATA ( 0xaa, 0xcc, 0x36, 0x97, 0x2f, 0x18, 0x30, 0x57, 0x91, 0x9f,
675 0xf5, 0x7b, 0x49, 0xe1 ),
676 EXPECTED ( 0xbd, 0x99, 0x3e, 0x44, 0x28, 0xcb, 0xc0, 0xe2, 0x75,
677 0xe4, 0xd8, 0x0b, 0x6f, 0x52, 0x03, 0x63 ) );
678
679/* HMAC-SHA256 test case 97 */
680HMAC_TEST ( wycheproof_hmac_sha256_f657ff4c, &sha256_algorithm,
681 KEY ( 0xc1, 0x9b, 0xdf, 0x31, 0x4c, 0x6c, 0xf6, 0x43, 0x81, 0x42,
682 0x54, 0x67, 0xf4, 0x2a, 0xef, 0xa1, 0x7c, 0x1c, 0xc9, 0x35,
683 0x8b, 0xe1, 0x6c, 0xe3, 0x1b, 0x1d, 0x21, 0x48, 0x59, 0xce,
684 0x86, 0xaa ),
685 DATA ( 0x5d, 0x06, 0x6a, 0x92, 0xc3, 0x00, 0xe9, 0xb6, 0xdd, 0xd6,
686 0x3a, 0x7c, 0x13, 0xae, 0x33 ),
687 EXPECTED ( 0x86, 0xc9, 0xf4, 0xdd, 0xe0, 0xb2, 0x57, 0xa7, 0x05,
688 0x3a, 0x7b, 0x03, 0xc7, 0x50, 0x44, 0x09 ) );
689
690/* HMAC-SHA256 test case 98 */
691HMAC_TEST ( wycheproof_hmac_sha256_05f97d81, &sha256_algorithm,
692 KEY ( 0x61, 0x2e, 0x83, 0x78, 0x43, 0xce, 0xae, 0x7f, 0x61, 0xd4,
693 0x96, 0x25, 0xfa, 0xa7, 0xe7, 0x49, 0x4f, 0x92, 0x53, 0xe2,
694 0x0c, 0xb3, 0xad, 0xce, 0xa6, 0x86, 0x51, 0x2b, 0x04, 0x39,
695 0x36, 0xcd ),
696 DATA ( 0xcc, 0x37, 0xfa, 0xe1, 0x5f, 0x74, 0x5a, 0x2f, 0x40, 0xe2,
697 0xc8, 0xb1, 0x92, 0xf2, 0xb3, 0x8d ),
698 EXPECTED ( 0xb9, 0x6b, 0xca, 0xca, 0xfa, 0xc3, 0x00, 0x94, 0xf1,
699 0x8a, 0xc5, 0x03, 0x9e, 0x7b, 0x36, 0x56 ) );
700
701/* HMAC-SHA256 test case 99 */
702HMAC_TEST ( wycheproof_hmac_sha256_8312b81f, &sha256_algorithm,
703 KEY ( 0x73, 0x21, 0x6f, 0xaf, 0xd0, 0x02, 0x2d, 0x0d, 0x6e, 0xe2,
704 0x71, 0x98, 0xb2, 0x27, 0x25, 0x78, 0xfa, 0x8f, 0x04, 0xdd,
705 0x9f, 0x44, 0x46, 0x7f, 0xbb, 0x64, 0x37, 0xaa, 0x45, 0x64,
706 0x1b, 0xf7 ),
707 DATA ( 0xd5, 0x24, 0x7b, 0x8f, 0x6c, 0x3e, 0xdc, 0xbf, 0xb1, 0xd5,
708 0x91, 0xd1, 0x3e, 0xce, 0x23, 0xd2, 0xf5 ),
709 EXPECTED ( 0x6e, 0x59, 0x7c, 0x4c, 0x38, 0x61, 0xa3, 0x80, 0xc0,
710 0x68, 0x54, 0xb4, 0x46, 0xfc, 0x2a, 0x87 ) );
711
712/* HMAC-SHA256 test case 100 */
713HMAC_TEST ( wycheproof_hmac_sha256_3a18e216, &sha256_algorithm,
714 KEY ( 0x04, 0x27, 0xa7, 0x0e, 0x25, 0x75, 0x28, 0xf3, 0xab, 0x70,
715 0x64, 0x0b, 0xba, 0x1a, 0x5d, 0xe1, 0x2c, 0xf3, 0x88, 0x5d,
716 0xd4, 0xc8, 0xe2, 0x84, 0xfb, 0xbb, 0x55, 0xfe, 0xb3, 0x52,
717 0x94, 0xa5 ),
718 DATA ( 0x13, 0x93, 0x7f, 0x85, 0x44, 0xf4, 0x42, 0x70, 0xd0, 0x11,
719 0x75, 0xa0, 0x11, 0xf7, 0x67, 0x0e, 0x93, 0xfa, 0x6b, 0xa7,
720 0xef, 0x02, 0x33, 0x6e ),
721 EXPECTED ( 0xf7, 0x31, 0xaa, 0xf2, 0xf0, 0x40, 0x23, 0xd6, 0x21,
722 0xf1, 0x04, 0x95, 0x34, 0x46, 0x79, 0xa0 ) );
723
724/* HMAC-SHA256 test case 101 */
725HMAC_TEST ( wycheproof_hmac_sha256_2535dff4, &sha256_algorithm,
726 KEY ( 0x96, 0xe1, 0xe4, 0x89, 0x6f, 0xb2, 0xcd, 0x05, 0xf1, 0x33,
727 0xa6, 0xa1, 0x00, 0xbc, 0x56, 0x09, 0xa7, 0xac, 0x3c, 0xa6,
728 0xd8, 0x17, 0x21, 0xe9, 0x22, 0xda, 0xdd, 0x69, 0xad, 0x07,
729 0xa8, 0x92 ),
730 DATA ( 0x91, 0xa1, 0x7e, 0x4d, 0xfc, 0xc3, 0x16, 0x6a, 0x1a, 0xdd,
731 0x26, 0xff, 0x0e, 0x7c, 0x12, 0x05, 0x6e, 0x8a, 0x65, 0x4f,
732 0x28, 0xa6, 0xde, 0x24, 0xf4, 0xba, 0x73, 0x9c, 0xeb, 0x5b,
733 0x5b, 0x18 ),
734 EXPECTED ( 0x95, 0x24, 0x3e, 0xb1, 0xa9, 0xd4, 0x48, 0x17, 0x4a,
735 0xe4, 0xfc, 0xcf, 0x4a, 0x53, 0xeb, 0xfe ) );
736
737/* HMAC-SHA256 test case 102 */
738HMAC_TEST ( wycheproof_hmac_sha256_c3976879, &sha256_algorithm,
739 KEY ( 0x41, 0x20, 0x15, 0x67, 0xbe, 0x4e, 0x6e, 0xa0, 0x6d, 0xe2,
740 0x29, 0x5f, 0xd0, 0xe6, 0xe8, 0xa7, 0xd8, 0x62, 0xbb, 0x57,
741 0x31, 0x18, 0x94, 0xf5, 0x25, 0xd8, 0xad, 0xea, 0xbb, 0xa4,
742 0xa3, 0xe4 ),
743 DATA ( 0x58, 0xc8, 0xc7, 0x3b, 0xdd, 0x3f, 0x35, 0x0c, 0x97, 0x47,
744 0x78, 0x16, 0xea, 0xe4, 0xd0, 0x78, 0x9c, 0x93, 0x69, 0xc0,
745 0xe9, 0x9c, 0x24, 0x89, 0x02, 0xc7, 0x00, 0xbc, 0x29, 0xed,
746 0x98, 0x64, 0x25, 0x98, 0x5e, 0xb3, 0xfa, 0x55, 0x70, 0x9b,
747 0x73, 0xbf, 0x62, 0x0c, 0xd9, 0xb1, 0xcb ),
748 EXPECTED ( 0x34, 0x33, 0x67, 0x20, 0x7f, 0x71, 0x42, 0x5d, 0x8f,
749 0x81, 0xf3, 0x11, 0x0b, 0x04, 0x05, 0xf6 ) );
750
751/* HMAC-SHA256 test case 103 */
752HMAC_TEST ( wycheproof_hmac_sha256_e5f50edd, &sha256_algorithm,
753 KEY ( 0x64, 0x9e, 0x37, 0x3e, 0x68, 0x1e, 0xf5, 0x2e, 0x3c, 0x10,
754 0xac, 0x26, 0x54, 0x84, 0x75, 0x09, 0x32, 0xa9, 0x91, 0x8f,
755 0x28, 0xfb, 0x82, 0x4f, 0x7c, 0xb5, 0x0a, 0xda, 0xb3, 0x97,
756 0x81, 0xfe ),
757 DATA ( 0x39, 0xb4, 0x47, 0xbd, 0x3a, 0x01, 0x98, 0x3c, 0x1c, 0xb7,
758 0x61, 0xb4, 0x56, 0xd6, 0x90, 0x00, 0x94, 0x8c, 0xeb, 0x87,
759 0x05, 0x62, 0xa5, 0x36, 0x12, 0x6a, 0x0d, 0x18, 0xa8, 0xe7,
760 0xe4, 0x9b, 0x16, 0xde, 0x8f, 0xe6, 0x72, 0xf1, 0x3d, 0x08,
761 0x08, 0xd8, 0xb7, 0xd9, 0x57, 0x89, 0x99, 0x17 ),
762 EXPECTED ( 0x15, 0x16, 0x18, 0xee, 0xc4, 0xf5, 0x03, 0xf3, 0xb6,
763 0x3b, 0x53, 0x9d, 0xe0, 0xa5, 0x89, 0x66 ) );
764
765/* HMAC-SHA256 test case 104 */
766HMAC_TEST ( wycheproof_hmac_sha256_93280c4f, &sha256_algorithm,
767 KEY ( 0x7b, 0x0d, 0x23, 0x7f, 0x7b, 0x53, 0x6e, 0x2c, 0x69, 0x50,
768 0x99, 0x0e, 0x61, 0xb3, 0x61, 0xb3, 0x84, 0x33, 0x3d, 0xda,
769 0x69, 0x00, 0x45, 0xc5, 0x91, 0x32, 0x1a, 0x4e, 0x3f, 0x79,
770 0x74, 0x7f ),
771 DATA ( 0x3d, 0x62, 0x83, 0xd1, 0x1c, 0x02, 0x19, 0xb5, 0x25, 0x62,
772 0x0e, 0x9b, 0xf5, 0xb9, 0xfd, 0x88, 0x7d, 0x3f, 0x0f, 0x70,
773 0x7a, 0xcb, 0x1f, 0xbd, 0xff, 0xab, 0x0d, 0x97, 0xa5, 0xc6,
774 0xd0, 0x7f, 0xc5, 0x47, 0x76, 0x2e, 0x0e, 0x7d, 0xd7, 0xc4,
775 0x3a, 0xd3, 0x5f, 0xab, 0x1c, 0x79, 0x0f, 0x80, 0x47 ),
776 EXPECTED ( 0xce, 0x20, 0x1c, 0x0d, 0xcf, 0xdc, 0x3f, 0x2b, 0xef,
777 0x36, 0x06, 0x09, 0xa3, 0x1f, 0xb1, 0x9e ) );
778
779/* HMAC-SHA256 test case 105 */
780HMAC_TEST ( wycheproof_hmac_sha256_5113cee4, &sha256_algorithm,
781 KEY ( 0x17, 0xc9, 0x26, 0x63, 0x74, 0x1f, 0x01, 0x2e, 0x5b, 0xb6,
782 0x71, 0x4e, 0x61, 0x4c, 0x2d, 0x15, 0x59, 0x48, 0x61, 0x7f,
783 0x10, 0x93, 0x62, 0x69, 0xd9, 0x54, 0xc5, 0x8a, 0xba, 0x2a,
784 0xe6, 0x2d ),
785 DATA ( 0x7f, 0xdd, 0x6a, 0x15, 0xc8, 0x61, 0xd0, 0x31, 0x3f, 0x66,
786 0x35, 0xd7, 0x7d, 0xc5, 0x5e, 0x11, 0x5f, 0xf1, 0x8c, 0x8a,
787 0xb0, 0x63, 0xb5, 0xd0, 0x3e, 0xab, 0x47, 0x2e, 0xec, 0xa8,
788 0x7a, 0x37, 0x81, 0x88, 0xf2, 0x58, 0x13, 0x51, 0x5c, 0xf9,
789 0x0b, 0x6c, 0xff, 0xa9, 0x4a, 0x8f, 0xf3, 0x6b, 0x29, 0xd6,
790 0x56, 0x03, 0xea, 0xb3, 0xfb, 0xd2, 0xaa, 0x95, 0x00, 0xb2,
791 0x61, 0xe1, 0x84, 0x04, 0x98, 0x93, 0xdc, 0x6c, 0xa2, 0x01,
792 0x0b, 0xec, 0xac, 0x16, 0x30, 0x53, 0xf2, 0x11, 0x07, 0x0b,
793 0xdd, 0xa6, 0x21, 0xb8, 0xbd, 0x8a, 0xf7, 0x7e, 0x45, 0x02,
794 0x68, 0x60, 0x3b, 0x52, 0xdb, 0x34, 0xc9, 0x0b, 0xe8, 0x36,
795 0xdf, 0xeb, 0xdd, 0xef, 0x42, 0x30, 0x3f, 0x72, 0x4e, 0x63,
796 0xbf, 0x0f ),
797 EXPECTED ( 0x76, 0xe8, 0xdf, 0xd9, 0x4d, 0xb4, 0xaf, 0x9d, 0x79,
798 0xd9, 0x71, 0x8e, 0xec, 0x46, 0xcb, 0x2d ) );
799
800/* HMAC-SHA256 test case 106 */
801HMAC_TEST ( wycheproof_hmac_sha256_662b5294, &sha256_algorithm,
802 KEY ( 0x42, 0x4c, 0x6b, 0x22, 0x60, 0x6f, 0xcc, 0x09, 0x4a, 0xe8,
803 0x2f, 0xc5, 0xd3, 0xcb, 0xe4, 0x84, 0x17, 0x4c, 0x22, 0x11,
804 0xb3, 0xec, 0x77, 0x80, 0x91, 0xca, 0xc3, 0x4a, 0x8e, 0x38,
805 0xa1, 0x52 ),
806 DATA ( 0xd9, 0x6f, 0xf0, 0x62, 0xe2, 0x49, 0x0e, 0x8e, 0x0c, 0x54,
807 0xc5, 0xa8, 0xb8, 0x9e, 0x85, 0xb2, 0x5a, 0x66, 0xd9, 0x3d,
808 0x7c, 0x2b, 0x93, 0xbd, 0xfe, 0xf8, 0x46, 0xb7, 0x0d, 0x38,
809 0x67, 0x27, 0x46, 0xa4, 0xb9, 0x88, 0xd0, 0x8f, 0x15, 0xa5,
810 0xc5, 0x27, 0xca, 0x4f, 0x2c, 0x80, 0xe5, 0x3f, 0x7c, 0x6a,
811 0xc0, 0x52, 0x1b, 0xc5, 0x7e, 0xbe, 0x38, 0x20, 0x91, 0x80,
812 0xcb, 0xf9, 0x34, 0xe0, 0xbb, 0xeb, 0x58, 0xcf, 0xb6, 0x3d,
813 0x75, 0xda, 0x64, 0xaf, 0x41, 0xd0, 0x9c, 0xe1, 0x74, 0xaf,
814 0x18, 0x96, 0xf4, 0x25, 0x22, 0x91, 0x0f, 0xce, 0xd3, 0x5e,
815 0xa0, 0x00, 0x40, 0x2e, 0x95, 0xfd, 0x3a, 0xc7, 0xaa, 0x6d,
816 0x5e, 0x0a, 0x6b, 0x53, 0x3b, 0x08, 0x79, 0xbc, 0x46, 0x60,
817 0x19, 0xb3, 0xa5, 0xe6, 0xb1, 0x6e, 0x4b, 0xd1, 0xea, 0x6c,
818 0xdf, 0xc9, 0xcc, 0xc1, 0xd6, 0xf0, 0xf0 ),
819 EXPECTED ( 0xed, 0xa7, 0x09, 0xc7, 0x00, 0x97, 0x14, 0xc3, 0x72,
820 0xd0, 0xd6, 0xa6, 0x3d, 0xfd, 0xe4, 0x69 ) );
821
822/* HMAC-SHA256 test case 107 */
823HMAC_TEST ( wycheproof_hmac_sha256_a76c7939, &sha256_algorithm,
824 KEY ( 0x15, 0xd5, 0x53, 0xc8, 0xda, 0x43, 0x3d, 0x53, 0xcd, 0xc7,
825 0xf1, 0x50, 0x87, 0xa7, 0x03, 0x49, 0xca, 0xab, 0x57, 0xb3,
826 0x79, 0xa4, 0x07, 0x89, 0x28, 0xce, 0x9b, 0x99, 0x30, 0x2e,
827 0x31, 0xa6 ),
828 DATA ( 0xd6, 0xc0, 0xc5, 0x3b, 0x73, 0xf7, 0x4f, 0xb4, 0x26, 0xad,
829 0xfd, 0xc1, 0x43, 0xd7, 0x0d, 0xb7, 0xf7, 0xa8, 0xf8, 0xed,
830 0x32, 0xa2, 0xfa, 0xef, 0x26, 0x3c, 0xf9, 0xab, 0x11, 0x75,
831 0x37, 0xb6, 0xb9, 0xd1, 0x72, 0x8b, 0xd1, 0x00, 0x0c, 0x1f,
832 0x28, 0x90, 0x6c, 0x6c, 0xe6, 0xad, 0x21, 0x86, 0x2b, 0xfa,
833 0x4d, 0x68, 0x9c, 0x1a, 0x8e, 0xbe, 0x38, 0x68, 0xb9, 0x92,
834 0x09, 0x8b, 0x7f, 0x98, 0x1b, 0x2a, 0xf5, 0x18, 0x9a, 0x6a,
835 0xde, 0xdf, 0xf5, 0x3a, 0x6c, 0x70, 0xc8, 0x36, 0x93, 0xf5,
836 0xc8, 0xd6, 0x38, 0x5a, 0x9a, 0x8a, 0x4d, 0xca, 0x01, 0x7c,
837 0x57, 0x16, 0xac, 0x4d, 0x5b, 0x97, 0x65, 0xc5, 0xca, 0x2a,
838 0xb5, 0xf9, 0x86, 0x7e, 0x02, 0x79, 0x51, 0x98, 0xc0, 0xb9,
839 0x52, 0x7e, 0x07, 0xd0, 0x8a, 0xf5, 0x2d, 0xbc, 0xb9, 0x1c,
840 0xeb, 0x3d, 0x8b, 0x41, 0x2a, 0x2b, 0x24, 0x02 ),
841 EXPECTED ( 0x8c, 0xa1, 0x40, 0x2b, 0xf8, 0xfc, 0x23, 0x44, 0x2a,
842 0xc2, 0x06, 0x7b, 0xe9, 0x25, 0xb8, 0x28 ) );
843
844/* HMAC-SHA256 test case 108 */
845HMAC_TEST ( wycheproof_hmac_sha256_935d128b, &sha256_algorithm,
846 KEY ( 0xff, 0xe5, 0x59, 0x46, 0x8a, 0x10, 0x31, 0xdf, 0xb3, 0xce,
847 0xd2, 0xe3, 0x81, 0xe7, 0x4b, 0x58, 0x21, 0xa3, 0x6d, 0x9a,
848 0xbf, 0x5f, 0x2e, 0x59, 0x89, 0x5a, 0x7f, 0xdc, 0xa0, 0xfa,
849 0x56, 0xa0 ),
850 DATA ( 0x23, 0x88, 0x99, 0xa8, 0x4a, 0x3c, 0xf1, 0x52, 0x02, 0xa1,
851 0xfb, 0xef, 0x47, 0x41, 0xe1, 0x33, 0xfb, 0x24, 0xc0, 0x09,
852 0xa0, 0xcd, 0x83, 0x85, 0x4c, 0x6d, 0x1d, 0x7c, 0x92, 0x66,
853 0xd4, 0xc3, 0xea, 0xfe, 0x6d, 0x1d, 0xfc, 0x18, 0xf1, 0x38,
854 0x45, 0xcc, 0xda, 0xd7, 0xfe, 0x27, 0x76, 0x27, 0xb5, 0xfd,
855 0x5f, 0xf2, 0x55, 0x5c, 0xe6, 0xdf, 0xde, 0x1e, 0xe0, 0x78,
856 0x54, 0x0a, 0x0a, 0x35, 0x90, 0xc6, 0xd9, 0xbf, 0x2f, 0xb6,
857 0x3b, 0xa9, 0xaf, 0xbe, 0x93, 0x80, 0xe7, 0x97, 0xbe, 0x7c,
858 0xd0, 0x17, 0x64, 0x5c, 0x5a, 0x36, 0x13, 0xee, 0xf3, 0x8e,
859 0xf8, 0x9e, 0x3b, 0x74, 0x61, 0xe6, 0xe7, 0x00, 0xff, 0x2b,
860 0x4d, 0xee, 0xf5, 0x63, 0x6c, 0x9d, 0x21, 0x98, 0xb1, 0x43,
861 0xf7, 0x97, 0xca, 0x18, 0x20, 0xa3, 0xdc, 0xc5, 0xd4, 0x62,
862 0xeb, 0xf4, 0xa8, 0xc4, 0xc0, 0x9e, 0xb2, 0x02, 0xa2, 0x35,
863 0x92, 0xeb, 0x95, 0x24, 0x08, 0x2c, 0x79, 0xad, 0xda, 0x8f,
864 0xcd, 0x56, 0xd2, 0x56, 0x04, 0x1a, 0x26, 0xbf, 0x8f, 0x52,
865 0x39, 0x62, 0xba, 0x91, 0x1c, 0xe5, 0xa5, 0x78, 0x65, 0x70,
866 0xd6, 0x5b, 0xe3, 0xc4, 0xdf, 0x72, 0x2e, 0xd8, 0x83, 0x03,
867 0x02, 0x06, 0x5f, 0xeb, 0xdf, 0x94, 0x47, 0x15, 0x29, 0x8a,
868 0x1f, 0xbb, 0x7d, 0x10, 0xb6, 0x8d, 0x7d, 0xa2, 0xbf, 0x88,
869 0x93, 0x24, 0x31, 0x4c, 0xe5, 0x1e, 0x81, 0x5c, 0x7f, 0xbf,
870 0x03, 0xaa, 0x0a, 0x83, 0x58, 0xaf, 0xf3, 0xa8, 0x6e, 0xb7,
871 0xa3, 0x3f, 0x9a, 0x49, 0x23, 0x66, 0x0d, 0xb3, 0x04, 0x7e,
872 0x79, 0x3b, 0xeb, 0xb0, 0xc6, 0x91, 0x8f, 0x43, 0x95, 0xd4,
873 0x00, 0x38, 0x17, 0x23, 0xfd, 0xae, 0x28, 0x32, 0xc3, 0x6e,
874 0xfc, 0x8e, 0x36, 0x8a, 0x68, 0xf3, 0x0f, 0x63, 0x51, 0xc3,
875 0xbc, 0x94, 0x2c, 0xd5, 0x60 ),
876 EXPECTED ( 0xa8, 0x30, 0xb3, 0x13, 0xf4, 0x93, 0x6d, 0xea, 0x56,
877 0xa3, 0xae, 0xfd, 0x6a, 0x3e, 0xbe, 0x7d ) );
878
879/* HMAC-SHA256 test case 109 (skipped: modified tag) */
880
881/* HMAC-SHA256 test case 110 (skipped: modified tag) */
882
883/* HMAC-SHA256 test case 111 (skipped: modified tag) */
884
885/* HMAC-SHA256 test case 112 (skipped: modified tag) */
886
887/* HMAC-SHA256 test case 113 (skipped: modified tag) */
888
889/* HMAC-SHA256 test case 114 (skipped: modified tag) */
890
891/* HMAC-SHA256 test case 115 (skipped: modified tag) */
892
893/* HMAC-SHA256 test case 116 (skipped: modified tag) */
894
895/* HMAC-SHA256 test case 117 (skipped: modified tag) */
896
897/* HMAC-SHA256 test case 118 (skipped: modified tag) */
898
899/* HMAC-SHA256 test case 119 (skipped: modified tag) */
900
901/* HMAC-SHA256 test case 120 (skipped: modified tag) */
902
903/* HMAC-SHA256 test case 121 (skipped: modified tag) */
904
905/* HMAC-SHA256 test case 122 (skipped: modified tag) */
906
907/* HMAC-SHA256 test case 123 (skipped: modified tag) */
908
909/* HMAC-SHA256 test case 124 (skipped: modified tag) */
910
911/* HMAC-SHA256 test case 125 (skipped: modified tag) */
912
913/* HMAC-SHA256 test case 126 (skipped: modified tag) */
914
915/* HMAC-SHA256 test case 127 (skipped: modified tag) */
916
917/* HMAC-SHA256 test case 128 (skipped: modified tag) */
918
919/* HMAC-SHA256 test case 129 (skipped: modified tag) */
920
921/* HMAC-SHA256 test case 130 (skipped: modified tag) */
922
923/* HMAC-SHA256 test case 131 (skipped: modified tag) */
924
925/* HMAC-SHA256 test case 132 (skipped: modified tag) */
926
927/* HMAC-SHA256 test case 133 (skipped: modified tag) */
928
929/* HMAC-SHA256 test case 134 (skipped: modified tag) */
930
931/* HMAC-SHA256 test case 135 (skipped: modified tag) */
932
933/* HMAC-SHA256 test case 136 (skipped: modified tag) */
934
935/* HMAC-SHA256 test case 137 (skipped: modified tag) */
936
937/* HMAC-SHA256 test case 138 (skipped: modified tag) */
938
939/* HMAC-SHA256 test case 139 (skipped: modified tag) */
940
941/* HMAC-SHA256 test case 140 (skipped: modified tag) */
942
943/* HMAC-SHA256 test case 141 (skipped: modified tag) */
944
945/* HMAC-SHA256 test case 142 (skipped: modified tag) */
946
947/* HMAC-SHA256 test case 143 (skipped: modified tag) */
948
949/* HMAC-SHA256 test case 144 (skipped: modified tag) */
950
951/* HMAC-SHA256 test case 145 (skipped: modified tag) */
952
953/* HMAC-SHA256 test case 146 (skipped: modified tag) */
954
955/* HMAC-SHA256 test case 147 (skipped: modified tag) */
956
957/* HMAC-SHA256 test case 148 (skipped: modified tag) */
958
959/* HMAC-SHA256 test case 149 (skipped: modified tag) */
960
961/* HMAC-SHA256 test case 150 (skipped: modified tag) */
962
963/* HMAC-SHA256 test case 151 (skipped: modified tag) */
964
965/* HMAC-SHA256 test case 152 (skipped: modified tag) */
966
967/* HMAC-SHA256 test case 153 (skipped: modified tag) */
968
969/* HMAC-SHA256 test case 154 (skipped: modified tag) */
970
971/* HMAC-SHA256 test case 155 (skipped: modified tag) */
972
973/* HMAC-SHA256 test case 156 (skipped: modified tag) */
974
975/* HMAC-SHA256 test case 157 (skipped: modified tag) */
976
977/* HMAC-SHA256 test case 158 (skipped: modified tag) */
978
979/* HMAC-SHA256 test case 159 (skipped: modified tag) */
980
981/* HMAC-SHA256 test case 160 (skipped: modified tag) */
982
983/* HMAC-SHA256 test case 161 (skipped: modified tag) */
984
985/* HMAC-SHA256 test case 162 (skipped: modified tag) */
986
987/* HMAC-SHA256 test case 163 */
988HMAC_TEST ( wycheproof_hmac_sha256_fd150357, &sha256_algorithm,
989 KEY ( 0xa3, 0x49, 0xac, 0x0a, 0x9f, 0x9f, 0x74, 0xe4, 0x8e, 0x09,
990 0x9c, 0xc3, 0xdb, 0xf9, 0xa9, 0xc9 ),
991 DATA(),
992 EXPECTED ( 0x3a, 0x84, 0x37, 0xb8, 0x77, 0xb7, 0x5c, 0xc0, 0x8a,
993 0x4d, 0x8d, 0x75, 0x59, 0xa8, 0xfc, 0x68, 0x69, 0xa5,
994 0x8c, 0x71, 0x3d, 0xa6, 0x3d, 0x1d, 0x4b, 0x35, 0x0d,
995 0x59, 0xb5, 0x97, 0xe3, 0x0c ) );
996
997/* HMAC-SHA256 test case 164 */
998HMAC_TEST ( wycheproof_hmac_sha256_982ab69a, &sha256_algorithm,
999 KEY ( 0xac, 0x68, 0x6b, 0xa0, 0xf1, 0xa5, 0x1b, 0x4e, 0xc4, 0xf0,
1000 0xb3, 0x04, 0x92, 0xb7, 0xf5, 0x56 ),
1001 DATA ( 0x2f, 0xa4, 0x3a, 0x14, 0xae, 0x50, 0x05, 0x07, 0xde, 0xb9,
1002 0x5a, 0xb5, 0xbd, 0x32, 0xb0, 0xfe ),
1003 EXPECTED ( 0x00, 0x85, 0x32, 0xa5, 0x3d, 0x0c, 0x0a, 0xb2, 0x20,
1004 0x27, 0xae, 0x24, 0x90, 0x23, 0x37, 0x53, 0x74, 0xe2,
1005 0x23, 0x9b, 0x95, 0x96, 0x09, 0xe8, 0x33, 0x9b, 0x05,
1006 0xa1, 0x57, 0x42, 0xa6, 0x75 ) );
1007
1008/* HMAC-SHA256 test case 165 */
1009HMAC_TEST ( wycheproof_hmac_sha256_9cb4783e, &sha256_algorithm,
1010 KEY ( 0x73, 0xef, 0x9e, 0xf1, 0xa4, 0x22, 0x5e, 0x51, 0xe3, 0xc1,
1011 0xdb, 0x3a, 0xce, 0x1f, 0xa2, 0x4f ),
1012 DATA ( 0xff, 0xad, 0x38, 0x0d, 0x9a, 0xab, 0xb0, 0xac, 0xed, 0xe5,
1013 0xc1, 0xbf, 0x11, 0x29, 0x25, 0xcd, 0xfc, 0x3d, 0x37, 0x9f,
1014 0xc2, 0x37, 0x6a, 0x4f, 0xe2, 0x64, 0x44, 0x90, 0xd0, 0x43,
1015 0x0a, 0xc3 ),
1016 EXPECTED ( 0x9c, 0x7c, 0xb9, 0xf7, 0xc2, 0x07, 0xec, 0x46, 0xd1,
1017 0xe3, 0xc5, 0x57, 0x64, 0x73, 0x1c, 0x4a, 0xb5, 0xdd,
1018 0xba, 0xe4, 0xe1, 0x40, 0x1e, 0x52, 0xa8, 0x95, 0xdf,
1019 0x0c, 0xff, 0x47, 0x87, 0xc9 ) );
1020
1021/* HMAC-SHA256 test case 166 */
1022HMAC_TEST ( wycheproof_hmac_sha256_cdf96273, &sha256_algorithm,
1023 KEY ( 0xe3, 0x4f, 0x15, 0xc7, 0xbd, 0x81, 0x99, 0x30, 0xfe, 0x9d,
1024 0x66, 0xe0, 0xc1, 0x66, 0xe6, 0x1c ),
1025 DATA(),
1026 EXPECTED ( 0x1d, 0x76, 0x5a, 0xb9, 0xe2, 0x98, 0x92, 0xf7, 0xbf,
1027 0xec, 0x29, 0x75, 0xad, 0x4b, 0xc2, 0xdc ) );
1028
1029/* HMAC-SHA256 test case 167 */
1030HMAC_TEST ( wycheproof_hmac_sha256_c8329138, &sha256_algorithm,
1031 KEY ( 0xe0, 0x9e, 0xaa, 0x5a, 0x3f, 0x5e, 0x56, 0xd2, 0x79, 0xd5,
1032 0xe7, 0xa0, 0x33, 0x73, 0xf6, 0xea ),
1033 DATA ( 0xef, 0x4e, 0xab, 0x37, 0x18, 0x1f, 0x98, 0x42, 0x3e, 0x53,
1034 0xe9, 0x47, 0xe7, 0x05, 0x0f, 0xd0 ),
1035 EXPECTED ( 0xcf, 0xc1, 0x9e, 0xc0, 0x79, 0x02, 0xec, 0x8b, 0xe4,
1036 0x89, 0x60, 0x6d, 0x8f, 0x40, 0xd1, 0x72 ) );
1037
1038/* HMAC-SHA256 test case 168 */
1039HMAC_TEST ( wycheproof_hmac_sha256_b1487111, &sha256_algorithm,
1040 KEY ( 0x9b, 0xd3, 0x90, 0x2e, 0xd0, 0x99, 0x6c, 0x86, 0x9b, 0x57,
1041 0x22, 0x72, 0xe7, 0x6f, 0x38, 0x89 ),
1042 DATA ( 0xa7, 0xba, 0x19, 0xd4, 0x9e, 0xe1, 0xea, 0x02, 0xf0, 0x98,
1043 0xaa, 0x8e, 0x30, 0xc7, 0x40, 0xd8, 0x93, 0xa4, 0x45, 0x6c,
1044 0xcc, 0x29, 0x40, 0x40, 0x48, 0x4e, 0xd8, 0xa0, 0x0a, 0x55,
1045 0xf9, 0x3e ),
1046 EXPECTED ( 0xac, 0x50, 0xad, 0xad, 0x97, 0x85, 0xa8, 0x9c, 0x72,
1047 0x82, 0xd8, 0xab, 0x88, 0x1d, 0xc6, 0x15 ) );
1048
1049/* HMAC-SHA256 test case 169 */
1050HMAC_TEST ( wycheproof_hmac_sha256_147f1ef4, &sha256_algorithm,
1051 KEY ( 0x8a, 0x0c, 0x46, 0xeb, 0x8a, 0x29, 0x59, 0xe3, 0x98, 0x65,
1052 0x33, 0x00, 0x79, 0x76, 0x33, 0x41, 0xe7, 0x43, 0x9d, 0xab,
1053 0x14, 0x96, 0x94, 0xee, 0x57, 0xe0, 0xd6, 0x1e, 0xc7, 0x3d,
1054 0x94, 0x7e, 0x1d, 0x53, 0x01, 0xcd, 0x97, 0x4e, 0x18, 0xa5,
1055 0xe0, 0xd1, 0xcf, 0x0d, 0x2c, 0x37, 0xe8, 0xaa, 0xdd, 0x9f,
1056 0xd5, 0x89, 0xd5, 0x7e, 0xf3, 0x2e, 0x47, 0x02, 0x4a, 0x99,
1057 0xbc, 0x3f, 0x70, 0xc0, 0x77 ),
1058 DATA(),
1059 EXPECTED ( 0xf5, 0xbf, 0xb9, 0x40, 0x56, 0x1f, 0xb4, 0xdb, 0x73,
1060 0xeb, 0xba, 0x49, 0xbf, 0x2e, 0x48, 0x93, 0xbb, 0x0c,
1061 0xca, 0x61, 0x8a, 0x71, 0xb7, 0xec, 0xf6, 0xac, 0xa3,
1062 0x82, 0x31, 0xe1, 0x67, 0xea ) );
1063
1064/* HMAC-SHA256 test case 170 */
1065HMAC_TEST ( wycheproof_hmac_sha256_f3e9e401, &sha256_algorithm,
1066 KEY ( 0x28, 0x77, 0xeb, 0xb8, 0x1f, 0x80, 0x33, 0x4f, 0xd0, 0x05,
1067 0x16, 0x33, 0x74, 0x46, 0xc5, 0xcf, 0x5a, 0xd4, 0xa3, 0xa2,
1068 0xe1, 0x97, 0x26, 0x9e, 0x5b, 0x0a, 0xd1, 0x88, 0x9d, 0xfe,
1069 0x2b, 0x4b, 0x0a, 0xaa, 0x67, 0x6f, 0xac, 0x55, 0xb3, 0x6c,
1070 0xe3, 0xaf, 0xfc, 0x7f, 0x10, 0x92, 0xab, 0x89, 0xc5, 0x32,
1071 0x73, 0xa8, 0x37, 0xbd, 0x5b, 0xc9, 0x4d, 0x1a, 0x9d, 0x9e,
1072 0x5b, 0x02, 0xe9, 0x85, 0x6f ),
1073 DATA ( 0xba, 0x44, 0x8d, 0xb8, 0x8f, 0x15, 0x4f, 0x77, 0x50, 0x28,
1074 0xfd, 0xec, 0xf9, 0xe6, 0x75, 0x2d ),
1075 EXPECTED ( 0x16, 0x90, 0xed, 0x41, 0x80, 0x64, 0x28, 0x99, 0xe0,
1076 0xde, 0xb9, 0xec, 0x22, 0x70, 0x37, 0x4e, 0x8b, 0x0a,
1077 0x48, 0x42, 0x17, 0xf5, 0xa6, 0x82, 0xc5, 0x24, 0x31,
1078 0x6e, 0xca, 0x21, 0x9b, 0x64 ) );
1079
1080/* HMAC-SHA256 test case 171 */
1081HMAC_TEST ( wycheproof_hmac_sha256_20b8f8fa, &sha256_algorithm,
1082 KEY ( 0x21, 0x17, 0x8e, 0x26, 0xbc, 0x28, 0xff, 0xc2, 0x7c, 0x06,
1083 0xf7, 0x62, 0xba, 0x19, 0x0a, 0x62, 0x70, 0x75, 0x85, 0x6d,
1084 0x7c, 0xa6, 0xfe, 0xab, 0x79, 0xac, 0x63, 0x14, 0x9b, 0x17,
1085 0x12, 0x6e, 0x34, 0xfd, 0x9e, 0x55, 0x90, 0xe0, 0xe9, 0x0a,
1086 0xac, 0x80, 0x1d, 0xf0, 0x95, 0x05, 0xd8, 0xaf, 0x2d, 0xd0,
1087 0xa2, 0x70, 0x3b, 0x35, 0x2c, 0x57, 0x3a, 0xc9, 0xd2, 0xcb,
1088 0x06, 0x39, 0x27, 0xf2, 0xaf ),
1089 DATA ( 0x7d, 0x5f, 0x1d, 0x6b, 0x99, 0x34, 0x52, 0xb1, 0xb5, 0x3a,
1090 0x43, 0x75, 0x76, 0x0d, 0x10, 0xa2, 0x0d, 0x46, 0xa0, 0xab,
1091 0x9e, 0xc3, 0x94, 0x3f, 0xc4, 0xb0, 0x7a, 0x2c, 0xe7, 0x35,
1092 0xe7, 0x31 ),
1093 EXPECTED ( 0xe5, 0x42, 0xac, 0x8a, 0xc8, 0xf3, 0x64, 0xba, 0xe4,
1094 0xb7, 0xda, 0x8b, 0x7a, 0x07, 0x77, 0xdf, 0x35, 0x0f,
1095 0x00, 0x1d, 0xe4, 0xe8, 0xcf, 0xa2, 0xd9, 0xef, 0x0b,
1096 0x15, 0x01, 0x94, 0x96, 0xec ) );
1097
1098/* HMAC-SHA256 test case 172 */
1099HMAC_TEST ( wycheproof_hmac_sha256_1a092c95, &sha256_algorithm,
1100 KEY ( 0x81, 0x3e, 0x0c, 0x07, 0x8c, 0x22, 0x13, 0x75, 0xe8, 0x05,
1101 0x90, 0xac, 0xe6, 0x77, 0x4e, 0xaf, 0xd2, 0xd2, 0xc2, 0x42,
1102 0x35, 0x09, 0x88, 0xd0, 0x2e, 0xfa, 0x55, 0x0e, 0x05, 0xae,
1103 0xcb, 0xe1, 0x00, 0xc1, 0xb8, 0xbf, 0x15, 0x4c, 0x93, 0x2c,
1104 0xf9, 0xe5, 0x71, 0x77, 0x01, 0x5c, 0x81, 0x6c, 0x42, 0xbc,
1105 0x7f, 0xbc, 0x71, 0xce, 0xaa, 0x53, 0x28, 0xc7, 0x31, 0x6b,
1106 0x7f, 0x0f, 0x30, 0x33, 0x0f ),
1107 DATA(),
1108 EXPECTED ( 0xbb, 0x6a, 0xb6, 0x6f, 0x51, 0xe5, 0x3f, 0xa0, 0x86,
1109 0xc9, 0xc6, 0x1a, 0x26, 0xca, 0x27, 0xe0 ) );
1110
1111/* HMAC-SHA256 test case 173 */
1112HMAC_TEST ( wycheproof_hmac_sha256_08887d89, &sha256_algorithm,
1113 KEY ( 0x57, 0x13, 0x34, 0x30, 0x96, 0xb0, 0xaa, 0xf0, 0x56, 0x2a,
1114 0x6b, 0x92, 0xc1, 0xa1, 0x55, 0x35, 0x92, 0x41, 0x60, 0x47,
1115 0x5a, 0x4e, 0x42, 0x33, 0x58, 0x91, 0x59, 0x72, 0x8c, 0x56,
1116 0x2e, 0x3b, 0x2a, 0xd9, 0x6f, 0x74, 0x0c, 0x6a, 0x4d, 0xa2,
1117 0xbc, 0x3f, 0x76, 0x8c, 0xe9, 0x8c, 0x9b, 0xd6, 0x6b, 0xac,
1118 0x28, 0xd1, 0x64, 0x6f, 0xf5, 0x92, 0x02, 0x8c, 0x94, 0x0d,
1119 0x45, 0x5f, 0x35, 0xee, 0xb4 ),
1120 DATA ( 0x71, 0x71, 0x2d, 0xe2, 0xfa, 0xc1, 0xfb, 0x85, 0x56, 0x73,
1121 0xbf, 0xf7, 0x2a, 0xf6, 0x42, 0x57 ),
1122 EXPECTED ( 0xc1, 0x81, 0x65, 0xb8, 0xb9, 0x7d, 0xb1, 0xca, 0x5e,
1123 0x24, 0x86, 0xa3, 0x2b, 0x39, 0x73, 0x1e ) );
1124
1125/* HMAC-SHA256 test case 174 */
1126HMAC_TEST ( wycheproof_hmac_sha256_d67d39a0, &sha256_algorithm,
1127 KEY ( 0x72, 0x08, 0xaf, 0xbe, 0xcf, 0x5f, 0x1f, 0x34, 0x82, 0x8f,
1128 0x98, 0xb7, 0x19, 0x41, 0x4e, 0x28, 0x07, 0x16, 0xde, 0x64,
1129 0xf5, 0xed, 0xd1, 0xae, 0x1c, 0x77, 0x41, 0x53, 0xcd, 0x20,
1130 0x22, 0x33, 0x7b, 0xb2, 0x0f, 0xad, 0xe1, 0xb7, 0x85, 0x6f,
1131 0x1d, 0xbf, 0xd4, 0x0e, 0x2b, 0x43, 0x07, 0xf1, 0x29, 0x3c,
1132 0xef, 0xf1, 0x69, 0x2e, 0xe9, 0x0d, 0x8c, 0x90, 0xb5, 0xfd,
1133 0xf9, 0x53, 0xab, 0x01, 0xa5 ),
1134 DATA ( 0x43, 0xb5, 0x33, 0x02, 0xb6, 0x04, 0xd6, 0x13, 0xe6, 0x2d,
1135 0xb0, 0x02, 0x04, 0x4a, 0x47, 0x82, 0xd5, 0x72, 0xac, 0x8f,
1136 0xbd, 0x3c, 0xd0, 0xec, 0xe9, 0x1b, 0x43, 0xbc, 0x52, 0xe1,
1137 0x8e, 0x98 ),
1138 EXPECTED ( 0x2f, 0xec, 0xfe, 0x45, 0xd7, 0x93, 0x39, 0xc5, 0x7d,
1139 0xdd, 0xba, 0x68, 0xab, 0x34, 0xf5, 0xf1 ) );
1140
1141/** Perform Wycheproof HMAC-SHA256 self-tests */
1142static void wycheproof_hmac_sha256_exec ( void ) {
1143
1144 /* Perform tests in tcId order */
1145 hmac_ok ( &wycheproof_hmac_sha256_7c4140b3 );
1146 hmac_ok ( &wycheproof_hmac_sha256_c53e05ac );
1147 hmac_ok ( &wycheproof_hmac_sha256_5a32d735 );
1148 hmac_ok ( &wycheproof_hmac_sha256_246ad1bf );
1149 hmac_ok ( &wycheproof_hmac_sha256_a5ad9fb1 );
1150 hmac_ok ( &wycheproof_hmac_sha256_7fba214d );
1151 hmac_ok ( &wycheproof_hmac_sha256_3530b75d );
1152 hmac_ok ( &wycheproof_hmac_sha256_bb931dd4 );
1153 hmac_ok ( &wycheproof_hmac_sha256_9f144ae3 );
1154 hmac_ok ( &wycheproof_hmac_sha256_bc8aa2d4 );
1155 hmac_ok ( &wycheproof_hmac_sha256_d5e85ba4 );
1156 hmac_ok ( &wycheproof_hmac_sha256_9b653a9b );
1157 hmac_ok ( &wycheproof_hmac_sha256_82ad1808 );
1158 hmac_ok ( &wycheproof_hmac_sha256_e2d95b9c );
1159 hmac_ok ( &wycheproof_hmac_sha256_ed726ccf );
1160 hmac_ok ( &wycheproof_hmac_sha256_cdd0b9c4 );
1161 hmac_ok ( &wycheproof_hmac_sha256_2187b903 );
1162 hmac_ok ( &wycheproof_hmac_sha256_c478ea6a );
1163 hmac_ok ( &wycheproof_hmac_sha256_fa440b8d );
1164 hmac_ok ( &wycheproof_hmac_sha256_774ada4f );
1165 hmac_ok ( &wycheproof_hmac_sha256_42d336a6 );
1166 hmac_ok ( &wycheproof_hmac_sha256_20836324 );
1167 hmac_ok ( &wycheproof_hmac_sha256_6433873a );
1168 hmac_ok ( &wycheproof_hmac_sha256_ca5b8023 );
1169 hmac_ok ( &wycheproof_hmac_sha256_1900ae3b );
1170 hmac_ok ( &wycheproof_hmac_sha256_5e3db18f );
1171 hmac_ok ( &wycheproof_hmac_sha256_bc2247eb );
1172 hmac_ok ( &wycheproof_hmac_sha256_64f8d3a6 );
1173 hmac_ok ( &wycheproof_hmac_sha256_d9027e6c );
1174 hmac_ok ( &wycheproof_hmac_sha256_dc393f83 );
1175 hmac_ok ( &wycheproof_hmac_sha256_8d8a1222 );
1176 hmac_ok ( &wycheproof_hmac_sha256_f24e3e3d );
1177 hmac_ok ( &wycheproof_hmac_sha256_b2beba66 );
1178 hmac_ok ( &wycheproof_hmac_sha256_ed89897a );
1179 hmac_ok ( &wycheproof_hmac_sha256_10ca3faf );
1180 hmac_ok ( &wycheproof_hmac_sha256_2e434dc4 );
1181 hmac_ok ( &wycheproof_hmac_sha256_59d3d47c );
1182 hmac_ok ( &wycheproof_hmac_sha256_d4ffe05a );
1183 hmac_ok ( &wycheproof_hmac_sha256_c3399a67 );
1184 hmac_ok ( &wycheproof_hmac_sha256_0a237580 );
1185 hmac_ok ( &wycheproof_hmac_sha256_39424608 );
1186 hmac_ok ( &wycheproof_hmac_sha256_d28afbfa );
1187 hmac_ok ( &wycheproof_hmac_sha256_f657ff4c );
1188 hmac_ok ( &wycheproof_hmac_sha256_05f97d81 );
1189 hmac_ok ( &wycheproof_hmac_sha256_8312b81f );
1190 hmac_ok ( &wycheproof_hmac_sha256_3a18e216 );
1191 hmac_ok ( &wycheproof_hmac_sha256_2535dff4 );
1192 hmac_ok ( &wycheproof_hmac_sha256_c3976879 );
1193 hmac_ok ( &wycheproof_hmac_sha256_e5f50edd );
1194 hmac_ok ( &wycheproof_hmac_sha256_93280c4f );
1195 hmac_ok ( &wycheproof_hmac_sha256_5113cee4 );
1196 hmac_ok ( &wycheproof_hmac_sha256_662b5294 );
1197 hmac_ok ( &wycheproof_hmac_sha256_a76c7939 );
1198 hmac_ok ( &wycheproof_hmac_sha256_935d128b );
1199 hmac_ok ( &wycheproof_hmac_sha256_fd150357 );
1200 hmac_ok ( &wycheproof_hmac_sha256_982ab69a );
1201 hmac_ok ( &wycheproof_hmac_sha256_9cb4783e );
1202 hmac_ok ( &wycheproof_hmac_sha256_cdf96273 );
1203 hmac_ok ( &wycheproof_hmac_sha256_c8329138 );
1204 hmac_ok ( &wycheproof_hmac_sha256_b1487111 );
1205 hmac_ok ( &wycheproof_hmac_sha256_147f1ef4 );
1206 hmac_ok ( &wycheproof_hmac_sha256_f3e9e401 );
1207 hmac_ok ( &wycheproof_hmac_sha256_20b8f8fa );
1208 hmac_ok ( &wycheproof_hmac_sha256_1a092c95 );
1209 hmac_ok ( &wycheproof_hmac_sha256_08887d89 );
1210 hmac_ok ( &wycheproof_hmac_sha256_d67d39a0 );
1211}
1212
1213/** Wycheproof HMAC-SHA256 self-tests */
1214struct self_test wycheproof_hmac_sha256 __self_test = {
1215 .name = "wycheproof_hmac_sha256",
1217};
1218REQUIRING_SYMBOL ( wycheproof_hmac_sha256 );
#define DATA(...)
Define inline data.
Definition acpi_test.c:74
#define KEY(...)
Define inline key.
Definition cipher_test.h:45
#define EXPECTED(...)
Define inline expected result point.
#define REQUIRING_SYMBOL(symbol)
Specify the file's requiring symbol.
Definition compiler.h:140
#define HMAC_TEST(name, DIGEST, KEY, DATA, EXPECTED)
Define an HMAC test.
Definition hmac_test.h:53
#define hmac_ok(test)
Report an HMAC test result.
Definition hmac_test.h:75
struct digest_algorithm sha256_algorithm
A self-test set.
Definition test.h:15
#define __self_test
Declare a self-test.
Definition test.h:32
static void wycheproof_hmac_sha256_exec(void)
Perform Wycheproof HMAC-SHA256 self-tests.
Cryptographic test vectors imported from Project Wycheproof.