chiark / gitweb /
Merge branch '2.4.x' into 2.5.x
[catacomb] / symm / t / rijndael.local
1 ### Local tests for Rijndael.
2
3 rijndael-cmac {
4   ## NIST examples.
5
6   2b7e151628aed2a6abf7158809cf4f3c
7     ""
8     bb1d6929e95937287fa37d129b756746;
9   2b7e151628aed2a6abf7158809cf4f3c
10     6bc1bee22e409f96e93d7e117393172a
11     070a16b46b4d4144f79bdd9dd04a287c;
12   2b7e151628aed2a6abf7158809cf4f3c
13     6bc1bee22e409f96e93d7e117393172aae2d8a57
14     7d85449ea6ea19c823a7bf78837dfade;
15   2b7e151628aed2a6abf7158809cf4f3c
16     6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710
17     51f0bebf7e3b9d92fc49741779363cfe;
18
19   8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
20     ""
21     d17ddf46adaacde531cac483de7a9367;
22   8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
23     6bc1bee22e409f96e93d7e117393172a
24     9e99a7bf31e710900662f65e617c5184;
25   8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
26     6bc1bee22e409f96e93d7e117393172aae2d8a57
27     3d75c194ed96070444a9fa7ec740ecf8;
28   8e73b0f7da0e6452c810f32b809079e562f8ead2522c6b7b
29     6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710
30     a1d5df0eed790f794d77589659f39a11;
31
32   603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
33     ""
34     028962f61b7bf89efc6b551f4667d983;
35   603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
36     6bc1bee22e409f96e93d7e117393172a
37     28a7023f452e8f82bd4bf28d8c37c35c;
38   603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
39     6bc1bee22e409f96e93d7e117393172aae2d8a57
40     156727dc0878944a023c1fe03bad6d93;
41   603deb1015ca71be2b73aef0857d77811f352c073b6108d72d9810a30914dff4
42     6bc1bee22e409f96e93d7e117393172aae2d8a571e03ac9c9eb76fac45af8e5130c81c46a35ce411e5fbc1191a0a52eff69f2445df4f9b17ad2b417be66c3710
43     e1992190549f6ed5696a2c056c315410;
44
45   ## Locally generated tests.
46   60d7bcda163547d348b7551195e77022
47     ""
48     63f719651118fd4d45cb4feebc3150cb;
49   907dd1dff7dac5c9941d26d0c6eb14ad
50     56
51     bc9d9dfba6e312cfe8e6c500a1d805d3;
52   8f86edd1dc9268eeee533285a6ed810c
53     9b689daaa9060d2d4b6003062365b0a54364c76c160f11896c4794846ecfa14a7130c9f137120634c9519848a877ff77
54     ba66e97ee7b233119abc32fa42be9401;
55   bf79192a5b50ade5d9cd739a3d1f337f
56     29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21
57     a51011f5c5d190016cf3e9db6fb32fbc;
58   635c6d62c9269029df3e6057acc87638f5080467
59     ""
60     9285e3dc234cbd47605641edd2052999;
61   33d9ff61cdbda3b3e9878731ebfedd4705e505da
62     14
63     edc6f130780024d1b8b18361790d949c;
64   35dceaa7b1cc49ae1d50c38201a894476b3f102b
65     752eb9529533966f27043eb621b7f65b000961040ef2f9b2fc5fa450727a9b542cde52ebfda19d0ccc520f215eb57bb3
66     ac7f798e3227ecb5e4d868c6f07ce3d0;
67   a4f3ebbbb18ac6c95a97a48030370c33d090c542
68     15abd6b3ad54efc9a38378c5b93bf4f2aad2605faee2b03fb648e27fff63102758fe2b69ac26afa3349829
69     9045fe42a3307e0d86fa17dbaa73196b;
70   b94586306fed54154f8f28523c03d4de1600157846b710ee72807a22
71     ""
72     b74dbdd96ca8714c2223ce172d7c5541;
73   19bfb474fd71d891f24bb65d1563259f9eb53b571ea629c54d57dd2d
74     42
75     bcbf74240e12721322ac24676c8eeb16;
76   f70800df9fcbaca48b77dba189196d1ebba10b0467cb9fc2712a199e
77     533fa9156308cdec3f768281e040a9b9a222bd689aef66f5306ceb0c6b08ac8b0a22260c571b4a42bb8fdb233bfa6a5c
78     1889506d1415435dbc580f7b05c1c2e4;
79   fb0bad7d95214ade49cb3b6f5fe8368131115c037ba323fe1dc81517
80     84873f0eb5b647da6794c18b5337685a96ed65b9aca338527ef19b09c063c46f88de9fd41e72d7b97e23e6
81     ccf79bcc9696a3887f23f791aa3fbafa;
82   eabdff3bcd211499268878db
83     ""
84     72c93457d9e50f9ce47227ce159722c7;
85   f30f1dad89d4b9b12012e471
86     3d
87     63c431d9cc49118b4af79b5dbf2efded;
88   f46795630e7952d22bb02d71
89     00b8b649377d20a8f083455b663e4ee1315f3c8f2aebfa921451dcd1af5813b70d30ce2f1fef6ef315d0798391805da0
90     86b6a12fb898bf6a4cad2052a70864ad;
91   8da3aefc5f8584b7c5e61766
92     9c0f16e39815d4e9cfce3ed1ecdf3d264a7f16cb16c2e815f422cdf0c8e30308be3c31e6bc58c0b7cadcb6
93     3a2d6cd3d65ba29059613d7e6b6e1278;
94 }
95
96 rijndael-ccm {
97   ## From the Housley, Whiting, and Ferguson submission to NIST, somewhat
98   ## rearranged because of the bizarre (and undocumented) nonce structure.
99
100   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
101     00000003020100a0a1a2a3a4a5
102     0001020304050607
103     08090a0b0c0d0e0f101112131415161718191a1b1c1d1e
104     588c979a61c663d2f066d0c2c0f989806d5f6b61dac384
105     17e8d12cfdf926e0;
106   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
107     00000004030201a0a1a2a3a4a5
108     0001020304050607
109     08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
110     72c91a36e135f8cf291ca894085c87e3cc15c439c9e43a3b
111     a091d56e10400916;
112   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
113     00000005040302a0a1a2a3a4a5
114     0001020304050607
115     08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
116     51b1e5f44a197d1da46b0f8e2d282ae871e838bb64da859657
117     4adaa76fbd9fb0c5;
118   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
119     00000006050403a0a1a2a3a4a5
120     000102030405060708090a0b
121     0c0d0e0f101112131415161718191a1b1c1d1e
122     a28c6865939a9a79faaa5c4c2a9d4a91cdac8c
123     96c861b9c9e61ef1;
124   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
125     00000007060504a0a1a2a3a4a5
126     000102030405060708090a0b
127     0c0d0e0f101112131415161718191a1b1c1d1e1f
128     dcf1fb7b5d9e23fb9d4e131253658ad86ebdca3e
129     51e83f077d9c2d93;
130   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
131     00000008070605a0a1a2a3a4a5
132     000102030405060708090a0b
133     0c0d0e0f101112131415161718191a1b1c1d1e1f20
134     6fc1b011f006568b5171a42d953d469b2570a4bd87
135     405a0443ac91cb94;
136   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
137     00000009080706a0a1a2a3a4a5
138     0001020304050607
139     08090a0b0c0d0e0f101112131415161718191a1b1c1d1e
140     0135d1b2c95f41d5d1d4fec185d166b8094e999dfed96c
141     048c56602c97acbb7490;
142   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
143     0000000a090807a0a1a2a3a4a5
144     0001020304050607
145     08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
146     7b75399ac0831dd2f0bbd75879a2fd8f6cae6b6cd9b7db24
147     c17b4433f434963f34b4;
148   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
149     0000000b0a0908a0a1a2a3a4a5
150     0001020304050607
151     08090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20
152     82531a60cc24945a4b8279181ab5c84df21ce7f9b73f42e197
153     ea9c07e56b5eb17e5f4e;
154   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
155     0000000c0b0a09a0a1a2a3a4a5
156     000102030405060708090a0b
157     0c0d0e0f101112131415161718191a1b1c1d1e
158     07342594157785152b074098330abb141b947b
159     566aa9406b4d999988dd;
160   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
161     0000000d0c0b0aa0a1a2a3a4a5
162     000102030405060708090a0b
163     0c0d0e0f101112131415161718191a1b1c1d1e1f
164     676bb20380b0e301e8ab79590a396da78b834934
165     f53aa2e9107a8b6c022c;
166   c0c1c2c3c4c5c6c7c8c9cacbcccdcecf
167     0000000e0d0c0ba0a1a2a3a4a5
168     000102030405060708090a0b
169     0c0d0e0f101112131415161718191a1b1c1d1e1f20
170     c0ffa0d6f05bdb67f24d43a4338d2aa4bed7b20e43
171     cd1aa31662e7ad65d6db;
172   aca23752615c82c1d454c4fc1462dcf3
173     00b9965d963ec163c54530549a
174     20f2c84a078983d6
175     d9215a08e37911f08e13e868d561fd8de3bc968e0978ae
176     8ca7df83589d89f1e2f9633a4e219e4e8c4daf918cbd4a
177     795fa85da6e5711c;
178   aca23752615c82c1d454c4fc1462dcf3
179     0044144a825d7363c54530549a
180     23bc9db76f5e4761
181     5297b4a9984845b03b01cf4794fa66cf27cc89c002ff4a4b
182     c7d563f1e02eb4f54919ae707d6cc9573ca85434f3559b30
183     78aeda0f601d877e;
184   aca23752615c82c1d454c4fc1462dcf3
185     00aaf7bf9d75c663c54530549a
186     86eec4ba8409465f
187     875547667e2424abb2a30fde33b6e81c2b5c1c5629b262555c
188     a15c03b3d37d1f5fba858d394997e935c44985212cfaed5037
189     bd7dd7a68f95a476;
190   aca23752615c82c1d454c4fc1462dcf3
191     0040da4cf416fc63c54530549a
192     15801a12adb41e13223d9c4f
193     f1d25ee5bd3014d5eb7254c3c62ded9d1dbb7d
194     0c9c100d74193c6d5679cd01b6418fff3a4fe4
195     7cf0866237842658;
196   aca23752615c82c1d454c4fc1462dcf3
197     002c2cbdfa28bf63c54530549a
198     d9808ff2b59b6a89bf9c4a82
199     05bba8822b40f4803253fb91f0b5bcf60ee5dd95
200     b5b3b7fab03d662e1842333328466dd81dd8fe3d
201     6f8c861ab1617dc3;
202   aca23752615c82c1d454c4fc1462dcf3
203     0016230909f7cc63c54530549a
204     9b85df31226b387fdf8ddd4d
205     4eb993044b71beddc6ef3f287197e4d46e9f29e427
206     a0e19481ba549ce66fadd81937a09a4f542b2f421d
207     12695462fd931591;
208   aca23752615c82c1d454c4fc1462dcf3
209     00797b71e3c96963c54530549a
210     e7e6473a07dacca4
211     9436254b379e38d73861ca027fc79b0440aba519e9e1dc
212     0d22d68dc1d39934f8e5882c2058436a0cc58e03258b4e
213     2bb39e01a568aba1f1ba;
214   aca23752615c82c1d454c4fc1462dcf3
215     0083ae22deb9b163c54530549a
216     a1c6b900678806b8
217     37709803b3fff94ffac1150b28a3cef1bf4feea0ff19541c
218     3103c511e43dc5e01aba07db0b84a443a1e3425983c3fe7e
219     19c626fd947eafb9c1b3;
220   aca23752615c82c1d454c4fc1462dcf3
221     006541e08f013463c54530549a
222     ea6abbb54793ecc2
223     eb0e990f88cfb0e78c1d6196890f8b6fa7787fe2dd85a72355
224     a449f8b7a3c9d0c3fca9a6e7a89953fdbbb5d4d05dc77f67ae
225     4efbc470d8a0b1c4f967;
226   aca23752615c82c1d454c4fc1462dcf3
227     00ede32aa3875a63c54530549a
228     869cbaf565fbb429d4603ace
229     6cd5e33d9e5ff526e21b24f40d6b15e5ed25fb
230     450c728aac9be3105cbe74653ffd52feb4a5ad
231     d6db7bc4dfdfc165dd93;
232   aca23752615c82c1d454c4fc1462dcf3
233     0073331529b3db63c54530549a
234     934cae407d3e300ae7111b43
235     e9a5e8b187d1e7baa3ad94fcf9e1b25aff726259
236     5f7716b16a6218b2a44033c29260df1d75caadd4
237     583c50b41845b3867f21;
238   aca23752615c82c1d454c4fc1462dcf3
239     00cdf8f729be7363c54530549a
240     6dbf3223e9758ce37ed8e2a9
241     ab8db40bc61588976d79d96e3012f0ff60e37e0732
242     220bb8f4aba55c7d573f1f2fbd3d78a4361c665f51
243     659f6d2e866db4de0e97;
244
245   ## From NIST SP800-38C.
246   404142434445464748494a4b4c4d4e4f
247     10111213141516
248     0001020304050607
249     20212223
250     7162015b
251     4dac255d;
252   404142434445464748494a4b4c4d4e4f
253     1011121314151617
254     000102030405060708090a0b0c0d0e0f
255     202122232425262728292a2b2c2d2e2f
256     d2a1f0e051ea5f62081a7792073d593d
257     1fc64fbfaccd;
258   404142434445464748494a4b4c4d4e4f
259     101112131415161718191a1b
260     000102030405060708090a0b0c0d0e0f10111213
261     202122232425262728292a2b2c2d2e2f3031323334353637
262     e3b201a9f5b71a7a9b1ceaeccd97e70b6176aad9a4428aa5
263     484392fbc1b09951;
264
265   ## Other NIST examples.
266   404142434445464748494a4b4c4d4e4f
267     10111213141516
268     ""
269     202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
270     7162015bc051951e5918aeaf3c11f3d4ac363f8d5b6af3d369603b04f24cae29964e2f2bf9d31143f72527ce2db402eab7660e4a10b08e82266517cdf60267f9
271     c66b655c;
272   404142434445464748494A4B4C4D4E4F
273     10111213141516
274     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
275     ""
276     ""
277     e84023f8;
278   404142434445464748494a4b4c4d4e4f5051525354555657
279     10111213141516
280     0001020304050607
281     20212223
282     18ee1730
283     c8c326d5;
284   404142434445464748494a4b4c4d4e4f5051525354555657
285     1011121314151617
286     000102030405060708090a0b0c0d0e0f
287     202122232425262728292a2b2c2d2e2f
288     2232b6e0924148ae7239bcbd1a0f7ecb
289     56e9cc28aa67;
290   404142434445464748494a4b4c4d4e4f5051525354555657
291     101112131415161718191a1b
292     000102030405060708090a0b0c0d0e0f10111213
293     202122232425262728292a2b2c2d2e2f3031323334353637
294     8081316fd89624d62ce7637fb94995b6631c50d61586de01
295     42366952505f995a;
296   404142434445464748494a4b4c4d4e4f5051525354555657
297     10111213141516
298     ""
299     202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
300     18ee1730f4490ea847a8e9c532c69f9c0a539a585c1e7b6a5af919f4819088a96ed632555098d3007e7d963c7bd013eb307671d0fbc39a0df4a26a9f4b9e4dad
301     c9ce2fbc;
302   404142434445464748494a4b4c4d4e4f5051525354555657
303     10111213141516
304     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
305     ""
306     ""
307     f1fb2a57;
308   404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
309     10111213141516
310     0001020304050607
311     20212223
312     8ab1a874
313     95fc0820;
314
315   404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
316     1011121314151617
317     000102030405060708090a0b0c0d0e0f
318     202122232425262728292a2b2c2d2e2f
319     af1785fc0f5ea7d0cfba837246484497
320     94b826c8849e;
321
322   404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
323     101112131415161718191a1b
324     000102030405060708090a0b0c0d0e0f10111213
325     202122232425262728292a2b2c2d2e2f3031323334353637
326     04f883aeb3bd0730eaf50bb6de4fa2212034e4e41b0e75e5
327     2b48c8766f7e7649;
328
329   404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
330     10111213141516
331     ""
332     202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
333     8ab1a874f6853f2443a59500f78d17272d6d39dfa6d0e65107b10700c2ce9ee8663d3e2a01c2e12c32e9377442231920be53278f4f60a972b709bb16932936ba
334     3fbd0fae;
335
336   404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f
337     10111213141516
338     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f
339     ""
340     ""
341     a6cf8230;
342
343   ## Locally generated tests.
344   60d7bcda163547d348b7551195e77022
345     907dd1dff7dac5c9941d26
346     ""
347     ""
348     ""
349     cf28ba78;
350   d0c6eb14ad568f86edd1dc9268eeee53
351     3285a6ed810c9b689daaa9
352     06
353     ""
354     ""
355     f258e4d7;
356   0d2d4b6003062365b0a54364c76c160f
357     11896c4794846ecfa14a71
358     ""
359     30
360     d6
361     0c31647b;
362   c9f137120634c9519848a877ff77bf79
363     192a5b50ade5d9cd73
364     9a3d1f337f29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21
365     635c6d62c9269029df3e6057acc87638f508046733d9ff61cdbda3b3e9878731ebfedd4705e505da1435dceaa7b1cc49
366     41b97c9616d0af69288f13e20d74901645bc9b5263044121e5562fa5b0e5ef40a2639909c2e07e329cc50737613a2c53
367     e992acc597653980b46bc43fd471eb5f;
368   ae1d50c38201a894476b3f102b752eb9
369     529533966f27043eb6
370     21b7f65b000961040ef2f9b2fc5fa450727a9b542cde52ebfda19d0ccc520f215eb57bb3a4f3ebbbb18ac6
371     c95a97a48030370c33d090c54215abd6b3ad54efc9a38378c5b93bf4f2aad2605faee2b03fb648e27fff63102758fe2b69ac26afa3
372     8c314091d48b18dba473f0180ebfa878c920562f0d3c63303cafd8b92e31c35ca8e30e5dde711d30e7360b70030864de8d8156be5e
373     672d9df3a0e99ed948e4f598a913b421;
374   349829b94586306fed54154f8f28523c03d4de16
375     00157846b710ee72807a22
376     ""
377     ""
378     ""
379     9205b2da;
380   19bfb474fd71d891f24bb65d1563259f9eb53b57
381     1ea629c54d57dd2d42f708
382     00
383     ""
384     ""
385     9ae9b8a9;
386   df9fcbaca48b77dba189196d1ebba10b0467cb9f
387     c2712a199e533fa9156308
388     ""
389     cd
390     19
391     fab4799d;
392   ec3f768281e040a9b9a222bd689aef66f5306ceb
393     0c6b08ac8b0a22260c
394     571b4a42bb8fdb233bfa6a5cfb0bad7d95214ade49cb3b6f5fe8368131115c037ba323fe1dc8151784873f0eb5b647da
395     6794c18b5337685a96ed65b9aca338527ef19b09c063c46f88de9fd41e72d7b97e23e6eabdff3bcd211499268878dbf3
396     a11307a1d9df486ff782f6643324950ec651e2df47bab6ef1254fa7d04b59bca5f509bc9e781ed797105d39fb509de45
397     27d12d4fb2bc29dc306d5c2240e4894c;
398   0f1dad89d4b9b12012e4713df46795630e7952d2
399     2bb02d7100b8b64937
400     7d20a8f083455b663e4ee1315f3c8f2aebfa921451dcd1af5813b70d30ce2f1fef6ef315d0798391805da0
401     8da3aefc5f8584b7c5e617669c0f16e39815d4e9cfce3ed1ecdf3d264a7f16cb16c2e815f422cdf0c8e30308be3c31e6bc58c0b7ca
402     45adc79632d8fdc8470e9ea47e2523d2a9ad568b2817b5295c078756df3d7f584aaf4b4e9667023b719c1ef7ad9cb72bdf31746f56
403     f1855db5745f0561fd8113b2ff6006ce;
404   dcb658b970e47479a684b5aefa69a4cd52147ed12ca986981a874498
405     ad0abef8bc4fcb70e27e98
406     ""
407     ""
408     ""
409     a84a331d;
410   ef1f0446b42fb144d44b6d00f06dc188d472a784e0c6f21195a3b9f4
411     ae985511265febd11c1647
412     20
413     ""
414     ""
415     e4256cb2;
416   eef9eb1c8dd0b00951f284649016ed00456331854bc78bf43966eb0c
417     fa9138ddc39908445608fe
418     ""
419     95
420     52
421     87c71b52;
422   e81c2533e31c9c1a9851bc2810d858cbbc8424d126b807e6daa089c3
423     f9099c5ffb824173d7
424     634c04226f30cbb7f0e4a973a8cd190107314717a77456f3ff669c732b58db8f48af65f7cc9e3fb90e1721b730374ffc
425     9bc597f56ccbb2f294b38766fc69f6a9f2c0945ffd505003cc0cae9ce021a5f1fa4ffa91544485f1a1258b2b9b8f0911
426     b000328931c8a1484cae26f4f7be0415d58858fcff326136d37fd981492c5851163f68326cac9d4b80f29f5c157a28c2
427     9b9c5705e2d569fc1b280731e4286027;
428   e32d65cc1770a18cbfe6effd1ff6778554acf1270485b203a3c1c4c9
429     67c0a458cb948bdd40
430     9b687fa3a6827b480aa3a4c84cef64f6c9b53bf8f957f4b03cf43e89957f9a3e8128f8743d16687b7bb8de
431     b9bd205b70e04c091d205cdad9e9a79b1abf91b0851e5ca605ac8451399587011677508a15dde524af3e2bee0646541a42c2ecccb4
432     d038ac6646cb2b6da23963eac488def0a233d63e097f9b981d322f96d6cad2d2c2be978d566a5afd8b20ecff4f1c8765ee5446c2a3
433     28b572f708c9a6eb036444c0a9e8818c;
434   4d65bad397abfaf529ee41cf
435     9a05c7efedef3401539c51
436     ""
437     ""
438     ""
439     66c301e7;
440   d2a90bbf7f1bfc338ab0ef57
441     46ea8fdcccd213e33f7e8a
442     57
443     ""
444     ""
445     df5a4e4e;
446   18fd25014107c8e7d715a92a
447     dd9589d1f5c054b2d98351
448     ""
449     46
450     2a
451     0c3bbfb2;
452   05ec590294a319b9802068a9
453     f891bc5ba5afabf8c3
454     122d12d7ff3c41122d70d17d4569eaff59a332ba58d5d5589bfe079753ee1a957eb6d6699e6b7ea2725cb2dac07ecde9
455     5759ac46fee6dda7abc8ad68daac90cfe22d2f1f2968cc42fa8b669ed3bb3542a9cf44bbc8c6254d980398bd94e66eb4
456     5c4a984366df29ee88817bba556a52b0c17ce5c3a337caac667c792cd1d7b705e3db87734963b51d606d8022346fc267
457     1494a9ba0a649a71409b719d821d546f;
458   563d405e51881e99027b8ab9
459     aea3ccf860b0009740
460     763d96836c5f87b95460938de1288c69d80ea12ff4bb5f069b8a2e86041c1b9fc214e9ca2186ddf1f6a7a3
461     aa7e740da967828e3604b35b15ffaa6c36800d9645563a308ba60076817523bd2abf1261b089d8f23a9c2835076a23faac2cdd6777
462     73f618f0bfb917a6ca4f6b7872dbd148fa97bbf8ab044f3331410eef1be00037e9293d851e99ee70c65cad306c4fc0cee754ee1e5c
463     f1c35f66bbb6b69b6c7aa3e7ed23e47e;
464 }
465
466 rijndael-eax {
467   ## From Mihir Bellare, Phillip Rogaway, David Wagner, `The EAX Mode of
468   ## Operation (A Two-Pass Authenticated-Encryption Scheme Optimized for
469   ## Simplicity and Efficiency)'.
470
471   233952dee4d5ed5f9b9c6d6ff80ff478
472     62ec67f9c3a4a407fcb2a8c49031a8b3
473     6bfb914fd07eae6b
474     ""
475     ""
476     e037830e8389f27b025a2d6527e79d01;
477   91945d3f4dcbee0bf45ef52255f095a4
478     becaf043b0a23d843194ba972c66debd
479     fa3bfd4806eb53fa
480     f7fb
481     19dd
482     5c4c9331049d0bdab0277408f67967e5;
483   01f74ad64077f2e704c0f60ada3dd523
484     70c3db4f0d26368400a10ed05d2bff5e
485     234a3463c1264ac6
486     1a47cb4933
487     d851d5bae0
488     3a59f238a23e39199dc9266626c40f80;
489   d07cf6cbb7f313bdde66b727afd3c5e8
490     8408dfff3c1a2b1292dc199e46b7d617
491     33cce2eabff5a79d
492     481c9e39b1
493     632a9d131a
494     d4c168a4225d8e1ff755939974a7bede;
495   35b6d0580005bbc12b0587124557d2c2
496     fdb6b06676eedc5c61d74276e1f8e816
497     aeb96eaebe2970e9
498     40d0c07da5e4
499     071dfe16c675
500     cb0677e536f73afe6a14b74ee49844dd;
501   bd8e6e11475e60b268784c38c62feb22
502     6eac5c93072d8e8513f750935e46da1b
503     d4482d1ca78dce0f
504     4de3b35c3fc039245bd1fb7d
505     835bb4f15d743e350e728414
506     abb8644fd6ccb86947c5e10590210a4f;
507   7c77d6e813bed5ac98baa417477a2e7d
508     1a8c98dcd73d38393b2bf1569deefc19
509     65d2017990d62528
510     8b0a79306c9ce7ed99dae4f87f8dd61636
511     02083e3979da014812f59f11d52630da30
512     137327d10649b0aa6e1c181db617d7f2;
513   5fff20cafab119ca2fc73549e20f5b0d
514     dde59b97d722156d4d9aff2bc7559826
515     54b9f04e6a09189a
516     1bda122bce8a8dbaf1877d962b8592dd2d56
517     2ec47b2c4954a489afc7ba4897edcdae8cc3
518     3b60450599bd02c96382902aef7f832a;
519   a4a4782bcffd3ec5e7ef6d8c34a56123
520     b781fcf2f75fa5a8de97a9ca48e522ec
521     899a175897561d7e
522     6cf36720872b8513f6eab1a8a44438d5ef11
523     0de18fd0fdd91e7af19f1d8ee8733938b1e8
524     e7f6d2231618102fdb7fe55ff1991700;
525   8395fcf1e95bebd697bd010bc766aac3
526     22e7add93cfc6393c57ec0b3c17d6b44
527     126735fcc320d25a
528     ca40d7446e545ffaed3bd12a740a659ffbbb3ceab7
529     cb8920f87a6c75cff39627b56e3ed197c552d295a7
530     cfc46afc253b4652b1af3795b124ab6e;
531
532   ## Some local tests for additional edge cases, generated using the toy
533   ## implementation in Python.
534   60d7bcda163547d348b7551195e77022
535     ""
536     ""
537     ""
538     ""
539     fc65784451ea97468ec025e17a709456;
540   907dd1dff7dac5c9941d26d0c6eb14ad
541     56
542     ""
543     ""
544     ""
545     d8da3364e510165ed5afd2aab762f5d2;
546   8f86edd1dc9268eeee533285a6ed810c
547     ""
548     9b
549     ""
550     ""
551     715b06133d886f3b8fb8fdfcadd0fa5c;
552   689daaa9060d2d4b6003062365b0a543
553     ""
554     ""
555     64
556     69
557     16c192d8633a39465ce18da2ce132233;
558   c76c160f11896c4794846ecfa14a7130
559     c9f137120634c9519848a877ff77bf79
560     192a5b50ade5d9cd739a3d1f337f29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8
561     cde8e160ad10997a21635c6d62c9269029df3e6057acc87638f508046733d9ff61cdbda3b3e9878731ebfedd4705e505
562     963801ede08bd2b86a3c33cf18c27d98c7c22f14c08621651e6094e72bcbd4bbf38f5e20814d465daa9c5929b9f59375
563     180ad55fa758703dd6a4e345956705e5;
564   da1435dceaa7b1cc49ae1d50c38201a8
565     94476b3f102b752eb9529533966f27
566     043eb621b7f65b000961040ef2f9b2fc5fa450727a9b542cde52ebfda19d0ccc520f215eb57bb3a4f3ebbb
567     b18ac6c95a97a48030370c33d090c54215abd6b3ad54efc9a38378c5b93bf4f2aad2605faee2b03fb648e27fff63102758fe2b69ac
568     448792431ef5eb64efcfb2e6a9bb454d7ef09598ca4bc057d9cba969328ad75c05b7da7012e5ff1826dc3c981072fc9dce719cfffa
569     aeaa46b633b5c3ba7db2e404af2eb9a8;
570   26afa3349829b94586306fed54154f8f28523c03
571     ""
572     ""
573     ""
574     ""
575     d0a749a3ae472501971c7521066a5c14;
576   d4de1600157846b710ee72807a2219bfb474fd71
577     d8
578     ""
579     ""
580     ""
581     5998cfaef8d97abd4c8017aba424a845;
582   91f24bb65d1563259f9eb53b571ea629c54d57dd
583     ""
584     2d
585     ""
586     ""
587     7ecfd7cde12120a79d65622bd02993f8;
588   42f70800df9fcbaca48b77dba189196d1ebba10b
589     ""
590     ""
591     04
592     46
593     b4b2f22374e5416565ea5da09bd65726;
594   67cb9fc2712a199e533fa9156308cdec3f768281
595     e040a9b9a222bd689aef66f5306ceb0c
596     6b08ac8b0a22260c571b4a42bb8fdb233bfa6a5cfb0bad7d95214ade49cb3b6f5fe8368131115c037ba323fe1dc81517
597     84873f0eb5b647da6794c18b5337685a96ed65b9aca338527ef19b09c063c46f88de9fd41e72d7b97e23e6eabdff3bcd
598     78ebdb6a281df84204a58c3071a81ee62c604c4ff408d02ec9401bd284beba033e438279a8cf450bccc58ddb0480b0b1
599     8f3edaf96c1c577c99d506fa9bdd342c;
600   211499268878dbf30f1dad89d4b9b12012e4713d
601     f46795630e7952d22bb02d7100b8b6
602     49377d20a8f083455b663e4ee1315f3c8f2aebfa921451dcd1af5813b70d30ce2f1fef6ef315d079839180
603     5da08da3aefc5f8584b7c5e617669c0f16e39815d4e9cfce3ed1ecdf3d264a7f16cb16c2e815f422cdf0c8e30308be3c31e6bc58c0
604     b81e04dfef276af4992a4daacad70a724bd2bc5f857d739b82781dab188f6c172f1dc3390ab9226f6a286bf89e3fd198ee3e781db4
605     1096e8cbf9132840e22c4e9618a981c2;
606   b7cadcb658b970e47479a684b5aefa69a4cd52147ed12ca986981a87
607     ""
608     ""
609     ""
610     ""
611     8517441bde0b33302a5d73d756bbaea3;
612   4498ad0abef8bc4fcb70e27e98ef1f0446b42fb144d44b6d00f06dc1
613     88
614     ""
615     ""
616     ""
617     2703e5e0acbf6d762e635e66e599c7e7;
618   d472a784e0c6f21195a3b9f4ae985511265febd11c164720eef9eb1c
619     ""
620     8d
621     ""
622     ""
623     21ba7e9152f7a188a570a435a9118dd7;
624   d0b00951f284649016ed00456331854bc78bf43966eb0cfa9138ddc3
625     ""
626     ""
627     99
628     8f
629     19edae1a9f72c3ec1a95456a7602fbea;
630   08445608fe95e81c2533e31c9c1a9851bc2810d858cbbc8424d126b8
631     07e6daa089c3f9099c5ffb824173d763
632     4c04226f30cbb7f0e4a973a8cd190107314717a77456f3ff669c732b58db8f48af65f7cc9e3fb90e1721b730374ffc9b
633     c597f56ccbb2f294b38766fc69f6a9f2c0945ffd505003cc0cae9ce021a5f1fa4ffa91544485f1a1258b2b9b8f0911e3
634     7da2cbb1dbb96d57e6eae7f7463cdaf220f06e96bcce1303ef6c987de22fa64d62c89f8bef1676b6c9447b03575fce9a
635     83e41c3c033397193406be50be532022;
636   2d65cc1770a18cbfe6effd1ff6778554acf1270485b203a3c1c4c967
637     c0a458cb948bdd409b687fa3a6827b
638     480aa3a4c84cef64f6c9b53bf8f957f4b03cf43e89957f9a3e8128f8743d16687b7bb8deb9bd205b70e04c
639     091d205cdad9e9a79b1abf91b0851e5ca605ac8451399587011677508a15dde524af3e2bee0646541a42c2ecccb44d65bad397abfa
640     5c26f8ce44729fef7b23d7a08a6f770499d3efd779ec6975b549f418abdffc8a1fe5c279e41e3815b8667e96a4ad39aeef24bee42f
641     cd68c88ece3bead81778b31e8dbe34db;
642   f529ee41cf9a05c7efedef34
643     ""
644     ""
645     ""
646     ""
647     9fa09ea950f21cf235e494490111462f;
648   01539c51d2a90bbf7f1bfc33
649     8a
650     ""
651     ""
652     ""
653     b694f1a079840c1a5306fa86a0d4bba3;
654   b0ef5746ea8fdcccd213e33f
655     ""
656     7e
657     ""
658     ""
659     91c2e974c399c84bdff77b962441e1f3;
660   8a5718fd25014107c8e7d715
661     ""
662     ""
663     a9
664     14
665     279ad0e41ab70a6751f9fbd01030784e;
666   2add9589d1f5c054b2d98351
667     4605ec590294a319b9802068a9f891bc
668     5ba5afabf8c3122d12d7ff3c41122d70d17d4569eaff59a332ba58d5d5589bfe079753ee1a957eb6d6699e6b7ea2725c
669     b2dac07ecde95759ac46fee6dda7abc8ad68daac90cfe22d2f1f2968cc42fa8b669ed3bb3542a9cf44bbc8c6254d9803
670     cb3a052da8d3fc8c6e40de726ef40596a871d596df7b7c33b11467ba4ab39210df119a6e202267b44f86db3b4074c886
671     4ea05695bbf7f261c4e76415e3642945;
672   98bd94e66eb4563d405e5188
673     1e99027b8ab9aea3ccf860b0009740
674     763d96836c5f87b95460938de1288c69d80ea12ff4bb5f069b8a2e86041c1b9fc214e9ca2186ddf1f6a7a3
675     aa7e740da967828e3604b35b15ffaa6c36800d9645563a308ba60076817523bd2abf1261b089d8f23a9c2835076a23faac2cdd6777
676     03f7e555335edc0f776c210da68ddceda30e7b6d11f62aab60a17f443e6000c31ca8927b28791f8b5dcff245c82b63ebca8cdbeb9a
677     a860ca21635e5d2c1fa19d96a4c394fa;
678 }
679
680 rijndael-gcm {
681
682   ## NIST examples.
683   feffe9928665731c6d6a8f9467308308
684     cafebabefacedbaddecaf888
685     ""
686     ""
687     ""
688     3247184b3c4f69a44dbcd22887bbb418;
689   feffe9928665731c6d6a8f9467308308
690     cafebabefacedbaddecaf888
691     ""
692     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
693     42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985
694     4d5c2af327cd64a62cf35abd2ba6fab4;
695   feffe9928665731c6d6a8f9467308308
696     cafebabefacedbaddecaf888
697     3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaaf43b1cd7f598ece23881b00e3ed0306887b0c785e27e8ad3f8223207104725dd4
698     ""
699     ""
700     5f91d77123ef5eb9997913849b8dc1e9;
701   feffe9928665731c6d6a8f9467308308
702     cafebabefacedbaddecaf888
703     3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaaf43b1cd7f598ece23881b00e3ed0306887b0c785e27e8ad3f8223207104725dd4
704     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
705     42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091473f5985
706     64c0232904af398a5b67c10b53a5024d;
707   feffe9928665731c6d6a8f9467308308
708     cafebabefacedbaddecaf888
709     3ad77bb40d7a3660a89ecaf32466ef97f5d3d585
710     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
711     42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091
712     f07c2528eea2fca1211f905e1b6a881b;
713
714   feffe9928665731c6d6a8f9467308308feffe9928665731c
715     cafebabefacedbaddecaf888
716     ""
717     ""
718     ""
719     c835aa88aebbc94f5a02e179fdcfc3e4;
720   feffe9928665731c6d6a8f9467308308feffe9928665731c
721     cafebabefacedbaddecaf888
722     ""
723     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
724     3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256
725     9924a7c8587336bfb118024db8674a14;
726   feffe9928665731c6d6a8f9467308308feffe9928665731c
727     cafebabefacedbaddecaf888
728     3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaaf43b1cd7f598ece23881b00e3ed0306887b0c785e27e8ad3f8223207104725dd4
729     ""
730     ""
731     02cc773bc919f4e1c5e9c54313bface0;
732   feffe9928665731c6d6a8f9467308308feffe9928665731c
733     cafebabefacedbaddecaf888
734     3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaaf43b1cd7f598ece23881b00e3ed0306887b0c785e27e8ad3f8223207104725dd4
735     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
736     3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710acade256
737     3b9153b4e7318a5f3bbeac108f8a8edb;
738   feffe9928665731c6d6a8f9467308308feffe9928665731c
739     cafebabefacedbaddecaf888
740     3ad77bb40d7a3660a89ecaf32466ef97f5d3d585
741     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
742     3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710
743     93ea28c659e269902a80acd208e7fc80;
744
745   feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
746     cafebabefacedbaddecaf888
747     ""
748     ""
749     ""
750     fd2caa16a5832e76aa132c1453eeda7e;
751   feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
752     cafebabefacedbaddecaf888
753     ""
754     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
755     522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad
756     b094dac5d93471bdec1a502270e3cc6c;
757   feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
758     cafebabefacedbaddecaf888
759     3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaaf43b1cd7f598ece23881b00e3ed0306887b0c785e27e8ad3f8223207104725dd4
760     ""
761     ""
762     de34b6dcd4cee2fdbec3cea01af1ee44;
763   feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
764     cafebabefacedbaddecaf888
765     3ad77bb40d7a3660a89ecaf32466ef97f5d3d58503b9699de785895a96fdbaaf43b1cd7f598ece23881b00e3ed0306887b0c785e27e8ad3f8223207104725dd4
766     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b391aafd255
767     522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662898015ad
768     c06d76f31930fef37acae23ed465ae62;
769   feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
770     cafebabefacedbaddecaf888
771     3ad77bb40d7a3660a89ecaf32466ef97f5d3d585
772     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
773     522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662
774     e097195f4532da895fb917a5a55c6aa0;
775
776   ## IEEE tests for P802.1.
777   ad7a2bd03eac835a6f620fdcb506b345
778     12153524c0895e81b2c28465
779     d609b1f056637a0d46df998d88e5222ab2c2846512153524c0895e8108000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233340001
780     ""
781     ""
782     f09478a9b09007d06f46e9b6a1da25dd;
783   ad7a2bd03eac835a6f620fdcb506b345
784     12153524c0895e81b2c28465
785     d609b1f056637a0d46df998d88e52e00b2c2846512153524c0895e81
786     08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a0002
787     701afa1cc039c0d765128a665dab69243899bf7318ccdc81c9931da17fbe8edd7d17cb8b4c26fc81e3284f2b7fba713d
788     4f8d55e7d3f06fd5a13c0c29b9d5b880;
789   071b113b0ca743fecccf3d051f737382
790     f0761e8dcd3d000176d457ed
791     e20106d7cd0df0761e8dcd3d88e5400076d457ed08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a0003
792     ""
793     ""
794     0c017bc73b227dfcc9bafa1c41acc353;
795   071b113b0ca743fecccf3d051f737382
796     f0761e8dcd3d000176d457ed
797     e20106d7cd0df0761e8dcd3d88e54c2a76d457ed
798     08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233340004
799     13b4c72b389dc5018e72a171dd85a5d3752274d3a019fbcaed09a425cd9b2e1c9b72eee7c9de7d52b3f3
800     d6a5284f4a6d3fe22a5d6c2b960494c3;
801   013fe00b5f11be7f866d0cbbc55a7a90
802     7cfde9f9e33724c68932d612
803     84c5d513d2aaf6e5bbd2727788e523008932d6127cfde9f9e33724c608000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f0005
804     ""
805     ""
806     217867e50c2dad74c28c3b50abdf695a;
807   013fe00b5f11be7f866d0cbbc55a7a90
808     7cfde9f9e33724c68932d612
809     84c5d513d2aaf6e5bbd2727788e52f008932d6127cfde9f9e33724c6
810     08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b0006
811     3a4de6fa32191014dbb303d92ee3a9e8a1b599c14d22fb080096e13811816a3c9c9bcf7c1b9b96da809204e29d0e2a7642
812     bfd310a4837c816ccfa5ac23ab003988;
813   88ee087fd95da9fbf6725aa9d757b0cd
814     7ae8e2ca4ec500012e58495c
815     68f2e77696ce7ae8e2ca4ec588e541002e58495c08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d0007
816     ""
817     ""
818     07922b8ebcf10bb2297588ca4c614523;
819   88ee087fd95da9fbf6725aa9d757b0cd
820     7ae8e2ca4ec500012e58495c
821     68f2e77696ce7ae8e2ca4ec588e54d002e58495c
822     08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748490008
823     c31f53d99e5687f7365119b832d2aae70741d593f1f9e2ab3455779b078eb8feacdfec1f8e3e5277f8180b43361f6512adb16d2e38548a2c719dba7228d840
824     88f8757adb8aa788d8f65ad668be70e7;
825
826   e3c08a8f06c6e3ad95a70557b23f75483ce33021a9c72b7025666204c69c0b72
827     12153524c0895e81b2c28465
828     d609b1f056637a0d46df998d88e5222ab2c2846512153524c0895e8108000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233340001
829     ""
830     ""
831     2f0bc5af409e06d609ea8b7d0fa5ea50;
832   e3c08a8f06c6e3ad95a70557b23f75483ce33021a9c72b7025666204c69c0b72
833     12153524c0895e81b2c28465
834     d609b1f056637a0d46df998d88e52e00b2c2846512153524c0895e81
835     08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a0002
836     e2006eb42f5277022d9b19925bc419d7a592666c925fe2ef718eb4e308efeaa7c5273b394118860a5be2a97f56ab7836
837     5ca597cdbb3edb8d1a1151ea0af7b436;
838   691d3ee909d7f54167fd1ca0b5d769081f2bde1aee655fdbab80bd5295ae6be7
839     f0761e8dcd3d000176d457ed
840     e20106d7cd0df0761e8dcd3d88e5400076d457ed08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a0003
841     ""
842     ""
843     35217c774bbc31b63166bcf9d4abed07;
844   691d3ee909d7f54167fd1ca0b5d769081f2bde1aee655fdbab80bd5295ae6be7
845     f0761e8dcd3d000176d457ed
846     e20106d7cd0df0761e8dcd3d88e54c2a76d457ed
847     08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233340004
848     c1623f55730c93533097addad25664966125352b43adacbd61c5ef3ac90b5bee929ce4630ea79f6ce519
849     12af39c2d1fdc2051f8b7b3c9d397ef2;
850   83c093b58de7ffe1c0da926ac43fb3609ac1c80fee1b624497ef942e2f79a823
851     7cfde9f9e33724c68932d612
852     84c5d513d2aaf6e5bbd2727788e523008932d6127cfde9f9e33724c608000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f0005
853     ""
854     ""
855     6ee160e8faeca4b36c86b234920ca975;
856   83c093b58de7ffe1c0da926ac43fb3609ac1c80fee1b624497ef942e2f79a823
857     7cfde9f9e33724c68932d612
858     84c5d513d2aaf6e5bbd2727788e52f008932d6127cfde9f9e33724c6
859     08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b0006
860     110222ff8050cbece66a813ad09a73ed7a9a089c106b959389168ed6e8698ea902eb1277dbec2e68e473155a15a7daeed4
861     a10f4e05139c23df00b3aadc71f0596a;
862   4c973dbc7364621674f8b5b89e5c15511fced9216490fb1c1a2caa0ffe0407e5
863     7ae8e2ca4ec500012e58495c
864     68f2e77696ce7ae8e2ca4ec588e541002e58495c08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d0007
865     ""
866     ""
867     00bda1b7e87608bcbf470f12157f4c07;
868   4c973dbc7364621674f8b5b89e5c15511fced9216490fb1c1a2caa0ffe0407e5
869     7ae8e2ca4ec500012e58495c
870     68f2e77696ce7ae8e2ca4ec588e54d002e58495c
871     08000f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748490008
872     ba8ae31bc506486d6873e4fce460e7dc57591ff00611f31c3834fe1c04ad80b66803afcf5b27e6333fa67c99da47c2f0ced68d531bd741a943cff7a6713bd0
873     2611cd7daa01d61c5c886dc1a8170107;
874
875   ## From `The Galois/Counter Mode of Operation' by David McGrew and John
876   ## Viega.  Some of these were duplicated in the NIST examples above, and so
877   ## are omitted here.
878   00000000000000000000000000000000
879     000000000000000000000000
880     ""
881     ""
882     ""
883     58e2fccefa7e3061367f1d57a4e7455a;
884   00000000000000000000000000000000
885     000000000000000000000000
886     ""
887     00000000000000000000000000000000
888     0388dace60b6a392f328c2b971b2fe78
889     ab6e47d42cec13bdf53a67b21257bddf;
890   feffe9928665731c6d6a8f9467308308
891     cafebabefacedbaddecaf888
892     feedfacedeadbeeffeedfacedeadbeefabaddad2
893     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
894     42831ec2217774244b7221b784d0d49ce3aa212f2c02a4e035c17e2329aca12e21d514b25466931c7d8f6a5aac84aa051ba30b396a0aac973d58e091
895     5bc94fbc3221a5db94fae95ae7121a47;
896   feffe9928665731c6d6a8f9467308308
897     cafebabefacedbad
898     feedfacedeadbeeffeedfacedeadbeefabaddad2
899     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
900     61353b4c2806934a777ff51fa22a4755699b2a714fcdc6f83766e5f97b6c742373806900e49f24b22b097544d4896b424989b5e1ebac0f07c23f4598
901     3612d2e79e3b0785561be14aaca2fccb;
902   feffe9928665731c6d6a8f9467308308
903     9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
904     feedfacedeadbeeffeedfacedeadbeefabaddad2
905     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
906     8ce24998625615b603a033aca13fb894be9112a5c3a211a8ba262a3cca7e2ca701e4a9a4fba43c90ccdcb281d48c7c6fd62875d2aca417034c34aee5
907     619cc5aefffe0bfa462af43c1699d050;
908
909   000000000000000000000000000000000000000000000000
910     000000000000000000000000
911     ""
912     ""
913     ""
914     cd33b28ac773f74ba00ed1f312572435;
915   000000000000000000000000000000000000000000000000
916     000000000000000000000000
917     ""
918     00000000000000000000000000000000
919     98e7247c07f0fe411c267e4384b0f600
920     2ff58d80033927ab8ef4d4587514f0fb;
921   feffe9928665731c6d6a8f9467308308feffe9928665731c
922     cafebabefacedbaddecaf888
923     feedfacedeadbeeffeedfacedeadbeefabaddad2
924     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
925     3980ca0b3c00e841eb06fac4872a2757859e1ceaa6efd984628593b40ca1e19c7d773d00c144c525ac619d18c84a3f4718e2448b2fe324d9ccda2710
926     2519498e80f1478f37ba55bd6d27618c;
927   feffe9928665731c6d6a8f9467308308feffe9928665731c
928     cafebabefacedbad
929     feedfacedeadbeeffeedfacedeadbeefabaddad2
930     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
931     0f10f599ae14a154ed24b36e25324db8c566632ef2bbb34f8347280fc4507057fddc29df9a471f75c66541d4d4dad1c9e93a19a58e8b473fa0f062f7
932     65dcc57fcf623a24094fcca40d3533f8;
933   feffe9928665731c6d6a8f9467308308feffe9928665731c
934     9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
935     feedfacedeadbeeffeedfacedeadbeefabaddad2
936     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
937     d27e88681ce3243c4830165a8fdcf9ff1de9a1d8e6b447ef6ef7b79828666e4581e79012af34ddd9e2f037589b292db3e67c036745fa22e7e9b7373b
938     dcf566ff291c25bbb8568fc3d376a6d9;
939
940   0000000000000000000000000000000000000000000000000000000000000000
941     000000000000000000000000
942     ""
943     ""
944     ""
945     530f8afbc74536b9a963b4f1c4cb738b;
946   0000000000000000000000000000000000000000000000000000000000000000
947     000000000000000000000000
948     ""
949     00000000000000000000000000000000
950     cea7403d4d606b6e074ec5d3baf39d18
951     d0d1c8a799996bf0265b98b5d48ab919;
952   feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
953     cafebabefacedbaddecaf888
954     feedfacedeadbeeffeedfacedeadbeefabaddad2
955     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
956     522dc1f099567d07f47f37a32a84427d643a8cdcbfe5c0c97598a2bd2555d1aa8cb08e48590dbb3da7b08b1056828838c5f61e6393ba7a0abcc9f662
957     76fc6ece0f4e1768cddf8853bb2d551b;
958   feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
959     cafebabefacedbad
960     feedfacedeadbeeffeedfacedeadbeefabaddad2
961     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
962     c3762df1ca787d32ae47c13bf19844cbaf1ae14d0b976afac52ff7d79bba9de0feb582d33934a4f0954cc2363bc73f7862ac430e64abe499f47c9b1f
963     3a337dbf46a792c45e454913fe2ea8f2;
964   feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308
965     9313225df88406e555909c5aff5269aa6a7a9538534f7da1e4c303d2a318a728c3c0c95156809539fcf0e2429a6b525416aedbf5a0de6a57a637b39b
966     feedfacedeadbeeffeedfacedeadbeefabaddad2
967     d9313225f88406e5a55909c5aff5269a86a7a9531534f7da2e4c303d8a318a721c3c0c95956809532fcf0e2449a6b525b16aedf5aa0de657ba637b39
968     5a8def2f0c9e53f1f75d7853659e2a20eeb2b22aafde6419a058ab4f6f746bf40fc0c3b780f244452da3ebf1c5d82cdea2418997200ef82e44ae7e3f
969     a44a8266ee1c8eb0c8b5d4cf5ae9f19a;
970
971   ## Further home-made tests, made using the toy Python implementation.
972   60d7bcda163547d348b7551195e77022
973     ""
974     ""
975     ""
976     ""
977     58b01ea630bccf61f3b34c172d152383;
978   907dd1dff7dac5c9941d26d0c6eb14ad
979     56
980     ""
981     ""
982     ""
983     4728c593444566c1f955bbf6b3d38240;
984   8f86edd1dc9268eeee533285a6ed810c
985     ""
986     9b
987     ""
988     ""
989     d13020f394c38a8e22c46ccd91d10d77;
990   689daaa9060d2d4b6003062365b0a543
991     ""
992     ""
993     64
994     bc
995     4daa100a72a49783462b47a93ae6bf16;
996   c76c160f11896c4794846ecfa14a7130
997     c9f137120634c9519848a877ff77bf79
998     192a5b50ade5d9cd739a3d1f337f29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8
999     cde8e160ad10997a21635c6d62c9269029df3e6057acc87638f508046733d9ff61cdbda3b3e9878731ebfedd4705e505
1000     382909981d309ca85ad62f43d0ed0d416f8040e3517772510ff95e50d9e411319e636647904a1c7ac2d857ed1996414b
1001     06ba36bc635adcbd1854fcef36614528;
1002   da1435dceaa7b1cc49ae1d50c38201a8
1003     94476b3f102b752eb9529533
1004     966f27043eb621b7f65b000961040ef2f9b2fc
1005     5fa450727a9b542cde52ebfda19d0ccc520f215eb57bb3a4f3ebbbb18ac6c95a97a48030370c33d090c54215abd6b3ad54efc9a38378c5b93b
1006     7629cb94f9f709fd7c0988e50e935c3f95dc15a4f49207d62b3ba01fe62f0733842b97e72753292de7f4b3d0518ec30933d80bb3c93c5f2165
1007     f894c92668f0264a7f663568f38c3d71;
1008   f4f2aad2605faee2b03fb648e27fff63
1009     102758fe2b69ac26afa3349829b945
1010     86306fed54154f8f28523c03d4de1600157846b710ee72807a2219bfb474fd71d891f24bb65d1563259f9e
1011     b53b571ea629c54d57dd2d42f70800df9fcbaca48b77dba189196d1ebba10b0467cb9fc2712a199e533fa9156308cdec3f768281e0
1012     08bcec80c6486cc37d15f4da0dd221864d01b6bf9726ea9de673625a80e07e1250da4071099ffc8b50dc5cd1bfaaac50abef3d1b5a
1013     9456d186568dd1aca2e61c96d2ae9998;
1014   40a9b9a222bd689aef66f5306ceb0c6b08ac8b0a
1015     ""
1016     ""
1017     ""
1018     ""
1019     d18fdc91e2ace4c8f4d66cf473fb42db;
1020   22260c571b4a42bb8fdb233bfa6a5cfb0bad7d95
1021     21
1022     ""
1023     ""
1024     ""
1025     93bcc629e1dc644f4f002440da2c9cca;
1026   4ade49cb3b6f5fe8368131115c037ba323fe1dc8
1027     ""
1028     15
1029     ""
1030     ""
1031     e87f107bb704c288cc68519cec9fa3d8;
1032   1784873f0eb5b647da6794c18b5337685a96ed65
1033     ""
1034     ""
1035     b9
1036     c1
1037     c59a50c109f521ba596b3bfdff74fe9d;
1038   aca338527ef19b09c063c46f88de9fd41e72d7b9
1039     7e23e6eabdff3bcd211499268878dbf3
1040     0f1dad89d4b9b12012e4713df46795630e7952d22bb02d7100b8b649377d20a8f083455b663e4ee1315f3c8f2aebfa92
1041     1451dcd1af5813b70d30ce2f1fef6ef315d0798391805da08da3aefc5f8584b7c5e617669c0f16e39815d4e9cfce3ed1
1042     8068670d29a2a061b8375eb1e34259255991e9fadde3c5662930c9d29fe66fa5d513bfd6f2201e1503974444c827154b
1043     67f81d876969b8f8af546599fb81b929;
1044   ecdf3d264a7f16cb16c2e815f422cdf0c8e30308
1045     be3c31e6bc58c0b7cadcb658
1046     b970e47479a684b5aefa69a4cd52147ed12ca9
1047     86981a874498ad0abef8bc4fcb70e27e98ef1f0446b42fb144d44b6d00f06dc188d472a784e0c6f21195a3b9f4ae985511265febd11c164720
1048     23d16173096538a850efd193113ce4664d122a0e5ef73a70b50b57304b62704f65b9b1b1167d3e9a3cc66f95b873a856a05de800a91c2d43bc
1049     c2a7ef96a5228db104f6a11034e50f8a;
1050   eef9eb1c8dd0b00951f284649016ed0045633185
1051     4bc78bf43966eb0cfa9138ddc39908
1052     445608fe95e81c2533e31c9c1a9851bc2810d858cbbc8424d126b807e6daa089c3f9099c5ffb824173d763
1053     4c04226f30cbb7f0e4a973a8cd190107314717a77456f3ff669c732b58db8f48af65f7cc9e3fb90e1721b730374ffc9bc597f56ccb
1054     9ef6b1732748b5f4fee62e025d4fa736336574ede8e760c680d546ecd9c51a03b3bfea4f3eff602cacdf9822717325ffff92196aa2
1055     1279f19bf183b1499da8da81e174d2b8;
1056   b2f294b38766fc69f6a9f2c0945ffd505003cc0cae9ce021a5f1fa4f
1057     ""
1058     ""
1059     ""
1060     ""
1061     565ff4cb468ce9c2c53451df7cc70651;
1062   fa91544485f1a1258b2b9b8f0911e32d65cc1770a18cbfe6effd1ff6
1063     77
1064     ""
1065     ""
1066     ""
1067     e5f4f21a54e3788920c3fda8e47a561a;
1068   8554acf1270485b203a3c1c4c967c0a458cb948bdd409b687fa3a682
1069     ""
1070     7b
1071     ""
1072     ""
1073     fea5e7d3d32a547d19d029133e417f4c;
1074   480aa3a4c84cef64f6c9b53bf8f957f4b03cf43e89957f9a3e8128f8
1075     ""
1076     ""
1077     74
1078     2c
1079     a0b8a9979dfb02faac0cfd7798f31e6f;
1080   3d16687b7bb8deb9bd205b70e04c091d205cdad9e9a79b1abf91b085
1081     1e5ca605ac8451399587011677508a15
1082     dde524af3e2bee0646541a42c2ecccb44d65bad397abfaf529ee41cf9a05c7efedef3401539c51d2a90bbf7f1bfc338a
1083     b0ef5746ea8fdcccd213e33f7e8a5718fd25014107c8e7d715a92add9589d1f5c054b2d983514605ec590294a319b980
1084     c5c15ee7953a0b74712d9cfe36c7270a94c265f1af75b48e9147b54bf3509bea55e58c6ef3d7e60db1270d6f5f56d37b
1085     94d5625b8c1c2dc0eb7914e717dd640f;
1086   2068a9f891bc5ba5afabf8c3122d12d7ff3c41122d70d17d4569eaff
1087     59a332ba58d5d5589bfe0797
1088     53ee1a957eb6d6699e6b7ea2725cb2dac07ecd
1089     e95759ac46fee6dda7abc8ad68daac90cfe22d2f1f2968cc42fa8b669ed3bb3542a9cf44bbc8c6254d980398bd94e66eb4563d405e51881e99
1090     43f463f1b21cd0f9246af63db9eacb644edaa029de296e1e70d30a6d944e65ed2690d1a0abee3fc608b816f6b80cb15f044ea37d146f92f4c5
1091     3b78d38c982a0c529ad66d6243694de8;
1092   027b8ab9aea3ccf860b0009740763d96836c5f87b95460938de1288c
1093     69d80ea12ff4bb5f069b8a2e86041c
1094     1b9fc214e9ca2186ddf1f6a7a3aa7e740da967828e3604b35b15ffaa6c36800d9645563a308ba600768175
1095     23bd2abf1261b089d8f23a9c2835076a23faac2cdd67771cc667a8331f0a170b66283e4f834a06148f302c3973accd56f6f24e3395
1096     d76bde841be1e0f1c79d55aba162df14df0d8d27a79006ae86206959988ee72bdc2f865964dfb9f9367c28ff87aefdd0ffa01d9d97
1097     aaa345866f4b3dbee0f6213cac96bd7b;
1098   8b8c2e2352fd61e4fa8fec81
1099     ""
1100     ""
1101     ""
1102     ""
1103     059b6263146de5fb545a936fc848b0b4;
1104   6ac861a8b33779f09e7a10fc
1105     02
1106     ""
1107     ""
1108     ""
1109     58624b8c9053c43796880707b3d67f20;
1110   a8f48afa3080ee119a52a9a8
1111     ""
1112     17
1113     ""
1114     ""
1115     687f0761db05bcdb0388336d76fd22e7;
1116   e4f2b94b0820cab383a8cffe
1117     ""
1118     ""
1119     ea
1120     18
1121     767802f12d42935d7b001884afc02a9c;
1122   7c486315799dc875fba578c8
1123     ec4837898a92142b5b0677da1ac27311
1124     7b45bcfff5d5f8b6fde2893232a9f81d14517ffae475f6b94a43a67b3d380d2f9aaafe2dd721c0095c88088476892114
1125     50ba8095ffab1eaadf66fd22ac1976063e113ab61f813e28a1397a7974a1d7f4220c785fe426a5a0e80f678d40414784
1126     f32ff4b45a2e730c569689c1778053d0a0d98ff6ca284a29d5dec2d196cabe0b2ff7cccd2d76677cfa6f7f3f327e95dc
1127     6a8c65bf4d69020ca3653fe92b8a0750;
1128   2941feeffdc2eb44dc8c0d5e
1129     8f444f7f4e0c893959b74dc2
1130     3a7bb40e7e0013e5150686d2301b43a15a84e8
1131     1d7f5cedaa49e2414ebf47970e560475cff206877de69146acc3ab6cf8556b7aa776945948d1b8834df2196c92ec1718dcdeee0d52d9539726
1132     c4af011456e8d101166565373ad9e8f158794f83fd254b98c7c8b0fc4bf23d0c2dd3158db30946c967d9eab008d6a526e6c2bf28b0a615fd76
1133     81383ad066041311a2eb1ab37d6c14eb;
1134   d2810391b3f9d10c39b07ae8
1135     f08ce7cee4758a386a9943e97dedfb
1136     e61e737882cd09c2b9a80f34c0fde11c2481b11fc76bfa4dbf710a9e544e0c536ca1e040f9ad5b04140d98
1137     edabe08485290a4d87d13b07398a1458c2c6b61dbdbc1cccada8c1a0a9aabb6c4e3c3554f8fb1ef61614c270295dfc0ca6551ca4bd
1138     502ab4639cc0336813c1e56e627ca9fd05ae8a04bb2b5a5dd7c03a5a4fc64ec1b9222fb965ee6c675f52bf3815a88d8a0ab837ad7b
1139     66578408dd93abb230ea3124f859308d;
1140 }
1141
1142 rijndael-ocb1 {
1143   ## Rogaway's tests, from http://web.cs.ucdavis.edu/~rogaway/ocb/ocb-test.htm
1144   000102030405060708090a0b0c0d0e0f
1145     00000000000000000000000000000001
1146     ""
1147     ""
1148     ""
1149     15d37dd7c890d5d6acab927bc0dc60ee;
1150   000102030405060708090a0b0c0d0e0f
1151     00000000000000000000000000000001
1152     ""
1153     000102
1154     fcd37d
1155     02254739a5e3565ae2dcd62c659746ba;
1156   000102030405060708090a0b0c0d0e0f
1157     00000000000000000000000000000001
1158     ""
1159     000102030405060708090a0b0c0d0e0f
1160     37df8ce15b489bf31d0fc44da1faf6d6
1161     dfb763ebdb5f0e719c7b4161808004df;
1162   000102030405060708090a0b0c0d0e0f
1163     00000000000000000000000000000001
1164     ""
1165     000102030405060708090a0b0c0d0e0f10111213
1166     01a075f0d815b1a4e9c881a1bcffc3eb7003eb55
1167     753084144eb63b770b063c2e23cda0bb;
1168   000102030405060708090a0b0c0d0e0f
1169     00000000000000000000000000000001
1170     ""
1171     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1172     01a075f0d815b1a4e9c881a1bcffc3eb4afcbb7fedc08ca8654c6d304d1612fa
1173     c14cbf2c1a1f1c3c137eadea1f2f2fcf;
1174   000102030405060708090a0b0c0d0e0f
1175     00000000000000000000000000000001
1176     ""
1177     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021
1178     01a075f0d815b1a4e9c881a1bcffc3ebd4903dd0025ba4aa837c74f121b0260fa95d
1179     cf8341bb10820ccf14bdec56b8d7d6ab;
1180   000102030405060708090a0b0c0d0e0f
1181     00000000000000000000000000000001
1182     ""
1183     00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1184     4c9b676705ff2df05503872aa3d9e9b122c6b0ec060819146d9c887bad494417b63b4b2b3d9c3a4cd156856564c4a31be812a95d43e76ccf9811cc3a7613b0567bbcabf1a0f64f5245098c239ca7935765a7d402b01b671f1c600bc9a6823025c370a32da44a86911dce981ccaa7e3e720552bf8dd83918d8688e2347ba8691457bc25ab99a51a4388c3c7fad8a71e0c25fa185d2aa710dd9bb93cf2185ac950380732eef63549adcd451e70a0275b070fe1f9e338321aa57de832e1893f5febc0b2f0a6221d1aa187b9f152d20c259ed105c1a4be374993f4963074ef2676621109a03e628286124aefc8a3038b65103aa628f3e6bd6e1659ea0508185679d9a03b0794b914850cb4528293f7e992895a3e80337c23dbc95be1d3502cb9f8961e7dbe22898dc97b75fefaa75b4b3115969af05f54850489e007ce003d8023f490e37845f54d3c6dc3521fae9c34365091393f21139c96be6101a2bdc9dbc36902b5bd19686768154b011270157882f32dfef2a272be3cbf7e5d90ec1b6e374b4a4b806d83913e3df933e8caf5e02b1093b2a2991b34f98a41824a15b26a04a18f287024240d5347a2f3501546aac9c5b6e3f5010d9e2036c415d093892303050eaea499256eb83cba3ad4249537cbc250505024fe413965db1c41a77456711d50933249c63bd006716c4cc6ebf59c03c25a3ac3d06d7713c752f415f9ef59571885f38468c3f11bfd8111f839f080f544cb0c5ab9f87606287e314afe655510ceb8a62abcaef4e65e314f45b10e9858a175207356e9a8ac093f469ee587c18396f8965ce52e894b0bd29011b22f1e67abc16dcb948be141693fe31db635487285eeb4f8b4d5d13e511218759941850cd71fc898f8ba4cf1a4c23b3588dbf1e3e7c86efb113c8820e338a5d90d30c7d854a9ad7582d853d39cd3649cb67e3308c70bc75b732ae744aa126811034ff893829e554af51c83e1f004c3b7c9d0432978be459beaef6824b9cc5f370aa47b8d9edf583c3c84ef695705c95d59a428a675c5c788339ca737f2ec1cb6e83288b5bbfb6d1f81f47659f8f44118d76e900bdbc8094baa4bd950647abe22516a50bc85ea94410f985519076e34696b238262a00ebe889d58b09b81ee1f0b31f864a26978046ac24f1332559b6c5edc24748407e19f169c32d5d3f8ca6f71e4a5c2f72add2185857fde5749d5fd63f5b3658daa3dbaa1b0844fea3c8d2eb5e17febcfbfe44f4cf931129431ff51d6acce7e05107d6c055ad27beb185f7349ea060440a508b40186ec9732f84d21ae158969b671ac0d2ab823399220d75ec7cb50c29de3df974ae1e8c2465e3ecc207160c593443e424a57aaaee3c884632d979ccd0b6a239e1c3fdf777aa556a3c8815c2f8d1496a60048e2b971
1185     ab335f725475e33e90ab8c1e4891596d;
1186
1187   000102030405060708090a0b0c0d0e0f1011121314151617
1188     00000000000000000000000000000001
1189     ""
1190     ""
1191     ""
1192     b6e92be21127830a690f443f5ce8546d;
1193
1194   000102030405060708090a0b0c0d0e0f1011121314151617
1195     00000000000000000000000000000001
1196     ""
1197     000102
1198     c21ef1
1199     09474d786d4640e823f52ff63ec5359a;
1200
1201   000102030405060708090a0b0c0d0e0f1011121314151617
1202     00000000000000000000000000000001
1203     ""
1204     000102030405060708090a0b0c0d0e0f
1205     3a709f22daf4c1bcf09cf1c2a0f5beff
1206     98d49eb3468988d06d7cb32c438f1f23;
1207
1208   000102030405060708090a0b0c0d0e0f1011121314151617
1209     00000000000000000000000000000001
1210     ""
1211     000102030405060708090a0b0c0d0e0f10111213
1212     8e951e2a2fb4ede0397cec6ba5dad5b22137f07d
1213     305767a31bc9e344f7f79843d1a268b1;
1214
1215   000102030405060708090a0b0c0d0e0f1011121314151617
1216     00000000000000000000000000000001
1217     ""
1218     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1219     8e951e2a2fb4ede0397cec6ba5dad5b247ff19f214fd464e821c63c26e4a11e9
1220     63cea28204ef06e5a21a8780ea05050d;
1221
1222   000102030405060708090a0b0c0d0e0f1011121314151617
1223     00000000000000000000000000000001
1224     ""
1225     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021
1226     8e951e2a2fb4ede0397cec6ba5dad5b235e6b8a5dcb0bd0017bfe98111352d3edf3a
1227     dfec4b4ed2f95c305d59d79edbf62833;
1228
1229   000102030405060708090a0b0c0d0e0f1011121314151617
1230     00000000000000000000000000000001
1231     ""
1232     00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1233     1c97d826583970d083cca433773b02c34c0e6b7127d2258435bac13100c8672db6084c02171ba72b9937b1daccd14d0db1c322c708cc2da13486d772d82d93d12b69874a220573fc25fc05922700228c475ddeae653855a2c6d5f563f6e0724b7b2fe0fa066cba3223e010c5d1a51301a2ae1047409ae88c2779967283d50aa40ebb93e07dbde704f39c76c20cd1e1970bab196eacebab67b076bf901b4ed6f6ff066e230b540737d6856472ac02dce8b7a92aaa8890a47a13fc01bbce7ff902e3a7ede4685cd9bb926fecc27e915ad900f248d7ddd3cb9bff1b589196740c35ecf330e3812a6e0fcd2fd32212b0f0515629e7165cfe64857ec5ca2ad5c6eed654e27508a2c012b726e6931c4edc1fc00dd1d609f8659b24c0b4157f43fc33761d0a9b1fb1389068b600ce2f04cf475fb4483d32902b559cc40a589e97a82417241b92199595c6597dbd0e8dc08db9b6c0323a1d07812908be90c7785c66d1b295ab772793dc7e9725ef19da40b935c6ce10e404165388db6437621ffb08246f32b85a7ee9ca8bec10e3e973136c0b99552d8713bc6c892938ad72f79341f16eaaa7c8adfe45e2c627314c256bf0554dc1651ca77a80d79603cec892ffa58b092b5134c61d6dfba2a2132c75ce56db8cb1d852330a5c4a615645281457c2020391351f8dfa1297d45da234c0549991046d888b52175e1ed2ed3619474b5b270d6b5dcdd94e1a3f20594da51c8bd564e9694cb8b498eedd7a83569da5a209ba34e0fb29c43793097437fecc07e7709c8d64f15197b241ee930652872558c7ccb8c2a0e61e40637d1d587422d5f9f8f8eb25e44f7997058c051c4288356e5dd47e6022176f83c963eac7512cabc7fc8c408d448177e1b1671c82569a2318db142f8b94a60fe5b581c6895e03397a4d9b6f117fb534ad644ef7fafab3fe34c36b5d1544df4567fa94ba7a501ed20032d567bfea10f943170e5bf9b1aac21c0e25ae5f9b98272c75a401ba0185e46ff0c9b29caeb2314a507e2664df2208beb8a5c78563f68b49c3b59b650d18eb75a22296d06943b99239521c59736a10404d458e80ed9288879545c1f9b997036b9eb76c5d75afcd494736971dd27c3f0cbdc15e8cf8337c63417f861a15c324b44fc8b3e4ef6a1924f470aefd0abb6a965451d13835e8a8d9ef94add1d2a41f42c6ebc55045d7a1c6bb0ea3af9560220180fa7b623cc2c44d5cace341746e80289e0b7321178d770e2043a5b02560328c1a01ec4ab64ff98de111c5be5516657cff2f88d3a02643a587903f28a7f9d76cceca8a03671eeecdb2aa81e59de1171e5aaae08415533ceee30aa3ec4fbd551990c074d05c390dfbb1e5d1318e869be9e8417d49ccdaf801ebd42b0309718c36deb2965311710b6d26494a
1234     d28b89f5339444767d637e8f1687d204;
1235
1236   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1237     00000000000000000000000000000001
1238     ""
1239     ""
1240     ""
1241     796b5fd2716b066932371c17993dcb5a;
1242
1243   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1244     00000000000000000000000000000001
1245     ""
1246     000102
1247     a214d8
1248     e31b3449bd1b85b257b404a76b5b86f2;
1249
1250   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1251     00000000000000000000000000000001
1252     ""
1253     000102030405060708090a0b0c0d0e0f
1254     8ed0923f5b2c650f31a5dd422463377f
1255     794904f519ab5376a30cf7771548e319;
1256
1257   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1258     00000000000000000000000000000001
1259     ""
1260     000102030405060708090a0b0c0d0e0f10111213
1261     6512529248df82feb506a7aeab3874f7201b6f79
1262     042ac0fd6956c2b0b4205dba0b889699;
1263
1264   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1265     00000000000000000000000000000001
1266     ""
1267     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1268     6512529248df82feb506a7aeab3874f7742c85da9d0d6cc91293ce0b333e0343
1269     6a91a07cb0bf508fee08b27b5fd9f80d;
1270
1271   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1272     00000000000000000000000000000001
1273     ""
1274     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021
1275     6512529248df82feb506a7aeab3874f7ae809e2f4f88d6a6088f8d0122a7b9e723a5
1276     3ba0661c8a716b550150c9effe3b773c;
1277
1278   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1279     00000000000000000000000000000001
1280     ""
1281     00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1282     1464d49f9ead864d5e77ed99198302409e459f2af179c73d2f0d0855d51591cbd9555d9a8542014e2b995e5399c1f804addaff1a2c4b5afe07fd88b7095d1129cbf93f9dad20c625fab0e63788ec4634f0ae06b6fc5c56bfe1b05860e03dc3284d7e2b3190eacee799f523677f942dee5192cfc6b5dddf09a16e2ae13055e9d1ee1d159b7fcea386133de34b92743caddef8c457884a7c5034a53ee23e08aa90086824401c25646561af0d594114b1ccb6627bff630fb17a6021b4f54942ed06f06326e54408019caba8f7231200d30dc548f8ec2c80e06b13d8ebe462c1cdf1c54065afabdb97ac8d8e5a1d065c59795fb55336f01e35a6f7cf8ddbf944e31a24717977c2f9f89aba3ca1ab7559a4f732d301b678ac63c9d5388665b1f9bc56bd67b80fe21f0d6ce4973c078213456b23700725174037fe8426503b0170ce5adda0dedc80f1e5d6701384951bbed58e6ec5912cd20429c5d85c61484136caa00c5f92763414e9f1bb50efc59c834142e5fbbab07f624f28fdee284c2b7322cf3e0682731f764a049fedf2ee8486e60bbd11de998f1dfde848999c806ef779bab0468b674d395883400cc6c05cdf5b51c5fbb181690502914edc42cd4752d9c5fb524adb37149c3199f2329ecaa92006047761f01581eafb96003491fef9ccdbf637c972842645b052ece338e02b6417e25f4f93aa808ec44d8b6efdd774ebac19a1756014a9bb71da38e7743d1617e44bae076f3183c7e50f5c0fd5488cb325edd500ad5e794c469b83a4655c95289dc520797f94cd04e834b1842f769236522cf79ae63ad4664b4745316142bc74ab27be915194eff2a2a1d740c83bffe28b8fe6cd1382ca8de806365275ed05baca90484b03ee87624f072905b69587c05be58aefd4e367257aa95ce3a6d0f65a5e7221c8f729727e3bd66f3d9e33f0d7b8f03ad31e62c837599e062a4c8681ec3276c31d58f2f3f2dd018b3c579fe50d7f911f8665bc064a08ae8ff6d87440e088b2162733ea6066ac70309600819f3f429232bb26376303fc82cd198dfc92382cfb3c8bc245984b845c51e6b5da8a9669e1d961f7182d0bb9757a99c0d72d4c037df2ca29661faf0db89fdce75bfb67031522096ce88f1ca6740f3dbbfd65fdf674a547d82d331abaaf1c5f0742a25c6f5ee0cfe288fb93e76d2fab4fde4904c2967303fcf2adb8bbd333b33728aca04b60dabdd08e0acafaffa97b02cb011db94687afa7bed3157d3a90814eb00e55b39cabfe9ef35bae62c80ad225cc34a0d7cce13c55ac107d00d7b37562222ac5d94cb73ff20d8947fb8ec63735280c0ce31aaca8fee02666f7a6fb2b44f1ebe0f090050f1036877ddb6705b1b622dbd1742f8ed2d985a5aeab4cd2a0e68d1ec3c6c1fec66446150d44
1283     826d7f68f3ce28e1e98191e92b23ab0a;
1284
1285   ## Homemade tests made with my toy implementation.
1286   60d7bcda163547d348b7551195e77022
1287     907dd1dff7dac5c9941d26d0c6eb14ad
1288     ""
1289     ""
1290     ""
1291     bbdd78ab7b6ed33bfbaf8438bf9df7ee;
1292   568f86edd1dc9268eeee533285a6ed81
1293     0c9b689daaa9060d2d4b6003062365b0
1294     a5
1295     ""
1296     ""
1297     f7922af46325a139e69abfbb9b999c4f;
1298   4364c76c160f11896c4794846ecfa14a
1299     7130c9f137120634c9519848a877ff77
1300     ""
1301     bf
1302     98
1303     8c5a791452eb9c1f37d7ab1bf637c432;
1304   79192a5b50ade5d9cd739a3d1f337f29
1305     549e6b0d27a4ba234085406a61365120
1306     ""
1307     61f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21635c6d62c9269029df3e6057acc87638f508046733d9
1308     bed87d0e2b6ab736c20081f2041691cdcaedfff9cdb08f5ff2b443fbb4990690a9bb03b8b801d3562f037c61c6d40929
1309     bd5b4d2c9aeae8e9dd6baf02c53cc96d;
1310   ff61cdbda3b3e9878731ebfedd4705e5
1311     05da1435dceaa7b1cc49ae1d50c38201
1312     a894476b3f102b752eb9529533966f27043eb621b7f65b000961040ef2f9b2fc5fa450727a9b542cde52ebfda19d0ccc
1313     520f215eb57bb3a4f3ebbbb18ac6c95a97a48030370c33d090c54215abd6b3ad54efc9a38378c5b93bf4f2aad2605fae
1314     b6cbe859f09a407e4a0e376a41b18a84eb07874e1b280fa3cdffa733c207c4b67ace2b90a406b1df6a2389593134796d
1315     f370bf6c86cae4c4248040d74c191392;
1316   e2b03fb648e27fff63102758fe2b69ac
1317     26afa3349829b94586306fed54154f8f
1318     ""
1319     28523c03d4de1600157846b710ee72807a2219bfb474fd71d891f24bb65d1563259f9eb53b571ea629c54d57dd2d42f70800df9fcb
1320     2ca95a4a033cd358788f8ffd43bbf820dc0982dfee8583eead310d571cb87e4472331362ff6820abf76cab3b4f405b41ad167f864d
1321     e20d6b13e4691b43b82d5e16f77366b9;
1322   aca48b77dba189196d1ebba10b0467cb
1323     9fc2712a199e533fa9156308cdec3f76
1324     8281e040a9b9a222bd689aef66f5306ceb0c6b08ac8b0a22260c571b4a42bb8fdb233bfa6a5cfb0bad7d95
1325     214ade49cb3b6f5fe8368131115c037ba323fe1dc8151784873f0eb5b647da6794c18b5337685a96ed65b9aca338527ef19b09c063
1326     8c3ebaaf931dd282e77df4bf8c242a81593282df72cf91df24dc0bd8f6559f404058b9885529821083839944713def901330eebe75
1327     2d965094a4c93d801be22ba3faa198d9;
1328   c46f88de9fd41e72d7b97e23e6eabdff3bcd2114
1329     99268878dbf30f1dad89d4b9b12012e4
1330     ""
1331     ""
1332     ""
1333     8d524a5f17704ae5983de23c8c09fe82;
1334   713df46795630e7952d22bb02d7100b8b649377d
1335     20a8f083455b663e4ee1315f3c8f2aeb
1336     fa
1337     ""
1338     ""
1339     9ea050885c272134d9056a4a94dba2dc;
1340   921451dcd1af5813b70d30ce2f1fef6ef315d079
1341     8391805da08da3aefc5f8584b7c5e617
1342     ""
1343     66
1344     93
1345     813637682fa8878156badce86a0243fa;
1346   9c0f16e39815d4e9cfce3ed1ecdf3d264a7f16cb
1347     16c2e815f422cdf0c8e30308be3c31e6
1348     ""
1349     bc58c0b7cadcb658b970e47479a684b5aefa69a4cd52147ed12ca986981a874498ad0abef8bc4fcb70e27e98ef1f0446
1350     dd538bb0839a0a7925c5a2aaf2cac28de820d307023f2ab4f2ffa04cef224b155ab948ad399e65a9ea8477aea35f29e2
1351     e00806f1d623829ca51eeda7493528e9;
1352   b42fb144d44b6d00f06dc188d472a784e0c6f211
1353     95a3b9f4ae985511265febd11c164720
1354     eef9eb1c8dd0b00951f284649016ed00456331854bc78bf43966eb0cfa9138ddc39908445608fe95e81c2533e31c9c1a
1355     9851bc2810d858cbbc8424d126b807e6daa089c3f9099c5ffb824173d7634c04226f30cbb7f0e4a973a8cd1901073147
1356     4a2e9698c0d7ac74177739a07570f0f6afd2e3f3b6e9badbdbd95fdfc747dbbc7c1c8bceb40e423e1b2fa560ed2da50d
1357     f13efea41ebf09ce14655687cb20a908;
1358   17a77456f3ff669c732b58db8f48af65f7cc9e3f
1359     b90e1721b730374ffc9bc597f56ccbb2
1360     ""
1361     f294b38766fc69f6a9f2c0945ffd505003cc0cae9ce021a5f1fa4ffa91544485f1a1258b2b9b8f0911e32d65cc1770a18cbfe6effd
1362     672edb9395d87cc48fab9727017091e7a6d09f7977fbbfe77f9669485aaeca7a4d54662565aae03033ae925528e9880d33766cafcf
1363     a8ff24657308e7d34115b33ff27ff795;
1364   1ff6778554acf1270485b203a3c1c4c967c0a458
1365     cb948bdd409b687fa3a6827b480aa3a4
1366     c84cef64f6c9b53bf8f957f4b03cf43e89957f9a3e8128f8743d16687b7bb8deb9bd205b70e04c091d205c
1367     dad9e9a79b1abf91b0851e5ca605ac8451399587011677508a15dde524af3e2bee0646541a42c2ecccb44d65bad397abfaf529ee41
1368     367a16e4adbc471e15eed3d0415714c61a67e93f44b5890d17f9d29991bae8406d317e7064c765278d7370f6534462f6eb2db66b23
1369     79a7bbc9be788ebb4b94fe94f3f74439;
1370   cf9a05c7efedef3401539c51d2a90bbf7f1bfc338ab0ef5746ea8fdc
1371     ccd213e33f7e8a5718fd25014107c8e7
1372     ""
1373     ""
1374     ""
1375     12f235dbf2dc24a51ec9211ba16494bd;
1376   d715a92add9589d1f5c054b2d983514605ec590294a319b9802068a9
1377     f891bc5ba5afabf8c3122d12d7ff3c41
1378     12
1379     ""
1380     ""
1381     eb5d7e61788af1e2d62a0023cbee8ce8;
1382   2d70d17d4569eaff59a332ba58d5d5589bfe079753ee1a957eb6d669
1383     9e6b7ea2725cb2dac07ecde95759ac46
1384     ""
1385     fe
1386     65
1387     80cbf647b155069f455e35ce699db1b6;
1388   e6dda7abc8ad68daac90cfe22d2f1f2968cc42fa8b669ed3bb3542a9
1389     cf44bbc8c6254d980398bd94e66eb456
1390     ""
1391     3d405e51881e99027b8ab9aea3ccf860b0009740763d96836c5f87b95460938de1288c69d80ea12ff4bb5f069b8a2e86
1392     5b2913b5bd5d4155174de957631d366c398a890cdcdef62c8a7882229522d3b944a1b0cc2d958910469f001ff60f4d05
1393     fd4cff3dc0c58f0743b0bd9bc4e7b346;
1394   041c1b9fc214e9ca2186ddf1f6a7a3aa7e740da967828e3604b35b15
1395     ffaa6c36800d9645563a308ba6007681
1396     7523bd2abf1261b089d8f23a9c2835076a23faac2cdd67771cc667a8331f0a170b66283e4f834a06148f302c3973accd
1397     56f6f24e33958b8c2e2352fd61e4fa8fec816ac861a8b33779f09e7a10fc02a8f48afa3080ee119a52a9a817e4f2b94b
1398     79b025b6d15120b9cc79ceb62cfe0479248b47f4b6318deeffe7ff11688460479331326370bac61dbec32ba5571d65d8
1399     ce1ea3a0bfda4a072c98376f259ed0d3;
1400   0820cab383a8cffeea7c486315799dc875fba578c8ec4837898a9214
1401     2b5b0677da1ac273117b45bcfff5d5f8
1402     ""
1403     b6fde2893232a9f81d14517ffae475f6b94a43a67b3d380d2f9aaafe2dd721c0095c8808847689211450ba8095ffab1eaadf66fd22
1404     42075fba1b912e07c6f10e6356f6ccc84c60f34ea054dec4e4cdc39eb8f5066218b61d9cd799d28281e84d2d5f0138c944f1074b2a
1405     2889c19baf58c2061aa386bb60bf5c94;
1406   ac1976063e113ab61f813e28a1397a7974a1d7f4220c785fe426a5a0
1407     e80f678d404147842941feeffdc2eb44
1408     dc8c0d5e8f444f7f4e0c893959b74dc23a7bb40e7e0013e5150686d2301b43a15a84e81d7f5cedaa49e241
1409     4ebf47970e560475cff206877de69146acc3ab6cf8556b7aa776945948d1b8834df2196c92ec1718dcdeee0d52d9539726d2810391
1410     b270a45c7bb349e1dfbc9226da556d1916cb8eee0acc23671a875ba1bab176be7067e6ac38c492bef6c908881eed86e3fa34ba13bf
1411     dd48047480fa2218d080933718dfa7dc;
1412   b3f9d10c39b07ae8f08ce7ce
1413     e4758a386a9943e97dedfbe61e737882
1414     ""
1415     ""
1416     ""
1417     aec3dd3d7d4d41c121f6da813bc52c6f;
1418   cd09c2b9a80f34c0fde11c24
1419     81b11fc76bfa4dbf710a9e544e0c536c
1420     a1
1421     ""
1422     ""
1423     1fb81cfb59ee9a075fc17a01fb0acb9e;
1424   e040f9ad5b04140d98edabe0
1425     8485290a4d87d13b07398a1458c2c6b6
1426     ""
1427     1d
1428     cc
1429     2efc465c99ba1057c7dce6bf82f04a7d;
1430   bdbc1cccada8c1a0a9aabb6c
1431     4e3c3554f8fb1ef61614c270295dfc0c
1432     ""
1433     a6551ca4bdb75359f91cb9d921056b7de74fc9a9b37154ce6c0b396179d31f06a1dd5982cbc0d7cb23841da1ae8f4ae4
1434     c5b165d12e4f62edf355fad299ca25ee317c7c65deea43e27c93f43f66d87364b7dc60d20d5bcfde11e982c9275b2ebc
1435     5536fc1ce20b189e094233fed7a3da05;
1436   80cda98ad6cf2bacf6f9fd3f
1437     821330c43f3df6c2b3fac7cbcf96523d
1438     4723f91801325eb8553236651c96788d73d192ee53b3f3ebd66ddd98cedbe88e245de25b1593b70f8601562d90a9b59e
1439     d034a867642d25d54756fa5c47f16f64b837bb4926214211a1c696ba172010abb433922a22d9fd881519165eb9d85197
1440     03cf2190ef314c60a1b51ab9c6d6cf1613779e05cb1f6dd1b54b16f1cebf6b964ee6f21a606b72e5751723d5ad6e284b
1441     7eb35f7458437efd2a95c97817396485;
1442   a21cc34ac0d5ae7be8dbf98e
1443     4ffed2cf6b1372a5aa47b54fd9d70c70
1444     ""
1445     e117bf1cae71b3a56f0e7d839ea59cc783443d64f2ed6a29b96856beca34fd6544bcf86b799e2a1681160ccf055f0fd3001da597a1
1446     8a8f9e2516855b74721de0ee915f1759ae9aa036c52d9cbe43111de9015eb6bd353bef5bb4df325f466d8e2bd09303f912bc0576be
1447     c67bc656ea1b155208501e080120205b;
1448   406d465b7b1419ea51cf858f
1449     938f6daafbd656445a09898eaa96ffc3
1450     d1d2e31e4e34c94b8bfae64825ecd75a66d88eedb969ffe07669845ebb7a24c69f13d099f47166edf54538
1451     e88fbf433a7ff212085179e79771f6eee7283ab178ef2b800d7b969da05780ffc1ba78c70dda7a4ca2a25e771702fb1901ecfc8a95
1452     15d8d8bfdd4b5fbe0885d060fc15bb2763c2d4aad2d18df548ed258db51d9cfd866b4e7798650061e447291f45ebe5da37635d468d
1453     329d67984dc92e926bf2c0698fba9e2b;
1454 }
1455
1456 rijndael-pmac1 {
1457   ## Rogaway's tests, from http://web.cs.ucdavis.edu/~rogaway/ocb/pmac-test.htm
1458   000102030405060708090a0b0c0d0e0f
1459     ""
1460     4399572cd6ea5341b8d35876a7098af7;
1461   000102030405060708090a0b0c0d0e0f
1462     000102
1463     256ba5193c1b991b4df0c51f388a9e27;
1464   000102030405060708090a0b0c0d0e0f
1465     000102030405060708090a0b0c0d0e0f
1466     ebbd822fa458daf6dfdad7c27da76338;
1467   000102030405060708090a0b0c0d0e0f
1468     000102030405060708090a0b0c0d0e0f10111213
1469     0412ca150bbf79058d8c75a58c993f55;
1470   000102030405060708090a0b0c0d0e0f
1471    000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1472     e97ac04e9e5e3399ce5355cd7407bc75;
1473   000102030405060708090a0b0c0d0e0f
1474     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021
1475     5cba7d5eb24f7c86ccc54604e53d5512;
1476   000102030405060708090a0b0c0d0e0f
1477     00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1478     c2c9fa1d9985f6f0d2aff915a0e8d910;
1479   000102030405060708090a0b0c0d0e0f1011121314151617
1480     ""
1481     0d63b2b2c276de9306b2f37e36dabe49;
1482   000102030405060708090a0b0c0d0e0f1011121314151617
1483     000102
1484     5b1cbc4340752742d8828a7aa2c3197d;
1485   000102030405060708090a0b0c0d0e0f1011121314151617
1486     000102030405060708090a0b0c0d0e0f
1487     0787415737989bc1a2e124c991e400e1;
1488   000102030405060708090a0b0c0d0e0f1011121314151617
1489     000102030405060708090a0b0c0d0e0f10111213
1490     156a7c21121cc773a731e05ab618c6bb;
1491   000102030405060708090a0b0c0d0e0f1011121314151617
1492     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1493     654a145904dc97da9f68318b180970b9;
1494   000102030405060708090a0b0c0d0e0f1011121314151617
1495     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021
1496     b5ff2016878e834438aa1ff624bfa09c;
1497   000102030405060708090a0b0c0d0e0f1011121314151617
1498     00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1499     d3aec29036298bc11a2905f53773ff50;
1500   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1501     ""
1502     e620f52fe75bbe87ab758c0624943d8b;
1503   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1504     000102
1505     ffe124cc152cfb2bf1ef5409333c1c9a;
1506   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1507     000102030405060708090a0b0c0d0e0f
1508     853fdbf3f91dcd36380d698a64770bab;
1509   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1510     000102030405060708090a0b0c0d0e0f10111213
1511     7711395fbe9dec19861aeb96e052cd1b;
1512   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1513     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1514     08fa25c28678c84d383130653e77f4c0;
1515   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1516     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021
1517     edd8a05f4b66761f9eee4feb4ed0c3a1;
1518   000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1519     00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
1520     69aa77f231eb0cdff960f5561d29a96e;
1521
1522   ## Homemade tests made with my toy implementation.
1523   60d7bcda163547d348b7551195e77022
1524     ""
1525     f179b2c8e7020f9992e161128568d833;
1526   907dd1dff7dac5c9941d26d0c6eb14ad
1527     56
1528     335ab1737aaadac9f7d949ab7dc22fb5;
1529   8f86edd1dc9268eeee533285a6ed810c
1530     9b689daaa9060d2d4b6003062365b0a54364c76c160f11896c4794846ecfa14a7130c9f137120634c9519848a877ff77
1531     bb8edccea3819962f3207d2494d63229;
1532   bf79192a5b50ade5d9cd739a3d1f337f
1533     29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21
1534     2ecd8200722cfe2378e956131b67d64e;
1535   635c6d62c9269029df3e6057acc87638f5080467
1536     ""
1537     5defdf6083418cf3d45824aa490a4d81;
1538   33d9ff61cdbda3b3e9878731ebfedd4705e505da
1539     14
1540     6c60b9db748a6bdda7823422ed13e4cb;
1541   35dceaa7b1cc49ae1d50c38201a894476b3f102b
1542     752eb9529533966f27043eb621b7f65b000961040ef2f9b2fc5fa450727a9b542cde52ebfda19d0ccc520f215eb57bb3
1543     c20cac43be40631325f8d7c9e65991ad;
1544   a4f3ebbbb18ac6c95a97a48030370c33d090c542
1545     15abd6b3ad54efc9a38378c5b93bf4f2aad2605faee2b03fb648e27fff63102758fe2b69ac26afa3349829
1546     3c963d5d3230ef4dc33ebd19f63965d9;
1547   b94586306fed54154f8f28523c03d4de1600157846b710ee72807a22
1548     ""
1549     050092b5cc9a2d131ea4450c057bbf3d;
1550   19bfb474fd71d891f24bb65d1563259f9eb53b571ea629c54d57dd2d
1551     42
1552     16501f8ba884f8ace15138cefd2639a7;
1553   f70800df9fcbaca48b77dba189196d1ebba10b0467cb9fc2712a199e
1554     533fa9156308cdec3f768281e040a9b9a222bd689aef66f5306ceb0c6b08ac8b0a22260c571b4a42bb8fdb233bfa6a5c
1555     9738377d0ead6012bac60ae10ac4e5f7;
1556   fb0bad7d95214ade49cb3b6f5fe8368131115c037ba323fe1dc81517
1557     84873f0eb5b647da6794c18b5337685a96ed65b9aca338527ef19b09c063c46f88de9fd41e72d7b97e23e6
1558     709f56ce90034a8882bebbfe453452c7;
1559   eabdff3bcd211499268878db
1560     ""
1561     697879320c2ee020acf13693df75c31d;
1562   f30f1dad89d4b9b12012e471
1563     3d
1564     453c840a1c34bfeff73a653ad97150b4;
1565   f46795630e7952d22bb02d71
1566     00b8b649377d20a8f083455b663e4ee1315f3c8f2aebfa921451dcd1af5813b70d30ce2f1fef6ef315d0798391805da0
1567     aef316f092694e691d9fba0324d8397a;
1568   8da3aefc5f8584b7c5e61766
1569     9c0f16e39815d4e9cfce3ed1ecdf3d264a7f16cb16c2e815f422cdf0c8e30308be3c31e6bc58c0b7cadcb6
1570     0638371148ba4e00b0cf138e026a7740;
1571 }
1572
1573 rijndael-ocb2 {
1574   ## Taken from https://tools.ietf.org/html/draft-krovetz-ocb-00.
1575
1576   000102030405060708090a0b0c0d0e0f
1577     000102030405060708090a0b0c0d0e0f
1578     ""
1579     ""
1580     ""
1581     bf3108130773ad5ec70ec69e7875a7b0;
1582   000102030405060708090a0b0c0d0e0f
1583     000102030405060708090a0b0c0d0e0f
1584     ""
1585     0001020304050607
1586     c636b3a868f429bb
1587     a45f5fdea5c088d1d7c8be37cabc8c5c;
1588   000102030405060708090a0b0c0d0e0f
1589     000102030405060708090a0b0c0d0e0f
1590     ""
1591     000102030405060708090a0b0c0d0e0f
1592     52e48f5d19fe2d9869f0c4a4b3d2be57
1593     f7ee49ae7aa5b5e6645db6b3966136f9;
1594   000102030405060708090a0b0c0d0e0f
1595     000102030405060708090a0b0c0d0e0f
1596     ""
1597     000102030405060708090a0b0c0d0e0f1011121314151617
1598     f75d6bc8b4dc8d66b836a2b08b32a636cc579e145d323beb
1599     a1a50f822819d6e0a216784ac24ac84c;
1600   000102030405060708090a0b0c0d0e0f
1601     000102030405060708090a0b0c0d0e0f
1602     ""
1603     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1604     f75d6bc8b4dc8d66b836a2b08b32a636cec3c555037571709da25e1bb0421a27
1605     09ca6c73f0b5c6c5fd587122d75f2aa3;
1606   000102030405060708090a0b0c0d0e0f
1607     000102030405060708090a0b0c0d0e0f
1608     ""
1609     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627
1610     f75d6bc8b4dc8d66b836a2b08b32a6369f1cd3c5228d79fd6c267f5f6aa7b231c7dfb9d59951ae9c
1611     9db0cdf880f73e3e10d4eb3217766688;
1612   000102030405060708090a0b0c0d0e0f
1613     000102030405060708090a0b0c0d0e0f
1614     0001020304050607
1615     0001020304050607
1616     c636b3a868f429bb
1617     8d059589ec3b6ac00ca31624bc3af2c6;
1618   000102030405060708090a0b0c0d0e0f
1619     000102030405060708090a0b0c0d0e0f
1620     000102030405060708090a0b0c0d0e0f
1621     52e48f5d19fe2d9869f0c4a4b3d2be57
1622     4da4391bcac39d278c7a3f1fd39041e6;
1623   000102030405060708090a0b0c0d0e0f
1624     000102030405060708090a0b0c0d0e0f
1625     000102030405060708090a0b0c0d0e0f1011121314151617
1626     000102030405060708090a0b0c0d0e0f1011121314151617
1627     f75d6bc8b4dc8d66b836a2b08b32a636cc579e145d323beb
1628     24b9ac3b9574d2202678e439d150f633;
1629   000102030405060708090a0b0c0d0e0f
1630     000102030405060708090a0b0c0d0e0f
1631     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1632     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1633     f75d6bc8b4dc8d66b836a2b08b32a636cec3c555037571709da25e1bb0421a27
1634     41a977c91d66f62c1e1fc30bc93823ca;
1635   000102030405060708090a0b0c0d0e0f
1636     000102030405060708090a0b0c0d0e0f
1637     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627
1638     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627
1639     f75d6bc8b4dc8d66b836a2b08b32a6369f1cd3c5228d79fd6c267f5f6aa7b231c7dfb9d59951ae9c
1640     65a92715a028acd4ae6aff4bfaa0d396;
1641 }
1642
1643 rijndael-ocb3 {
1644   ## Taken from RFC7253.
1645
1646   000102030405060708090a0b0c0d0e0f
1647     bbaa99887766554433221100
1648     ""
1649     ""
1650     ""
1651     785407bfffc8ad9edcc5520ac9111ee6;
1652   000102030405060708090a0b0c0d0e0f
1653     bbaa99887766554433221101
1654     0001020304050607
1655     0001020304050607
1656     6820b3657b6f615a
1657     5725bda0d3b4eb3a257c9af1f8f03009;
1658   000102030405060708090a0b0c0d0e0f
1659     bbaa99887766554433221102
1660     0001020304050607
1661     ""
1662     ""
1663     81017f8203f081277152fade694a0a00;
1664   000102030405060708090a0b0c0d0e0f
1665     bbaa99887766554433221103
1666     ""
1667     0001020304050607
1668     45dd69f8f5aae724
1669     14054cd1f35d82760b2cd00d2f99bfa9;
1670   000102030405060708090a0b0c0d0e0f
1671     bbaa99887766554433221104
1672     000102030405060708090a0b0c0d0e0f
1673     000102030405060708090a0b0c0d0e0f
1674     571d535b60b277188be5147170a9a22c
1675     3ad7a4ff3835b8c5701c1ccec8fc3358;
1676   000102030405060708090a0b0c0d0e0f
1677     bbaa99887766554433221105
1678     000102030405060708090a0b0c0d0e0f
1679     ""
1680     ""
1681     8cf761b6902ef764462ad86498ca6b97;
1682   000102030405060708090a0b0c0d0e0f
1683     bbaa99887766554433221106
1684     ""
1685     000102030405060708090a0b0c0d0e0f
1686     5ce88ec2e0692706a915c00aeb8b2396
1687     f40e1c743f52436bdf06d8fa1eca343d;
1688   000102030405060708090a0b0c0d0e0f
1689     bbaa99887766554433221107
1690     000102030405060708090a0b0c0d0e0f1011121314151617
1691     000102030405060708090a0b0c0d0e0f1011121314151617
1692     1ca2207308c87c010756104d8840ce1952f09673a448a122
1693     c92c62241051f57356d7f3c90bb0e07f;
1694   000102030405060708090a0b0c0d0e0f
1695     bbaa99887766554433221108
1696     000102030405060708090a0b0c0d0e0f1011121314151617
1697     ""
1698     ""
1699     6dc225a071fc1b9f7c69f93b0f1e10de;
1700   000102030405060708090a0b0c0d0e0f
1701     bbaa99887766554433221109
1702     ""
1703     000102030405060708090a0b0c0d0e0f1011121314151617
1704     221bd0de7fa6fe993eccd769460a0af2d6cded0c395b1c3c
1705     e725f32494b9f914d85c0b1eb38357ff;
1706   000102030405060708090a0b0c0d0e0f
1707     bbaa9988776655443322110a
1708     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1709     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1710     bd6f6c496201c69296c11efd138a467abd3c707924b964deaffc40319af5a485
1711     40fbba186c5553c68ad9f592a79a4240;
1712   000102030405060708090a0b0c0d0e0f
1713     bbaa9988776655443322110b
1714     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1715     ""
1716     ""
1717     fe80690bee8a485d11f32965bc9d2a32;
1718   000102030405060708090a0b0c0d0e0f
1719     bbaa9988776655443322110c
1720     ""
1721     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
1722     2942bfc773bda23cabc6acfd9bfd5835bd300f0973792ef46040c53f1432bcdf
1723     b5e1dde3bc18a5f840b52e653444d5df;
1724   000102030405060708090a0b0c0d0e0f
1725     bbaa9988776655443322110d
1726     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627
1727     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627
1728     d5ca91748410c1751ff8a2f618255b68a0a12e093ff454606e59f9c1d0ddc54b65e8628e568bad7a
1729     ed07ba06a4a69483a7035490c5769e60;
1730   000102030405060708090a0b0c0d0e0f
1731     bbaa9988776655443322110e
1732     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627
1733     ""
1734     ""
1735     c5cd9d1850c141e358649994ee701b68;
1736   000102030405060708090a0b0c0d0e0f
1737     bbaa9988776655443322110f
1738     ""
1739     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627
1740     4412923493c57d5de0d700f753cce0d1d2d95060122e9f15a5ddbfc5787e50b5cc55ee507bcb084e
1741     479ad363ac366b95a98ca5f3000b1479;
1742
1743   0f0e0d0c0b0a09080706050403020100
1744     bbaa9988776655443322110d
1745     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627
1746     000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627
1747     1792a4e31e0755fb03e31b22116e6c2ddf9efd6e33d536f1a0124b0a55bae884ed93481529c76b6a
1748     d0c515f4d1cdd4fdac4f02aa;
1749
1750   ## More tests, made with the toy Python implementation.
1751   60d7bcda163547d348b7551195e77022
1752     907dd1dff7dac5c9941d26d0c6eb
1753     ""
1754     ""
1755     ""
1756     7d2702e740fddada3e57a788402f9d44;
1757   14ad568f86edd1dc9268eeee533285a6
1758     ed810c9b689daaa9060d2d4b6003
1759     06
1760     ""
1761     ""
1762     c129582b8bd54dd2e80592f467112495;
1763   2365b0a54364c76c160f11896c479484
1764     6ecfa14a7130c9f137120634c951
1765     ""
1766     98
1767     8e
1768     27a9a3f75d1f36a156c714d820d0b3ed;
1769   48a877ff77bf79192a5b50ade5d9cd73
1770     9a3d1f337f29549e6b0d27
1771     ""
1772     a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21635c6d62c9269029df3e60
1773     fb544221d7bde1ec31564a9580440c902d76a7df1eff12955d17995e9bfe2336d4c2eeb42a6656dd37200ce5ff9cabfe
1774     0f9ff860aba97bfab2845af16558883f;
1775   57acc87638f508046733d9ff61cdbda3
1776     b3e9878731ebfedd4705e505da
1777     1435dceaa7b1cc49ae1d50c38201a894476b3f102b752eb9529533966f27043eb621b7f65b000961040ef2f9b2fc5fa4
1778     50727a9b542cde52ebfda19d0ccc520f215eb57bb3a4f3ebbbb18ac6c95a97a48030370c33d090c54215abd6b3ad54ef
1779     08584d252daf79311ca8d694e33e04711f723c890a222e7ce75ff2842e87e39d714934e8c6dc3640ffc5cdad1634063c
1780     679f104fe67c507aec33a0e15b589bc2;
1781   c9a38378c5b93bf4f2aad2605faee2b0
1782     3fb648e27fff63102758fe2b69ac
1783     ""
1784     26afa3349829b94586306fed54154f8f28523c03d4de1600157846b710ee72807a2219bfb474fd71d891f24bb65d1563259f9eb53b
1785     63c2bf2254c696b288b0f41fb5b44bdf45914dce25d0071438069dbff337bc844506e5a47a28c700500280c08c54a5e4b43118ce36
1786     b9fde958caee8ea9cdbe8425ddb382ad;
1787   571ea629c54d57dd2d42f70800df9fcb
1788     aca48b77dba189196d1ebba10b04
1789     67cb9fc2712a199e533fa9156308cdec3f768281e040a9b9a222bd689aef66f5306ceb0c6b08ac8b0a2226
1790     0c571b4a42bb8fdb233bfa6a5cfb0bad7d95214ade49cb3b6f5fe8368131115c037ba323fe1dc8151784873f0eb5b647da6794c18b
1791     a459d6659d827b523dabbc0a66cf8c151764b24a59199a6d8e4a161ace110c683dee759f823be08f0538fce282d036d2c7653ecb91
1792     63bec719103775440457715faa831368;
1793   5337685a96ed65b9aca338527ef19b09c063c46f
1794     88de9fd41e72d7b97e23e6eabdff
1795     ""
1796     ""
1797     ""
1798     cc2b3f40254925c2e221259c3b6e8df2;
1799   3bcd211499268878dbf30f1dad89d4b9b12012e4
1800     713df46795630e7952d22bb02d71
1801     00
1802     ""
1803     ""
1804     272e89e7297e08da41d775d62b336e80;
1805   b8b649377d20a8f083455b663e4ee1315f3c8f2a
1806     ebfa921451dcd1af5813b70d30ce
1807     ""
1808     2f
1809     cd
1810     3c1a46e21f59810999d3ef51f0460322;
1811   1fef6ef315d0798391805da08da3aefc5f8584b7
1812     c5e617669c0f16e39815d4
1813     ""
1814     e9cfce3ed1ecdf3d264a7f16cb16c2e815f422cdf0c8e30308be3c31e6bc58c0b7cadcb658b970e47479a684b5aefa69
1815     b75d269e9b2a080fd4d34bf0f8e7007e289b3f84ae1b8b6635fe27c5121605f12ab038a2fdfe7e29128beb944fe01b4f
1816     0e98f9a81eb34cde7f67bf40e05b6058;
1817   a4cd52147ed12ca986981a874498ad0abef8bc4f
1818     cb70e27e98ef1f0446b42fb144
1819     d44b6d00f06dc188d472a784e0c6f21195a3b9f4ae985511265febd11c164720eef9eb1c8dd0b00951f284649016ed00
1820     456331854bc78bf43966eb0cfa9138ddc39908445608fe95e81c2533e31c9c1a9851bc2810d858cbbc8424d126b807e6
1821     a4b540f15bcf54450c71860ffb180accc2b9218e4780a80b11cda67f1c38c8a9a8b0c5d42b243c5007b1832868dc1212
1822     9fdcf861176e933b53461b27aa00e837;
1823   daa089c3f9099c5ffb824173d7634c04226f30cb
1824     b7f0e4a973a8cd190107314717a7
1825     ""
1826     7456f3ff669c732b58db8f48af65f7cc9e3fb90e1721b730374ffc9bc597f56ccbb2f294b38766fc69f6a9f2c0945ffd505003cc0c
1827     9897c9d1b74b1f19e984b37cfb2823670e662d5b26bc7216a174fe2bdc87b7ae8e76f57b71cf8ef83d9f7da96a5f470d6b29b62f06
1828     cf1f7c7135e2f593a2b66800fbf07ee8;
1829   ae9ce021a5f1fa4ffa91544485f1a1258b2b9b8f
1830     0911e32d65cc1770a18cbfe6effd
1831     1ff6778554acf1270485b203a3c1c4c967c0a458cb948bdd409b687fa3a6827b480aa3a4c84cef64f6c9b5
1832     3bf8f957f4b03cf43e89957f9a3e8128f8743d16687b7bb8deb9bd205b70e04c091d205cdad9e9a79b1abf91b0851e5ca605ac8451
1833     7df3a815613704e6db80308c5e5161430a724f4a11dee60f9b0519f96f29c8c6fcf91443f230d7ee8fd8206e0c71161e9d770d5586
1834     e54a174b4a61d1ee1faffa2dd7a59f70;
1835   399587011677508a15dde524af3e2bee0646541a42c2ecccb44d65ba
1836     d397abfaf529ee41cf9a05c7efed
1837     ""
1838     ""
1839     ""
1840     74e3172048a0aed02ad958e79920884b;
1841   ef3401539c51d2a90bbf7f1bfc338ab0ef5746ea8fdcccd213e33f7e
1842     8a5718fd25014107c8e7d715a92a
1843     dd
1844     ""
1845     ""
1846     148ca2d47df2264f1aba1b2b374aad1a;
1847   9589d1f5c054b2d983514605ec590294a319b9802068a9f891bc5ba5
1848     afabf8c3122d12d7ff3c41122d70
1849     ""
1850     d1
1851     f5
1852     4c185af3fa049730ff516d35fbda064d;
1853   7d4569eaff59a332ba58d5d5589bfe079753ee1a957eb6d6699e6b7e
1854     a2725cb2dac07ecde95759
1855     ""
1856     ac46fee6dda7abc8ad68daac90cfe22d2f1f2968cc42fa8b669ed3bb3542a9cf44bbc8c6254d980398bd94e66eb4563d
1857     64e99a93b20ce72c4e9da3b335e722e85aeb922ace51720c32f4edb402571244d7d1e4f3d2bae1baa06da5ec6d7368ec
1858     bd4509f46b03609bd11124376731fa19;
1859   405e51881e99027b8ab9aea3ccf860b0009740763d96836c5f87b954
1860     60938de1288c69d80ea12ff4bb
1861     5f069b8a2e86041c1b9fc214e9ca2186ddf1f6a7a3aa7e740da967828e3604b35b15ffaa6c36800d9645563a308ba600
1862     76817523bd2abf1261b089d8f23a9c2835076a23faac2cdd67771cc667a8331f0a170b66283e4f834a06148f302c3973
1863     ede69717cc474d94579f3aa442ecb523504280aa8dfb5604e81f8f18c5aee67140400e27ee7aa624cc3d2f8bd8eb1dc8
1864     e3472e0b88ee37919d72e8a29553274d;
1865   accd56f6f24e33958b8c2e2352fd61e4fa8fec816ac861a8b33779f0
1866     9e7a10fc02a8f48afa3080ee119a
1867     ""
1868     52a9a817e4f2b94b0820cab383a8cffeea7c486315799dc875fba578c8ec4837898a92142b5b0677da1ac273117b45bcfff5d5f8b6
1869     6ea42fed3a9e40ae5bd32e3513e027f791595675af5e77e0044070af2ce0ca4e1facf77f6b7f0c16b2c3c528343a9c7c6d1352517e
1870     476ce6884dfa2a97ce67aafcc3375ea6;
1871   fde2893232a9f81d14517ffae475f6b94a43a67b3d380d2f9aaafe2d
1872     d721c0095c8808847689211450ba
1873     8095ffab1eaadf66fd22ac1976063e113ab61f813e28a1397a7974a1d7f4220c785fe426a5a0e80f678d40
1874     4147842941feeffdc2eb44dc8c0d5e8f444f7f4e0c893959b74dc23a7bb40e7e0013e5150686d2301b43a15a84e81d7f5cedaa49e2
1875     17fa00469b04d4b9563e87be4bd5f9cffd0238adb9ee98938dabb0528e0fa95fc3cf499e67d4d19606242736d8e776bd5357a0d48c
1876     c8ef4f4fccad46f7fb55786818991586;
1877   414ebf47970e560475cff206
1878     877de69146acc3ab6cf8556b7aa7
1879     ""
1880     ""
1881     ""
1882     17c75f5f7d6d099a7d375b9ea6ee9fc6;
1883   76945948d1b8834df2196c92
1884     ec1718dcdeee0d52d9539726d281
1885     03
1886     ""
1887     ""
1888     2abbc7c4cac1b870f9e8a92f00f1f2f9;
1889   91b3f9d10c39b07ae8f08ce7
1890     cee4758a386a9943e97dedfbe61e
1891     ""
1892     73
1893     f4
1894     8ab448b5400b1a46c7c5e20ef9700e22;
1895   7882cd09c2b9a80f34c0fde1
1896     1c2481b11fc76bfa4dbf71
1897     ""
1898     0a9e544e0c536ca1e040f9ad5b04140d98edabe08485290a4d87d13b07398a1458c2c6b61dbdbc1cccada8c1a0a9aabb
1899     7c8660ca8ca219cd98abe715c166df757edad193c7d1a6f9227d7633b1666bd34c86f6df7819a80903e5c37ffc5e0648
1900     27c846118776e3626f15532888d3f887;
1901   6c4e3c3554f8fb1ef61614c2
1902     70295dfc0ca6551ca4bdb75359
1903     f91cb9d921056b7de74fc9a9b37154ce6c0b396179d31f06a1dd5982cbc0d7cb23841da1ae8f4ae480cda98ad6cf2bac
1904     f6f9fd3f821330c43f3df6c2b3fac7cbcf96523d4723f91801325eb8553236651c96788d73d192ee53b3f3ebd66ddd98
1905     9c912ef9d07d26881c823aecb92e81cc988fbdd1292d49ae9cddc5c1fa5e1a618c96e71c64866481926bc83c1c2ec172
1906     b7f45c7b104609fc3be061ebb388ee13;
1907   cedbe88e245de25b1593b70f
1908     8601562d90a9b59ed034a867642d
1909     ""
1910     25d54756fa5c47f16f64b837bb4926214211a1c696ba172010abb433922a22d9fd881519165eb9d85197a21cc34ac0d5ae7be8dbf9
1911     00bfa16e1410e13d46752a90f40b6d9f6193cf06930ecb55abd2f973b710fa0582b30f87e5edc850a652def300f06da79231471399
1912     b8858413846d2de7fa4654376b1b9f1f;
1913   8e4ffed2cf6b1372a5aa47b5
1914     4fd9d70c70e117bf1cae71b3a56f
1915     0e7d839ea59cc783443d64f2ed6a29b96856beca34fd6544bcf86b799e2a1681160ccf055f0fd3001da597
1916     a1406d465b7b1419ea51cf858f938f6daafbd656445a09898eaa96ffc3d1d2e31e4e34c94b8bfae64825ecd75a66d88eedb969ffe0
1917     9cadbe9441f1705005b73f4e5b1675fc77390306e768a3f599a8fb11846ec535f0fa52e88120d3409912c342401b16a395784c6dcc
1918     44773033baea19b7a13cfe0f67d9da85;  
1919 }
1920
1921 rijndael-ocb3-mct {
1922   32 d90eb8e9c977c88b79dd793d7ffa161c;
1923   28 a3c8ceaa94b405effc970e05f15fa2ff;
1924   24 f673f2c3e7174aae7bae986ca9f29e17;
1925   20 c8bc484858c5b1bc9e4241e2f552b371;
1926   16 67e944d23256c5e0b6c61fa22fdf1ea2;
1927   12 2e9806312d331fe78476fe88afb74763;
1928    8 2cfce691258f4d0300c220a6ef4d0a81;
1929    4 5d36742a2f065dc845789585f81f052f;
1930   32 5458359ac23b0cba9e6330dd;
1931   28 a14417b0bad703c8d1eccd2e;
1932   24 05d56ead2752c86be6932c5e;
1933   20 a61001205f451947258a950d;
1934   16 77a3d8e73589158d25d01209;
1935   12 6a32e20692f16b31a51cff6d;
1936    8 211b29176d56d0528fd70c9f;
1937    4 db638b2ddc074fe1ec1056d3;
1938   32 7d4ea5d445501cbe;
1939   28 94d6f38a6bcf4fa0;
1940   24 0066bc6e0ef34e24;
1941   20 1a583bc011e8a4fc;
1942   16 192c9b7bd90ba06a;
1943   12 385bcd58e8387991;
1944    8 2fb22e566436473d;
1945    4 c00b55e9a2bed310;
1946 }