add packaging
[platform/upstream/nettle.git] / testsuite / hmac-test.c
1 #include "testutils.h"
2 #include "hmac.h"
3
4 #define HMAC_TEST(alg, key, msg, mac)                   \
5   do {                                                  \
6     struct hmac_##alg##_ctx ctx;                        \
7                                                         \
8     hmac_##alg##_set_key(&ctx, key->length, key->data); \
9     hmac_##alg##_update(&ctx, msg->length, msg->data);  \
10     digest[mac->length] = 17;                           \
11     hmac_##alg##_digest(&ctx, mac->length, digest);     \
12     ASSERT(MEMEQ (mac->length, digest, mac->data));     \
13     ASSERT(digest[mac->length] == 17);                  \
14   } while (0)
15
16 void
17 test_main(void)
18 {
19   /* sha512's digests are longest */
20   uint8_t digest[SHA512_DIGEST_SIZE+1];
21
22   memset(digest, 0, sizeof(digest));
23
24   /* Test vectors for md5, from RFC-2202 */
25
26   /* md5 - 1 */
27   HMAC_TEST(md5,
28             SHEX("0b0b0b0b0b0b0b0b 0b0b0b0b0b0b0b0b"),
29             SDATA("Hi There"),
30             SHEX("9294727a3638bb1c 13f48ef8158bfc9d"));
31
32
33   /* md5 - 2 */
34   HMAC_TEST(md5,
35             SDATA("Jefe"),
36             SDATA("what do ya want for nothing?"),
37             SHEX("750c783e6ab0b503 eaa86e310a5db738"));     
38
39   /* md5 - 3 */
40   HMAC_TEST(md5,
41             SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
42             SHEX("dddddddddddddddd dddddddddddddddd"
43                  "dddddddddddddddd dddddddddddddddd"
44                  "dddddddddddddddd dddddddddddddddd"
45                  "dddd"),
46             SHEX("56be34521d144c88 dbb8c733f0e8b3f6"));
47   
48   /* md5 - 4 */
49   HMAC_TEST(md5,
50             SHEX("0102030405060708 090a0b0c0d0e0f10" 
51                  "1112131415161718 19"),
52             SHEX("cdcdcdcdcdcdcdcd cdcdcdcdcdcdcdcd"
53                  "cdcdcdcdcdcdcdcd cdcdcdcdcdcdcdcd"
54                  "cdcdcdcdcdcdcdcd cdcdcdcdcdcdcdcd"
55                  "cdcd"),
56             SHEX("697eaf0aca3a3aea 3a75164746ffaa79"));
57
58   /* md5 - 5 */
59   HMAC_TEST(md5,
60             SHEX("0c0c0c0c0c0c0c0c 0c0c0c0c0c0c0c0c"),
61             SDATA("Test With Truncation"),
62             SHEX("56461ef2342edc00 f9bab995"));
63
64   /* md5 - 6 */
65   HMAC_TEST(md5,
66             SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
67                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
68                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
69                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
70                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
71             SDATA("Test Using Larger Than Block-Size Key - Hash Key First"),
72             SHEX("6b1ab7fe4bd7bf8f 0b62e6ce61b9d0cd"));
73
74   /* md5 - 7 */
75   HMAC_TEST(md5,
76             SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
77                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
78                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
79                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
80                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
81             SDATA("Test Using Larger Than Block-Size Key and Larger "
82                   "Than One Block-Size Data"),
83             SHEX("6f630fad67cda0ee 1fb1f562db3aa53e"));
84
85   /* Additional test vectors, from Daniel Kahn Gillmor */
86   HMAC_TEST(md5,
87             SDATA("monkey monkey monkey monkey"),
88             SDATA(""),
89             SHEX("e84db42a188813f30a15e611d64c7869"));
90   
91   HMAC_TEST(md5,
92             SDATA("monkey monkey monkey monkey"),
93             SDATA("a"),
94             SHEX("123662062e67c2aab371cc49db0df134"));
95   
96   HMAC_TEST(md5,
97             SDATA("monkey monkey monkey monkey"),
98             SDATA("38"),
99             SHEX("0a46cc10a49d4b7025c040c597bf5d76"));
100   
101   HMAC_TEST(md5,
102             SDATA("monkey monkey monkey monkey"),
103             SDATA("abc"),
104             SHEX("d1f4d89f0e8b2b6ed0623c99ec298310"));
105   
106   HMAC_TEST(md5,
107             SDATA("monkey monkey monkey monkey"),
108             SDATA("message digest"),
109             SHEX("1627207b9bed5009a4f6e9ca8d2ca01e"));
110   
111   HMAC_TEST(md5,
112             SDATA("monkey monkey monkey monkey"),
113             SDATA("abcdefghijklmnopqrstuvwxyz"),
114             SHEX("922aae6ab3b3a29202e21ce5f916ae9a"));
115
116   HMAC_TEST(md5,
117             SDATA("monkey monkey monkey monkey"),
118             SDATA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
119             SHEX("ede9cb83679ba82d88fbeae865b3f8fc"));
120
121   HMAC_TEST(md5,
122             SDATA("monkey monkey monkey monkey"),
123             SDATA("12345678901234567890123456789012345678901234567890123456789012345678901234567890"),
124             SHEX("939dd45512ee3a594b6654f6b8de27f7"));
125
126   /* Test vectors for ripemd160, from
127      http://homes.esat.kuleuven.be/~bosselae/ripemd160.html */
128   HMAC_TEST(ripemd160,
129             SHEX("00112233445566778899aabbccddeeff01234567"),
130             SDATA(""),
131             SHEX("cf387677bfda8483e63b57e06c3b5ecd8b7fc055"));
132
133   HMAC_TEST(ripemd160,
134             SHEX("00112233445566778899aabbccddeeff01234567"),
135             SDATA("a"),
136             SHEX("0d351d71b78e36dbb7391c810a0d2b6240ddbafc"));
137
138   HMAC_TEST(ripemd160,
139             SHEX("00112233445566778899aabbccddeeff01234567"),
140             SDATA("abc"),
141             SHEX("f7ef288cb1bbcc6160d76507e0a3bbf712fb67d6"));
142
143   HMAC_TEST(ripemd160,
144             SHEX("00112233445566778899aabbccddeeff01234567"),
145             SDATA("message digest"),
146             SHEX("f83662cc8d339c227e600fcd636c57d2571b1c34"));
147
148   HMAC_TEST(ripemd160,
149             SHEX("00112233445566778899aabbccddeeff01234567"),
150             SDATA("abcdefghijklmnopqrstuvwxyz"),
151             SHEX("843d1c4eb880ac8ac0c9c95696507957d0155ddb"));
152
153   HMAC_TEST(ripemd160,
154             SHEX("00112233445566778899aabbccddeeff01234567"),
155             SDATA("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),
156             SHEX("60f5ef198a2dd5745545c1f0c47aa3fb5776f881"));
157
158   HMAC_TEST(ripemd160,
159             SHEX("00112233445566778899aabbccddeeff01234567"),
160             SDATA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
161             SHEX("e49c136a9e5627e0681b808a3b97e6a6e661ae79"));
162
163   /* Other key */
164   HMAC_TEST(ripemd160,
165             SHEX("0123456789abcdeffedcba987654321000112233"),
166             SDATA(""),
167             SHEX("fe69a66c7423eea9c8fa2eff8d9dafb4f17a62f5"));
168
169   HMAC_TEST(ripemd160,
170             SHEX("0123456789abcdeffedcba987654321000112233"),
171             SDATA("a"),
172             SHEX("85743e899bc82dbfa36faaa7a25b7cfd372432cd"));
173
174   HMAC_TEST(ripemd160,
175             SHEX("0123456789abcdeffedcba987654321000112233"),
176             SDATA("abc"),
177             SHEX("6e4afd501fa6b4a1823ca3b10bd9aa0ba97ba182"));
178
179   HMAC_TEST(ripemd160,
180             SHEX("0123456789abcdeffedcba987654321000112233"),
181             SDATA("message digest"),
182             SHEX("2e066e624badb76a184c8f90fba053330e650e92"));
183
184   HMAC_TEST(ripemd160,
185             SHEX("0123456789abcdeffedcba987654321000112233"),
186             SDATA("abcdefghijklmnopqrstuvwxyz"),
187             SHEX("07e942aa4e3cd7c04dedc1d46e2e8cc4c741b3d9"));
188
189   HMAC_TEST(ripemd160,
190             SHEX("0123456789abcdeffedcba987654321000112233"),
191             SDATA("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),
192             SHEX("b6582318ddcfb67a53a67d676b8ad869aded629a"));
193
194   HMAC_TEST(ripemd160,
195             SHEX("0123456789abcdeffedcba987654321000112233"),
196             SDATA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
197             SHEX("f1be3ee877703140d34f97ea1ab3a07c141333e2"));
198
199   /* Test vectors for sha1, from RFC-2202 */
200
201   /* sha1 - 1 */
202   HMAC_TEST(sha1,
203             SHEX("0b0b0b0b0b0b0b0b 0b0b0b0b0b0b0b0b 0b0b0b0b"),
204             SDATA("Hi There"),
205             SHEX("b617318655057264 e28bc0b6fb378c8e f146be00"));
206
207   /* sha1 - 2 */
208   HMAC_TEST(sha1,
209             SDATA("Jefe"),
210             SDATA("what do ya want for nothing?"),
211             SHEX("effcdf6ae5eb2fa2 d27416d5f184df9c 259a7c79"));
212
213   /* sha1 - 3 */
214   HMAC_TEST(sha1,
215             SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa aaaaaaaa"),
216             SHEX("dddddddddddddddd dddddddddddddddd"
217                  "dddddddddddddddd dddddddddddddddd"
218                  "dddddddddddddddd dddddddddddddddd"
219                  "dddd"),
220             SHEX("125d7342b9ac11cd 91a39af48aa17b4f 63f175d3"));
221
222   /* sha1 - 4 */
223   HMAC_TEST(sha1,
224             SHEX("0102030405060708 090a0b0c0d0e0f10" 
225                  "1112131415161718 19"),
226             SHEX("cdcdcdcdcdcdcdcd cdcdcdcdcdcdcdcd"
227                  "cdcdcdcdcdcdcdcd cdcdcdcdcdcdcdcd"
228                  "cdcdcdcdcdcdcdcd cdcdcdcdcdcdcdcd"
229                  "cdcd"),
230             SHEX("4c9007f4026250c6 bc8414f9bf50c86c 2d7235da"));
231
232   /* sha1 - 5 */
233   HMAC_TEST(sha1,
234             SHEX("0c0c0c0c0c0c0c0c 0c0c0c0c0c0c0c0c 0c0c0c0c"),
235             SDATA("Test With Truncation"),
236             SHEX("4c1a03424b55e07f e7f27be1"));
237
238   /* sha1 - 6 */
239   HMAC_TEST(sha1,
240             SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
241                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
242                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
243                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
244                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
245             SDATA("Test Using Larger Than Block-Size Key - Hash Key First"),
246             SHEX("aa4ae5e15272d00e 95705637ce8a3b55 ed402112"));
247
248   /* sha1 - 7 */
249   HMAC_TEST(sha1,
250             SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
251                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
252                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
253                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
254                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
255             SDATA("Test Using Larger Than Block-Size Key and Larger "
256                   "Than One Block-Size Data"),
257             SHEX("e8e99d0f45237d78 6d6bbaa7965c7808 bbff1a91"));
258
259   /* Additional test vectors, from Daniel Kahn Gillmor */
260   HMAC_TEST(md5,
261             SDATA("monkey monkey monkey monkey"),
262             SDATA(""),
263             SHEX("e84db42a188813f30a15e611d64c7869"));
264   
265   HMAC_TEST(md5,
266             SDATA("monkey monkey monkey monkey"),
267             SDATA("a"),
268             SHEX("123662062e67c2aab371cc49db0df134"));
269   
270   HMAC_TEST(md5,
271             SDATA("monkey monkey monkey monkey"),
272             SDATA("38"),
273             SHEX("0a46cc10a49d4b7025c040c597bf5d76"));
274   
275   HMAC_TEST(md5,
276             SDATA("monkey monkey monkey monkey"),
277             SDATA("abc"),
278             SHEX("d1f4d89f0e8b2b6ed0623c99ec298310"));
279   
280   HMAC_TEST(md5,
281             SDATA("monkey monkey monkey monkey"),
282             SDATA("message digest"),
283             SHEX("1627207b9bed5009a4f6e9ca8d2ca01e"));
284   
285   HMAC_TEST(md5,
286             SDATA("monkey monkey monkey monkey"),
287             SDATA("abcdefghijklmnopqrstuvwxyz"),
288             SHEX("922aae6ab3b3a29202e21ce5f916ae9a"));
289
290   HMAC_TEST(md5,
291             SDATA("monkey monkey monkey monkey"),
292             SDATA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
293             SHEX("ede9cb83679ba82d88fbeae865b3f8fc"));
294
295   HMAC_TEST(md5,
296             SDATA("monkey monkey monkey monkey"),
297             SDATA("12345678901234567890123456789012345678901234567890123456789012345678901234567890"),
298             SHEX("939dd45512ee3a594b6654f6b8de27f7"));
299
300   /* Test vectors for sha224, from RFC 4231 */
301   HMAC_TEST(sha224,
302             SHEX("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
303                  "0b0b0b0b"),
304             SDATA("Hi There"),
305             SHEX("896fb1128abbdf196832107cd49df33f"
306                  "47b4b1169912ba4f53684b22"));
307
308   HMAC_TEST(sha224,
309             SDATA("Jefe"),
310             SDATA("what do ya want for nothing?"),
311             SHEX("a30e01098bc6dbbf45690f3a7e9e6d0f"
312                  "8bbea2a39e6148008fd05e44"));
313
314   HMAC_TEST(sha224,
315             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
316                  "aaaaaaaa"),
317             SHEX("dddddddddddddddddddddddddddddddd"
318                  "dddddddddddddddddddddddddddddddd"
319                  "dddddddddddddddddddddddddddddddd"
320                  "dddd"),
321             SHEX("7fb3cb3588c6c1f6ffa9694d7d6ad264"
322                  "9365b0c1f65d69d1ec8333ea"));
323
324   HMAC_TEST(sha224,
325             SHEX("0102030405060708090a0b0c0d0e0f10"
326                  "111213141516171819"),
327             SHEX("cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
328                  "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
329                  "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
330                  "cdcd"),
331             SHEX("6c11506874013cac6a2abc1bb382627c"
332                  "ec6a90d86efc012de7afec5a"));
333
334   HMAC_TEST(sha224,
335             SHEX("0c0c0c0c0c0c0c0c 0c0c0c0c0c0c0c0c 0c0c0c0c"),
336             SDATA("Test With Truncation"),
337             SHEX("0e2aea68a90c8d37c988bcdb9fca6fa8"));
338
339   HMAC_TEST(sha224,
340             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
341                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
342                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
343                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
344                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
345                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
346                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
347                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
348                  "aaaaaa"),
349             SDATA("Test Using Larger Than Block-Size Key - Hash Key First"),
350             SHEX("95e9a0db962095adaebe9b2d6f0dbce2"
351                  "d499f112f2d2b7273fa6870e"));
352
353   HMAC_TEST(sha224,
354             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
355                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
356                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
357                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
358                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
359                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
360                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
361                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
362                  "aaaaaa"),
363             SDATA("This is a test using a larger than block-size ke"
364                   "y and a larger than block-size data. The key nee"
365                   "ds to be hashed before being used by the HMAC al"
366                   "gorithm."),
367             SHEX("3a854166ac5d9f023f54d517d0b39dbd"
368                  "946770db9c2b95c9f6f565d1"));
369
370   /* Additional test vectors, from Daniel Kahn Gillmor */
371   HMAC_TEST(sha224,
372             SDATA("monkey monkey monkey monkey"),
373             SDATA(""),
374             SHEX("d12a49ae38177ffeaa548b2148bb5238"
375                  "60849772d9391e675b103d89"));
376   
377   HMAC_TEST(sha224,
378             SDATA("monkey monkey monkey monkey"),
379             SDATA("a"),
380             SHEX("b04ff8522f904f553970bfa8ad3f0086"
381                  "bce1e8580affd8a12c94e31a"));
382   
383   HMAC_TEST(sha224,
384             SDATA("monkey monkey monkey monkey"),
385             SDATA("38"),
386             SHEX("afcfb5511f710334f9350f57faec3c08"
387                  "764b4bd126a6840f4347f116"));
388   
389   HMAC_TEST(sha224,
390             SDATA("monkey monkey monkey monkey"),
391             SDATA("abc"),
392             SHEX("9df9907af127900c909376893565c6cf"
393                  "2d7db244fdc4277da1e0b679"));
394   
395   HMAC_TEST(sha224,
396             SDATA("monkey monkey monkey monkey"),
397             SDATA("message digest"),
398             SHEX("254ebf6b8ddd7a3271b3d9aca1699b0c"
399                  "0bfb7df61e8a114922c88d27"));
400   
401   HMAC_TEST(sha224,
402             SDATA("monkey monkey monkey monkey"),
403             SDATA("abcdefghijklmnopqrstuvwxyz"),
404             SHEX("6ec5bffba5880c3234a6cf257816e4d5"
405                  "35ab178a7f12929769e378fb"));
406
407   HMAC_TEST(sha224,
408             SDATA("monkey monkey monkey monkey"),
409             SDATA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
410             SHEX("5f768179dbb29ca722875d0f461a2e2f"
411                  "597d0210340a84df1a8e9c63"));
412
413   HMAC_TEST(sha224,
414             SDATA("monkey monkey monkey monkey"),
415             SDATA("12345678901234567890123456789012345678901234567890123456789012345678901234567890"),
416             SHEX("c7667b0d7e56b2b4f6fcc1d8da9e22da"
417                  "a1556f44c47132a87303c6a2"));
418
419   /* Test vectors for sha256, from RFC 4231 */
420   HMAC_TEST(sha256,
421             SHEX("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
422                  "0b0b0b0b"),
423             SDATA("Hi There"),
424             SHEX("b0344c61d8db38535ca8afceaf0bf12b"
425                  "881dc200c9833da726e9376c2e32cff7"));
426
427   HMAC_TEST(sha256,
428             SDATA("Jefe"),
429             SDATA("what do ya want for nothing?"),
430             SHEX("5bdcc146bf60754e6a042426089575c7"
431                  "5a003f089d2739839dec58b964ec3843"));
432
433   HMAC_TEST(sha256,
434             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
435                  "aaaaaaaa"),
436             SHEX("dddddddddddddddddddddddddddddddd"
437                  "dddddddddddddddddddddddddddddddd"
438                  "dddddddddddddddddddddddddddddddd"
439                  "dddd"),
440             SHEX("773ea91e36800e46854db8ebd09181a7"
441                  "2959098b3ef8c122d9635514ced565fe"));
442
443   HMAC_TEST(sha256,
444             SHEX("0102030405060708090a0b0c0d0e0f10"
445                  "111213141516171819"),
446             SHEX("cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
447                  "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
448                  "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
449                  "cdcd"),
450             SHEX("82558a389a443c0ea4cc819899f2083a"
451                  "85f0faa3e578f8077a2e3ff46729665b"));
452
453   HMAC_TEST(sha256,
454             SHEX("0c0c0c0c0c0c0c0c 0c0c0c0c0c0c0c0c 0c0c0c0c"),
455             SDATA("Test With Truncation"),
456             SHEX("a3b6167473100ee06e0c796c2955552b"));
457
458   HMAC_TEST(sha256,
459             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
460                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
461                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
462                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
463                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
464                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
465                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
466                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
467                  "aaaaaa"),
468             SDATA("Test Using Larger Than Block-Size Key - Hash Key First"),
469             SHEX("60e431591ee0b67f0d8a26aacbf5b77f"
470                  "8e0bc6213728c5140546040f0ee37f54"));
471
472   HMAC_TEST(sha256,
473             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
474                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
475                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
476                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
477                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
478                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
479                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
480                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
481                  "aaaaaa"),
482             SDATA("This is a test using a larger than block-size ke"
483                   "y and a larger than block-size data. The key nee"
484                   "ds to be hashed before being used by the HMAC al"
485                   "gorithm."),
486             SHEX("9b09ffa71b942fcb27635fbcd5b0e944"
487                  "bfdc63644f0713938a7f51535c3a35e2"));
488
489   /* Additional test vectors for sha256, from
490      draft-ietf-ipsec-ciph-sha-256-01.txt */
491
492   /* Test Case #1: HMAC-SHA-256 with 3-byte input and 32-byte key */
493   HMAC_TEST(sha256,
494             SHEX("0102030405060708 090a0b0c0d0e0f10"
495                  "1112131415161718 191a1b1c1d1e1f20"),
496             SDATA("abc"),
497             SHEX("a21b1f5d4cf4f73a 4dd939750f7a066a"
498                  "7f98cc131cb16a66 92759021cfab8181"));
499
500   /* Test Case #2: HMAC-SHA-256 with 56-byte input and 32-byte key */
501   HMAC_TEST(sha256,
502             SHEX("0102030405060708 090a0b0c0d0e0f10"
503                  "1112131415161718 191a1b1c1d1e1f20"),
504             SDATA("abcdbcdecdefdefgefghfghighijhijk"
505                   "ijkljklmklmnlmnomnopnopq"),
506             SHEX("104fdc1257328f08 184ba73131c53cae"
507                  "e698e36119421149 ea8c712456697d30"));
508
509   /* Test Case #3: HMAC-SHA-256 with 112-byte (multi-block) input
510      and 32-byte key */
511   HMAC_TEST(sha256,
512             SHEX("0102030405060708 090a0b0c0d0e0f10"
513                  "1112131415161718 191a1b1c1d1e1f20"),
514             SDATA("abcdbcdecdefdefgefghfghighijhijk"
515                   "ijkljklmklmnlmnomnopnopqabcdbcde"
516                   "cdefdefgefghfghighijhijkijkljklm"
517                   "klmnlmnomnopnopq"),
518             SHEX("470305fc7e40fe34 d3eeb3e773d95aab"
519                  "73acf0fd060447a5 eb4595bf33a9d1a3"));
520
521   /* Test Case #4:  HMAC-SHA-256 with 8-byte input and 32-byte key */
522   HMAC_TEST(sha256,
523             SHEX("0b0b0b0b0b0b0b0b 0b0b0b0b0b0b0b0b"
524                  "0b0b0b0b0b0b0b0b 0b0b0b0b0b0b0b0b"),
525             SDATA("Hi There"),
526             SHEX("198a607eb44bfbc6 9903a0f1cf2bbdc5"
527                  "ba0aa3f3d9ae3c1c 7a3b1696a0b68cf7"));
528
529   /* Test Case #6: HMAC-SHA-256 with 50-byte input and 32-byte key */
530   HMAC_TEST(sha256,
531             SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
532                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
533             SHEX("dddddddddddddddd dddddddddddddddd"
534                  "dddddddddddddddd dddddddddddddddd"
535                  "dddddddddddddddd dddddddddddddddd"
536                  "dddd"),
537             SHEX("cdcb1220d1ecccea 91e53aba3092f962"
538                  "e549fe6ce9ed7fdc 43191fbde45c30b0"));
539
540   /* Test Case #7: HMAC-SHA-256 with 50-byte input and 37-byte key */
541   HMAC_TEST(sha256,
542             SHEX("0102030405060708 090a0b0c0d0e0f10"
543                  "1112131415161718 191a1b1c1d1e1f20"
544                  "2122232425"),
545             SHEX("cdcdcdcdcdcdcdcd cdcdcdcdcdcdcdcd"
546                  "cdcdcdcdcdcdcdcd cdcdcdcdcdcdcdcd"
547                  "cdcdcdcdcdcdcdcd cdcdcdcdcdcdcdcd"
548                  "cdcd"),
549             SHEX("d4633c17f6fb8d74 4c66dee0f8f07455"
550                  "6ec4af55ef079985 41468eb49bd2e917"));
551
552   /* Test Case #8: HMAC-SHA-256 with 20-byte input and 32-byte key */
553   HMAC_TEST(sha256,
554             SHEX("0c0c0c0c0c0c0c0c 0c0c0c0c0c0c0c0c"
555                  "0c0c0c0c0c0c0c0c 0c0c0c0c0c0c0c0c"),
556             SDATA("Test With Truncation"),
557             SHEX("7546af01841fc09b 1ab9c3749a5f1c17"));
558
559   /* Test Case #9: HMAC-SHA-256 with 54-byte input and 80-byte key */
560   HMAC_TEST(sha256,
561             SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
562                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
563                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
564                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
565                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
566             SDATA("Test Using Larger Than Block-Size Key - Hash Key First"),
567             SHEX("6953025ed96f0c09 f80a96f78e6538db"
568                  "e2e7b820e3dd970e 7ddd39091b32352f"));
569
570   /* Test Case #10: HMAC-SHA-256 with 73-byte (multi-block) input
571      and 80-byte key */
572   HMAC_TEST(sha256,
573             SHEX("aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
574                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
575                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
576                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"
577                  "aaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa"),
578             SDATA("Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"),
579             SHEX("6355ac22e890d0a3 c8481a5ca4825bc8"
580                  "84d3e7a1ff98a2fc 2ac7d8e064c3b2e6"));
581
582   /* Additional test vectors, from Daniel Kahn Gillmor */
583   HMAC_TEST(sha256,
584             SDATA("monkey monkey monkey monkey"),
585             SDATA(""),
586             SHEX("5c780648c90d121c50091c3a0c3afc1f"
587                  "4ab847528005d99d9821ad3f341b651a"));
588   
589   HMAC_TEST(sha256,
590             SDATA("monkey monkey monkey monkey"),
591             SDATA("a"),
592             SHEX("6142364c0646b0cfe426866f21d613e0"
593                  "55a136a7d9b45d85685e080a09cec463"));
594   
595   HMAC_TEST(sha256,
596             SDATA("monkey monkey monkey monkey"),
597             SDATA("38"),
598             SHEX("e49aa7839977e130ad87b63da9d4eb7b"
599                  "263cd5a27c54a7604b6044eb35901171"));
600   
601   HMAC_TEST(sha256,
602             SDATA("monkey monkey monkey monkey"),
603             SDATA("abc"),
604             SHEX("e5ef49f545c7af933a9d18c7c562bc91"
605                  "08583fd5cf00d9e0db351d6d8f8e41bc"));
606   
607   HMAC_TEST(sha256,
608             SDATA("monkey monkey monkey monkey"),
609             SDATA("message digest"),
610             SHEX("373b04877180fea27a41a8fb8f88201c"
611                  "a6268411ee3c80b01a424483eb9156e1"));
612   
613   HMAC_TEST(sha256,
614             SDATA("monkey monkey monkey monkey"),
615             SDATA("abcdefghijklmnopqrstuvwxyz"),
616             SHEX("eb5945d56eefbdb41602946ea6448d53"
617                  "86b08d7d801a87f439fab52f8bb9736e"));
618
619   HMAC_TEST(sha256,
620             SDATA("monkey monkey monkey monkey"),
621             SDATA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
622             SHEX("3798f363c57afa6edaffe39016ca7bad"
623                  "efd1e670afb0e3987194307dec3197db"));
624
625   HMAC_TEST(sha256,
626             SDATA("monkey monkey monkey monkey"),
627             SDATA("12345678901234567890123456789012345678901234567890123456789012345678901234567890"),
628             SHEX("c89a7039a62985ff813fe4509b918a43"
629                  "6d7b1ffd8778e2c24dec464849fb6128"));
630
631   /* Test vectors for sha384, from RFC 4231 */
632   HMAC_TEST(sha384,
633             SHEX("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
634                  "0b0b0b0b"),
635             SDATA("Hi There"),
636             SHEX("afd03944d84895626b0825f4ab46907f"
637                  "15f9dadbe4101ec682aa034c7cebc59c"
638                  "faea9ea9076ede7f4af152e8b2fa9cb6"));
639
640   HMAC_TEST(sha384,
641             SDATA("Jefe"),
642             SDATA("what do ya want for nothing?"),
643             SHEX("af45d2e376484031617f78d2b58a6b1b"
644                  "9c7ef464f5a01b47e42ec3736322445e"
645                  "8e2240ca5e69e2c78b3239ecfab21649"));
646
647   HMAC_TEST(sha384,
648             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
649                  "aaaaaaaa"),
650             SHEX("dddddddddddddddddddddddddddddddd"
651                  "dddddddddddddddddddddddddddddddd"
652                  "dddddddddddddddddddddddddddddddd"
653                  "dddd"),
654             SHEX("88062608d3e6ad8a0aa2ace014c8a86f"
655                  "0aa635d947ac9febe83ef4e55966144b"
656                  "2a5ab39dc13814b94e3ab6e101a34f27"));
657
658   HMAC_TEST(sha384,
659             SHEX("0102030405060708090a0b0c0d0e0f10"
660                  "111213141516171819"),
661             SHEX("cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
662                  "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
663                  "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
664                  "cdcd"),
665             SHEX("3e8a69b7783c25851933ab6290af6ca7"
666                  "7a9981480850009cc5577c6e1f573b4e"
667                  "6801dd23c4a7d679ccf8a386c674cffb"));
668
669   HMAC_TEST(sha384,
670             SHEX("0c0c0c0c0c0c0c0c 0c0c0c0c0c0c0c0c 0c0c0c0c"),
671             SDATA("Test With Truncation"),
672             SHEX("3abf34c3503b2a23a46efc619baef897"));
673
674   HMAC_TEST(sha384,
675             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
676                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
677                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
678                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
679                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
680                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
681                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
682                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
683                  "aaaaaa"),
684             SDATA("Test Using Larger Than Block-Size Key - Hash Key First"),
685             SHEX("4ece084485813e9088d2c63a041bc5b4"
686                  "4f9ef1012a2b588f3cd11f05033ac4c6"
687                  "0c2ef6ab4030fe8296248df163f44952"));
688
689   HMAC_TEST(sha384,
690             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
691                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
692                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
693                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
694                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
695                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
696                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
697                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
698                  "aaaaaa"),
699             SDATA("This is a test using a larger than block-size ke"
700                   "y and a larger than block-size data. The key nee"
701                   "ds to be hashed before being used by the HMAC al"
702                   "gorithm."),
703             SHEX("6617178e941f020d351e2f254e8fd32c"
704                  "602420feb0b8fb9adccebb82461e99c5"
705                  "a678cc31e799176d3860e6110c46523e"));
706
707   /* Test vectors for sha512, from RFC 4231 */
708   HMAC_TEST(sha512,
709             SHEX("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
710                  "0b0b0b0b"),
711             SDATA("Hi There"),
712             SHEX("87aa7cdea5ef619d4ff0b4241a1d6cb0"
713                  "2379f4e2ce4ec2787ad0b30545e17cde"
714                  "daa833b7d6b8a702038b274eaea3f4e4"
715                  "be9d914eeb61f1702e696c203a126854"));
716
717   HMAC_TEST(sha512,
718             SDATA("Jefe"),
719             SDATA("what do ya want for nothing?"),
720             SHEX("164b7a7bfcf819e2e395fbe73b56e0a3"
721                  "87bd64222e831fd610270cd7ea250554"
722                  "9758bf75c05a994a6d034f65f8f0e6fd"
723                  "caeab1a34d4a6b4b636e070a38bce737"));
724
725   HMAC_TEST(sha512,
726             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
727                  "aaaaaaaa"),
728             SHEX("dddddddddddddddddddddddddddddddd"
729                  "dddddddddddddddddddddddddddddddd"
730                  "dddddddddddddddddddddddddddddddd"
731                  "dddd"),
732             SHEX("fa73b0089d56a284efb0f0756c890be9"
733                  "b1b5dbdd8ee81a3655f83e33b2279d39"
734                  "bf3e848279a722c806b485a47e67c807"
735                  "b946a337bee8942674278859e13292fb"));
736
737   HMAC_TEST(sha512,
738             SHEX("0102030405060708090a0b0c0d0e0f10"
739                  "111213141516171819"),
740             SHEX("cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
741                  "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
742                  "cdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"
743                  "cdcd"),
744             SHEX("b0ba465637458c6990e5a8c5f61d4af7"
745                  "e576d97ff94b872de76f8050361ee3db"
746                  "a91ca5c11aa25eb4d679275cc5788063"
747                  "a5f19741120c4f2de2adebeb10a298dd"));
748
749   HMAC_TEST(sha512,
750             SHEX("0c0c0c0c0c0c0c0c 0c0c0c0c0c0c0c0c 0c0c0c0c"),
751             SDATA("Test With Truncation"),
752             SHEX("415fad6271580a531d4179bc891d87a6"));
753
754   HMAC_TEST(sha512,
755             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
756                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
757                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
758                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
759                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
760                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
761                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
762                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
763                  "aaaaaa"),
764             SDATA("Test Using Larger Than Block-Size Key - Hash Key First"),
765             SHEX("80b24263c7c1a3ebb71493c1dd7be8b4"
766                  "9b46d1f41b4aeec1121b013783f8f352"
767                  "6b56d037e05f2598bd0fd2215d6a1e52"
768                  "95e64f73f63f0aec8b915a985d786598"));
769
770   HMAC_TEST(sha512,
771             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
772                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
773                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
774                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
775                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
776                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
777                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
778                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
779                  "aaaaaa"),
780             SDATA("This is a test using a larger than block-size ke"
781                   "y and a larger than block-size data. The key nee"
782                   "ds to be hashed before being used by the HMAC al"
783                   "gorithm."),
784             SHEX("e37b6a775dc87dbaa4dfa9f96e5e3ffd"
785                  "debd71f8867289865df5a32d20cdc944"
786                  "b6022cac3c4982b10d5eeb55c3e4de15"
787                  "134676fb6de0446065c97440fa8c6a58"));
788
789   /* Additional test vectors, from Daniel Kahn Gillmor */
790   HMAC_TEST(sha512,
791             SDATA("monkey monkey monkey monkey"),
792             SDATA(""),
793             SHEX("34316413c2d6940572d0bbbf099d529d"
794                  "148b424533cf562bc1b365f530e21a31"
795                  "799fc51cef78060cc6f448a8e5d780c2"
796                  "6cdf20d4c3e6f27fe5ef576bbd05e855"));
797   
798   HMAC_TEST(sha512,
799             SDATA("monkey monkey monkey monkey"),
800             SDATA("a"),
801             SHEX("cf1948507378bc3ab58cb6ec87f4d456"
802                  "b90d3298395c29873f1ded1e111b50fe"
803                  "c336ed24684bf19716efc309212f37aa"
804                  "715cfb9ecccf3af13691ded167b4b336"));
805   
806   HMAC_TEST(sha512,
807             SDATA("monkey monkey monkey monkey"),
808             SDATA("38"),
809             SHEX("b8201784216ce01b83cdd282616c6e89"
810                  "644c6dfd1269ed8580bbc39b92add364"
811                  "c2b2a2018cffb1915e8625e473b67d0f"
812                  "e54a50e475dfa0e2b1a97bac1383792c"));
813   
814   HMAC_TEST(sha512,
815             SDATA("monkey monkey monkey monkey"),
816             SDATA("abc"),
817             SHEX("f097ee08b8c44e847a384f9fd645e35e"
818                  "4816baa9791ba39d3dc611210500b044"
819                  "873ee296bf1047dc06daa201a5767192"
820                  "5b73b4ea59c60114881c8287d0699c83"));
821   
822   HMAC_TEST(sha512,
823             SDATA("monkey monkey monkey monkey"),
824             SDATA("message digest"),
825             SHEX("921a441a884b83c76a8526da8e60d60d"
826                  "17ded4eee5c29375e0d93717669a4c3e"
827                  "eba7473e95f7c1a2a85afc24a0adbc4d"
828                  "6c2bdd6ca6cab8b18d19f82d4a6c51bc"));
829   
830   HMAC_TEST(sha512,
831             SDATA("monkey monkey monkey monkey"),
832             SDATA("abcdefghijklmnopqrstuvwxyz"),
833             SHEX("640054c96f35815095617d0a8c956066"
834                  "1a6ff46bfb39110333b2c52c8866abfb"
835                  "59d9152c9b0948c1ed65c3fd72a8fb82"
836                  "190acc8830770afe5b0c5b6414c75a77"));
837
838   HMAC_TEST(sha512,
839             SDATA("monkey monkey monkey monkey"),
840             SDATA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
841             SHEX("835a4f5b3750b4c1fccfa88da2f746a4"
842                  "900160c9f18964309bb736c13b59491b"
843                  "8e32d37b724cc5aebb0f554c6338a3b5"
844                  "94c4ba26862b2dadb59b7ede1d08d53e"));
845
846   HMAC_TEST(sha512,
847             SDATA("monkey monkey monkey monkey"),
848             SDATA("12345678901234567890123456789012345678901234567890123456789012345678901234567890"),
849             SHEX("fdf83dc879e3476c8e8aceff2bf6fece"
850                  "2e4f39c7e1a167845465bb549dfa5ffe"
851                  "997e6c7cf3720eae51ed2b00ad2a8225"
852                  "375092290edfa9d48ec7e4bc8e276088"));
853
854   /* Additional test vectors, from
855      draft-kelly-ipsec-ciph-sha2-01.txt */
856
857   /* Test case AUTH512-1: */
858   HMAC_TEST(sha512,
859             SHEX("0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
860                  "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
861                  "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"
862                  "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b"),
863             SDATA("Hi There"),
864             SHEX("637edc6e01dce7e6742a99451aae82df"
865                  "23da3e92439e590e43e761b33e910fb8"
866                  "ac2878ebd5803f6f0b61dbce5e251ff8"
867                  "789a4722c1be65aea45fd464e89f8f5b"));
868
869   /* Test case AUTH512-2: */
870   HMAC_TEST(sha512,
871             SDATA("JefeJefeJefeJefe"
872                   "JefeJefeJefeJefe"
873                   "JefeJefeJefeJefe"
874                   "JefeJefeJefeJefe"),      
875             SDATA("what do ya want for nothing?"),
876             SHEX("cb370917ae8a7ce28cfd1d8f4705d614"
877                  "1c173b2a9362c15df235dfb251b15454"
878                  "6aa334ae9fb9afc2184932d8695e397b"
879                  "fa0ffb93466cfcceaae38c833b7dba38"));
880
881   /* Test case AUTH512-3: */
882   HMAC_TEST(sha512,
883             SHEX("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
884                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
885                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
886                  "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"),
887             SHEX("dddddddddddddddddddddddddddddddd"
888                  "dddddddddddddddddddddddddddddddd"
889                  "dddddddddddddddddddddddddddddddd"
890                  "dddd"),
891             SHEX("2ee7acd783624ca9398710f3ee05ae41"
892                  "b9f9b0510c87e49e586cc9bf961733d8"
893                  "623c7b55cebefccf02d5581acc1c9d5f"
894                  "b1ff68a1de45509fbe4da9a433922655"));
895
896   /* Test case AUTH512-3 from same document seems broken. */
897 }