]>
Commit | Line | Data |
---|---|---|
da7f033d HX |
1 | /* |
2 | * Algorithm testing framework and tests. | |
3 | * | |
4 | * Copyright (c) 2002 James Morris <[email protected]> | |
5 | * Copyright (c) 2002 Jean-Francois Dive <[email protected]> | |
6 | * Copyright (c) 2007 Nokia Siemens Networks | |
7 | * Copyright (c) 2008 Herbert Xu <[email protected]> | |
8 | * | |
69435b94 AH |
9 | * Updated RFC4106 AES-GCM testing. Some test vectors were taken from |
10 | * http://csrc.nist.gov/groups/ST/toolkit/BCM/documents/proposedmodes/ | |
11 | * gcm/gcm-test-vectors.tar.gz | |
12 | * Authors: Aidan O'Mahony ([email protected]) | |
13 | * Adrian Hoban <[email protected]> | |
14 | * Gabriele Paoloni <[email protected]> | |
15 | * Tadeusz Struk ([email protected]) | |
16 | * Copyright (c) 2010, Intel Corporation. | |
17 | * | |
da7f033d HX |
18 | * This program is free software; you can redistribute it and/or modify it |
19 | * under the terms of the GNU General Public License as published by the Free | |
20 | * Software Foundation; either version 2 of the License, or (at your option) | |
21 | * any later version. | |
22 | * | |
23 | */ | |
24 | #ifndef _CRYPTO_TESTMGR_H | |
25 | #define _CRYPTO_TESTMGR_H | |
26 | ||
0c01aed5 GU |
27 | #include <linux/netlink.h> |
28 | #include <linux/zlib.h> | |
29 | ||
8064efb8 GU |
30 | #include <crypto/compress.h> |
31 | ||
da7f033d HX |
32 | #define MAX_DIGEST_SIZE 64 |
33 | #define MAX_TAP 8 | |
34 | ||
35 | #define MAX_KEYLEN 56 | |
36 | #define MAX_IVLEN 32 | |
37 | ||
38 | struct hash_testvec { | |
39 | /* only used with keyed hash algorithms */ | |
40 | char *key; | |
41 | char *plaintext; | |
42 | char *digest; | |
43 | unsigned char tap[MAX_TAP]; | |
44 | unsigned char psize; | |
45 | unsigned char np; | |
46 | unsigned char ksize; | |
47 | }; | |
48 | ||
49 | struct cipher_testvec { | |
50 | char *key; | |
51 | char *iv; | |
52 | char *input; | |
53 | char *result; | |
54 | unsigned short tap[MAX_TAP]; | |
55 | int np; | |
56 | unsigned char fail; | |
57 | unsigned char wk; /* weak key flag */ | |
58 | unsigned char klen; | |
59 | unsigned short ilen; | |
60 | unsigned short rlen; | |
61 | }; | |
62 | ||
63 | struct aead_testvec { | |
64 | char *key; | |
65 | char *iv; | |
66 | char *input; | |
67 | char *assoc; | |
68 | char *result; | |
69 | unsigned char tap[MAX_TAP]; | |
70 | unsigned char atap[MAX_TAP]; | |
71 | int np; | |
72 | int anp; | |
73 | unsigned char fail; | |
e44a1b44 | 74 | unsigned char novrfy; /* ccm dec verification failure expected */ |
da7f033d HX |
75 | unsigned char wk; /* weak key flag */ |
76 | unsigned char klen; | |
77 | unsigned short ilen; | |
78 | unsigned short alen; | |
79 | unsigned short rlen; | |
80 | }; | |
81 | ||
7647d6ce JW |
82 | struct cprng_testvec { |
83 | char *key; | |
84 | char *dt; | |
85 | char *v; | |
86 | char *result; | |
87 | unsigned char klen; | |
88 | unsigned short dtlen; | |
89 | unsigned short vlen; | |
90 | unsigned short rlen; | |
91 | unsigned short loops; | |
92 | }; | |
93 | ||
da7f033d HX |
94 | static char zeroed_string[48]; |
95 | ||
96 | /* | |
97 | * MD4 test vectors from RFC1320 | |
98 | */ | |
99 | #define MD4_TEST_VECTORS 7 | |
100 | ||
101 | static struct hash_testvec md4_tv_template [] = { | |
102 | { | |
103 | .plaintext = "", | |
104 | .digest = "\x31\xd6\xcf\xe0\xd1\x6a\xe9\x31" | |
105 | "\xb7\x3c\x59\xd7\xe0\xc0\x89\xc0", | |
106 | }, { | |
107 | .plaintext = "a", | |
108 | .psize = 1, | |
109 | .digest = "\xbd\xe5\x2c\xb3\x1d\xe3\x3e\x46" | |
110 | "\x24\x5e\x05\xfb\xdb\xd6\xfb\x24", | |
111 | }, { | |
112 | .plaintext = "abc", | |
113 | .psize = 3, | |
114 | .digest = "\xa4\x48\x01\x7a\xaf\x21\xd8\x52" | |
115 | "\x5f\xc1\x0a\xe8\x7a\xa6\x72\x9d", | |
116 | }, { | |
117 | .plaintext = "message digest", | |
118 | .psize = 14, | |
119 | .digest = "\xd9\x13\x0a\x81\x64\x54\x9f\xe8" | |
120 | "\x18\x87\x48\x06\xe1\xc7\x01\x4b", | |
121 | }, { | |
122 | .plaintext = "abcdefghijklmnopqrstuvwxyz", | |
123 | .psize = 26, | |
124 | .digest = "\xd7\x9e\x1c\x30\x8a\xa5\xbb\xcd" | |
125 | "\xee\xa8\xed\x63\xdf\x41\x2d\xa9", | |
126 | .np = 2, | |
127 | .tap = { 13, 13 }, | |
128 | }, { | |
129 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", | |
130 | .psize = 62, | |
131 | .digest = "\x04\x3f\x85\x82\xf2\x41\xdb\x35" | |
132 | "\x1c\xe6\x27\xe1\x53\xe7\xf0\xe4", | |
133 | }, { | |
134 | .plaintext = "123456789012345678901234567890123456789012345678901234567890123" | |
135 | "45678901234567890", | |
136 | .psize = 80, | |
137 | .digest = "\xe3\x3b\x4d\xdc\x9c\x38\xf2\x19" | |
138 | "\x9c\x3e\x7b\x16\x4f\xcc\x05\x36", | |
139 | }, | |
140 | }; | |
141 | ||
142 | /* | |
143 | * MD5 test vectors from RFC1321 | |
144 | */ | |
145 | #define MD5_TEST_VECTORS 7 | |
146 | ||
147 | static struct hash_testvec md5_tv_template[] = { | |
148 | { | |
149 | .digest = "\xd4\x1d\x8c\xd9\x8f\x00\xb2\x04" | |
150 | "\xe9\x80\x09\x98\xec\xf8\x42\x7e", | |
151 | }, { | |
152 | .plaintext = "a", | |
153 | .psize = 1, | |
154 | .digest = "\x0c\xc1\x75\xb9\xc0\xf1\xb6\xa8" | |
155 | "\x31\xc3\x99\xe2\x69\x77\x26\x61", | |
156 | }, { | |
157 | .plaintext = "abc", | |
158 | .psize = 3, | |
159 | .digest = "\x90\x01\x50\x98\x3c\xd2\x4f\xb0" | |
160 | "\xd6\x96\x3f\x7d\x28\xe1\x7f\x72", | |
161 | }, { | |
162 | .plaintext = "message digest", | |
163 | .psize = 14, | |
164 | .digest = "\xf9\x6b\x69\x7d\x7c\xb7\x93\x8d" | |
165 | "\x52\x5a\x2f\x31\xaa\xf1\x61\xd0", | |
166 | }, { | |
167 | .plaintext = "abcdefghijklmnopqrstuvwxyz", | |
168 | .psize = 26, | |
169 | .digest = "\xc3\xfc\xd3\xd7\x61\x92\xe4\x00" | |
170 | "\x7d\xfb\x49\x6c\xca\x67\xe1\x3b", | |
171 | .np = 2, | |
172 | .tap = {13, 13} | |
173 | }, { | |
174 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", | |
175 | .psize = 62, | |
176 | .digest = "\xd1\x74\xab\x98\xd2\x77\xd9\xf5" | |
177 | "\xa5\x61\x1c\x2c\x9f\x41\x9d\x9f", | |
178 | }, { | |
179 | .plaintext = "12345678901234567890123456789012345678901234567890123456789012" | |
180 | "345678901234567890", | |
181 | .psize = 80, | |
182 | .digest = "\x57\xed\xf4\xa2\x2b\xe3\xc9\x55" | |
183 | "\xac\x49\xda\x2e\x21\x07\xb6\x7a", | |
184 | } | |
185 | ||
186 | }; | |
187 | ||
188 | /* | |
189 | * RIPEMD-128 test vectors from ISO/IEC 10118-3:2004(E) | |
190 | */ | |
191 | #define RMD128_TEST_VECTORS 10 | |
192 | ||
193 | static struct hash_testvec rmd128_tv_template[] = { | |
194 | { | |
195 | .digest = "\xcd\xf2\x62\x13\xa1\x50\xdc\x3e" | |
196 | "\xcb\x61\x0f\x18\xf6\xb3\x8b\x46", | |
197 | }, { | |
198 | .plaintext = "a", | |
199 | .psize = 1, | |
200 | .digest = "\x86\xbe\x7a\xfa\x33\x9d\x0f\xc7" | |
201 | "\xcf\xc7\x85\xe7\x2f\x57\x8d\x33", | |
202 | }, { | |
203 | .plaintext = "abc", | |
204 | .psize = 3, | |
205 | .digest = "\xc1\x4a\x12\x19\x9c\x66\xe4\xba" | |
206 | "\x84\x63\x6b\x0f\x69\x14\x4c\x77", | |
207 | }, { | |
208 | .plaintext = "message digest", | |
209 | .psize = 14, | |
210 | .digest = "\x9e\x32\x7b\x3d\x6e\x52\x30\x62" | |
211 | "\xaf\xc1\x13\x2d\x7d\xf9\xd1\xb8", | |
212 | }, { | |
213 | .plaintext = "abcdefghijklmnopqrstuvwxyz", | |
214 | .psize = 26, | |
215 | .digest = "\xfd\x2a\xa6\x07\xf7\x1d\xc8\xf5" | |
216 | "\x10\x71\x49\x22\xb3\x71\x83\x4e", | |
217 | }, { | |
218 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcde" | |
219 | "fghijklmnopqrstuvwxyz0123456789", | |
220 | .psize = 62, | |
221 | .digest = "\xd1\xe9\x59\xeb\x17\x9c\x91\x1f" | |
222 | "\xae\xa4\x62\x4c\x60\xc5\xc7\x02", | |
223 | }, { | |
224 | .plaintext = "1234567890123456789012345678901234567890" | |
225 | "1234567890123456789012345678901234567890", | |
226 | .psize = 80, | |
227 | .digest = "\x3f\x45\xef\x19\x47\x32\xc2\xdb" | |
228 | "\xb2\xc4\xa2\xc7\x69\x79\x5f\xa3", | |
229 | }, { | |
230 | .plaintext = "abcdbcdecdefdefgefghfghighij" | |
231 | "hijkijkljklmklmnlmnomnopnopq", | |
232 | .psize = 56, | |
233 | .digest = "\xa1\xaa\x06\x89\xd0\xfa\xfa\x2d" | |
234 | "\xdc\x22\xe8\x8b\x49\x13\x3a\x06", | |
235 | .np = 2, | |
236 | .tap = { 28, 28 }, | |
237 | }, { | |
238 | .plaintext = "abcdefghbcdefghicdefghijdefghijkefghijklfghi" | |
239 | "jklmghijklmnhijklmnoijklmnopjklmnopqklmnopqr" | |
240 | "lmnopqrsmnopqrstnopqrstu", | |
241 | .psize = 112, | |
242 | .digest = "\xd4\xec\xc9\x13\xe1\xdf\x77\x6b" | |
243 | "\xf4\x8d\xe9\xd5\x5b\x1f\x25\x46", | |
244 | }, { | |
245 | .plaintext = "abcdbcdecdefdefgefghfghighijhijk", | |
246 | .psize = 32, | |
247 | .digest = "\x13\xfc\x13\xe8\xef\xff\x34\x7d" | |
248 | "\xe1\x93\xff\x46\xdb\xac\xcf\xd4", | |
249 | } | |
250 | }; | |
251 | ||
252 | /* | |
253 | * RIPEMD-160 test vectors from ISO/IEC 10118-3:2004(E) | |
254 | */ | |
255 | #define RMD160_TEST_VECTORS 10 | |
256 | ||
257 | static struct hash_testvec rmd160_tv_template[] = { | |
258 | { | |
259 | .digest = "\x9c\x11\x85\xa5\xc5\xe9\xfc\x54\x61\x28" | |
260 | "\x08\x97\x7e\xe8\xf5\x48\xb2\x25\x8d\x31", | |
261 | }, { | |
262 | .plaintext = "a", | |
263 | .psize = 1, | |
264 | .digest = "\x0b\xdc\x9d\x2d\x25\x6b\x3e\xe9\xda\xae" | |
265 | "\x34\x7b\xe6\xf4\xdc\x83\x5a\x46\x7f\xfe", | |
266 | }, { | |
267 | .plaintext = "abc", | |
268 | .psize = 3, | |
269 | .digest = "\x8e\xb2\x08\xf7\xe0\x5d\x98\x7a\x9b\x04" | |
270 | "\x4a\x8e\x98\xc6\xb0\x87\xf1\x5a\x0b\xfc", | |
271 | }, { | |
272 | .plaintext = "message digest", | |
273 | .psize = 14, | |
274 | .digest = "\x5d\x06\x89\xef\x49\xd2\xfa\xe5\x72\xb8" | |
275 | "\x81\xb1\x23\xa8\x5f\xfa\x21\x59\x5f\x36", | |
276 | }, { | |
277 | .plaintext = "abcdefghijklmnopqrstuvwxyz", | |
278 | .psize = 26, | |
279 | .digest = "\xf7\x1c\x27\x10\x9c\x69\x2c\x1b\x56\xbb" | |
280 | "\xdc\xeb\x5b\x9d\x28\x65\xb3\x70\x8d\xbc", | |
281 | }, { | |
282 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcde" | |
283 | "fghijklmnopqrstuvwxyz0123456789", | |
284 | .psize = 62, | |
285 | .digest = "\xb0\xe2\x0b\x6e\x31\x16\x64\x02\x86\xed" | |
286 | "\x3a\x87\xa5\x71\x30\x79\xb2\x1f\x51\x89", | |
287 | }, { | |
288 | .plaintext = "1234567890123456789012345678901234567890" | |
289 | "1234567890123456789012345678901234567890", | |
290 | .psize = 80, | |
291 | .digest = "\x9b\x75\x2e\x45\x57\x3d\x4b\x39\xf4\xdb" | |
292 | "\xd3\x32\x3c\xab\x82\xbf\x63\x32\x6b\xfb", | |
293 | }, { | |
294 | .plaintext = "abcdbcdecdefdefgefghfghighij" | |
295 | "hijkijkljklmklmnlmnomnopnopq", | |
296 | .psize = 56, | |
297 | .digest = "\x12\xa0\x53\x38\x4a\x9c\x0c\x88\xe4\x05" | |
298 | "\xa0\x6c\x27\xdc\xf4\x9a\xda\x62\xeb\x2b", | |
299 | .np = 2, | |
300 | .tap = { 28, 28 }, | |
301 | }, { | |
302 | .plaintext = "abcdefghbcdefghicdefghijdefghijkefghijklfghi" | |
303 | "jklmghijklmnhijklmnoijklmnopjklmnopqklmnopqr" | |
304 | "lmnopqrsmnopqrstnopqrstu", | |
305 | .psize = 112, | |
306 | .digest = "\x6f\x3f\xa3\x9b\x6b\x50\x3c\x38\x4f\x91" | |
307 | "\x9a\x49\xa7\xaa\x5c\x2c\x08\xbd\xfb\x45", | |
308 | }, { | |
309 | .plaintext = "abcdbcdecdefdefgefghfghighijhijk", | |
310 | .psize = 32, | |
311 | .digest = "\x94\xc2\x64\x11\x54\x04\xe6\x33\x79\x0d" | |
312 | "\xfc\xc8\x7b\x58\x7d\x36\x77\x06\x7d\x9f", | |
313 | } | |
314 | }; | |
315 | ||
316 | /* | |
317 | * RIPEMD-256 test vectors | |
318 | */ | |
319 | #define RMD256_TEST_VECTORS 8 | |
320 | ||
321 | static struct hash_testvec rmd256_tv_template[] = { | |
322 | { | |
323 | .digest = "\x02\xba\x4c\x4e\x5f\x8e\xcd\x18" | |
324 | "\x77\xfc\x52\xd6\x4d\x30\xe3\x7a" | |
325 | "\x2d\x97\x74\xfb\x1e\x5d\x02\x63" | |
326 | "\x80\xae\x01\x68\xe3\xc5\x52\x2d", | |
327 | }, { | |
328 | .plaintext = "a", | |
329 | .psize = 1, | |
330 | .digest = "\xf9\x33\x3e\x45\xd8\x57\xf5\xd9" | |
331 | "\x0a\x91\xba\xb7\x0a\x1e\xba\x0c" | |
332 | "\xfb\x1b\xe4\xb0\x78\x3c\x9a\xcf" | |
333 | "\xcd\x88\x3a\x91\x34\x69\x29\x25", | |
334 | }, { | |
335 | .plaintext = "abc", | |
336 | .psize = 3, | |
337 | .digest = "\xaf\xbd\x6e\x22\x8b\x9d\x8c\xbb" | |
338 | "\xce\xf5\xca\x2d\x03\xe6\xdb\xa1" | |
339 | "\x0a\xc0\xbc\x7d\xcb\xe4\x68\x0e" | |
340 | "\x1e\x42\xd2\xe9\x75\x45\x9b\x65", | |
341 | }, { | |
342 | .plaintext = "message digest", | |
343 | .psize = 14, | |
344 | .digest = "\x87\xe9\x71\x75\x9a\x1c\xe4\x7a" | |
345 | "\x51\x4d\x5c\x91\x4c\x39\x2c\x90" | |
346 | "\x18\xc7\xc4\x6b\xc1\x44\x65\x55" | |
347 | "\x4a\xfc\xdf\x54\xa5\x07\x0c\x0e", | |
348 | }, { | |
349 | .plaintext = "abcdefghijklmnopqrstuvwxyz", | |
350 | .psize = 26, | |
351 | .digest = "\x64\x9d\x30\x34\x75\x1e\xa2\x16" | |
352 | "\x77\x6b\xf9\xa1\x8a\xcc\x81\xbc" | |
353 | "\x78\x96\x11\x8a\x51\x97\x96\x87" | |
354 | "\x82\xdd\x1f\xd9\x7d\x8d\x51\x33", | |
355 | }, { | |
356 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcde" | |
357 | "fghijklmnopqrstuvwxyz0123456789", | |
358 | .psize = 62, | |
359 | .digest = "\x57\x40\xa4\x08\xac\x16\xb7\x20" | |
360 | "\xb8\x44\x24\xae\x93\x1c\xbb\x1f" | |
361 | "\xe3\x63\xd1\xd0\xbf\x40\x17\xf1" | |
362 | "\xa8\x9f\x7e\xa6\xde\x77\xa0\xb8", | |
363 | }, { | |
364 | .plaintext = "1234567890123456789012345678901234567890" | |
365 | "1234567890123456789012345678901234567890", | |
366 | .psize = 80, | |
367 | .digest = "\x06\xfd\xcc\x7a\x40\x95\x48\xaa" | |
368 | "\xf9\x13\x68\xc0\x6a\x62\x75\xb5" | |
369 | "\x53\xe3\xf0\x99\xbf\x0e\xa4\xed" | |
370 | "\xfd\x67\x78\xdf\x89\xa8\x90\xdd", | |
371 | }, { | |
372 | .plaintext = "abcdbcdecdefdefgefghfghighij" | |
373 | "hijkijkljklmklmnlmnomnopnopq", | |
374 | .psize = 56, | |
375 | .digest = "\x38\x43\x04\x55\x83\xaa\xc6\xc8" | |
376 | "\xc8\xd9\x12\x85\x73\xe7\xa9\x80" | |
377 | "\x9a\xfb\x2a\x0f\x34\xcc\xc3\x6e" | |
378 | "\xa9\xe7\x2f\x16\xf6\x36\x8e\x3f", | |
379 | .np = 2, | |
380 | .tap = { 28, 28 }, | |
381 | } | |
382 | }; | |
383 | ||
384 | /* | |
385 | * RIPEMD-320 test vectors | |
386 | */ | |
387 | #define RMD320_TEST_VECTORS 8 | |
388 | ||
389 | static struct hash_testvec rmd320_tv_template[] = { | |
390 | { | |
391 | .digest = "\x22\xd6\x5d\x56\x61\x53\x6c\xdc\x75\xc1" | |
392 | "\xfd\xf5\xc6\xde\x7b\x41\xb9\xf2\x73\x25" | |
393 | "\xeb\xc6\x1e\x85\x57\x17\x7d\x70\x5a\x0e" | |
394 | "\xc8\x80\x15\x1c\x3a\x32\xa0\x08\x99\xb8", | |
395 | }, { | |
396 | .plaintext = "a", | |
397 | .psize = 1, | |
398 | .digest = "\xce\x78\x85\x06\x38\xf9\x26\x58\xa5\xa5" | |
399 | "\x85\x09\x75\x79\x92\x6d\xda\x66\x7a\x57" | |
400 | "\x16\x56\x2c\xfc\xf6\xfb\xe7\x7f\x63\x54" | |
401 | "\x2f\x99\xb0\x47\x05\xd6\x97\x0d\xff\x5d", | |
402 | }, { | |
403 | .plaintext = "abc", | |
404 | .psize = 3, | |
405 | .digest = "\xde\x4c\x01\xb3\x05\x4f\x89\x30\xa7\x9d" | |
406 | "\x09\xae\x73\x8e\x92\x30\x1e\x5a\x17\x08" | |
407 | "\x5b\xef\xfd\xc1\xb8\xd1\x16\x71\x3e\x74" | |
408 | "\xf8\x2f\xa9\x42\xd6\x4c\xdb\xc4\x68\x2d", | |
409 | }, { | |
410 | .plaintext = "message digest", | |
411 | .psize = 14, | |
412 | .digest = "\x3a\x8e\x28\x50\x2e\xd4\x5d\x42\x2f\x68" | |
413 | "\x84\x4f\x9d\xd3\x16\xe7\xb9\x85\x33\xfa" | |
414 | "\x3f\x2a\x91\xd2\x9f\x84\xd4\x25\xc8\x8d" | |
415 | "\x6b\x4e\xff\x72\x7d\xf6\x6a\x7c\x01\x97", | |
416 | }, { | |
417 | .plaintext = "abcdefghijklmnopqrstuvwxyz", | |
418 | .psize = 26, | |
419 | .digest = "\xca\xbd\xb1\x81\x0b\x92\x47\x0a\x20\x93" | |
420 | "\xaa\x6b\xce\x05\x95\x2c\x28\x34\x8c\xf4" | |
421 | "\x3f\xf6\x08\x41\x97\x51\x66\xbb\x40\xed" | |
422 | "\x23\x40\x04\xb8\x82\x44\x63\xe6\xb0\x09", | |
423 | }, { | |
424 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcde" | |
425 | "fghijklmnopqrstuvwxyz0123456789", | |
426 | .psize = 62, | |
427 | .digest = "\xed\x54\x49\x40\xc8\x6d\x67\xf2\x50\xd2" | |
428 | "\x32\xc3\x0b\x7b\x3e\x57\x70\xe0\xc6\x0c" | |
429 | "\x8c\xb9\xa4\xca\xfe\x3b\x11\x38\x8a\xf9" | |
430 | "\x92\x0e\x1b\x99\x23\x0b\x84\x3c\x86\xa4", | |
431 | }, { | |
432 | .plaintext = "1234567890123456789012345678901234567890" | |
433 | "1234567890123456789012345678901234567890", | |
434 | .psize = 80, | |
435 | .digest = "\x55\x78\x88\xaf\x5f\x6d\x8e\xd6\x2a\xb6" | |
436 | "\x69\x45\xc6\xd2\xa0\xa4\x7e\xcd\x53\x41" | |
437 | "\xe9\x15\xeb\x8f\xea\x1d\x05\x24\x95\x5f" | |
438 | "\x82\x5d\xc7\x17\xe4\xa0\x08\xab\x2d\x42", | |
439 | }, { | |
440 | .plaintext = "abcdbcdecdefdefgefghfghighij" | |
441 | "hijkijkljklmklmnlmnomnopnopq", | |
442 | .psize = 56, | |
443 | .digest = "\xd0\x34\xa7\x95\x0c\xf7\x22\x02\x1b\xa4" | |
444 | "\xb8\x4d\xf7\x69\xa5\xde\x20\x60\xe2\x59" | |
445 | "\xdf\x4c\x9b\xb4\xa4\x26\x8c\x0e\x93\x5b" | |
446 | "\xbc\x74\x70\xa9\x69\xc9\xd0\x72\xa1\xac", | |
447 | .np = 2, | |
448 | .tap = { 28, 28 }, | |
449 | } | |
450 | }; | |
451 | ||
452 | /* | |
453 | * SHA1 test vectors from from FIPS PUB 180-1 | |
bd1f2996 | 454 | * Long vector from CAVS 5.0 |
da7f033d | 455 | */ |
bd1f2996 | 456 | #define SHA1_TEST_VECTORS 3 |
da7f033d HX |
457 | |
458 | static struct hash_testvec sha1_tv_template[] = { | |
459 | { | |
460 | .plaintext = "abc", | |
461 | .psize = 3, | |
462 | .digest = "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e" | |
463 | "\x25\x71\x78\x50\xc2\x6c\x9c\xd0\xd8\x9d", | |
464 | }, { | |
465 | .plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", | |
466 | .psize = 56, | |
467 | .digest = "\x84\x98\x3e\x44\x1c\x3b\xd2\x6e\xba\xae" | |
468 | "\x4a\xa1\xf9\x51\x29\xe5\xe5\x46\x70\xf1", | |
469 | .np = 2, | |
470 | .tap = { 28, 28 } | |
bd1f2996 HX |
471 | }, { |
472 | .plaintext = "\xec\x29\x56\x12\x44\xed\xe7\x06" | |
473 | "\xb6\xeb\x30\xa1\xc3\x71\xd7\x44" | |
474 | "\x50\xa1\x05\xc3\xf9\x73\x5f\x7f" | |
475 | "\xa9\xfe\x38\xcf\x67\xf3\x04\xa5" | |
476 | "\x73\x6a\x10\x6e\x92\xe1\x71\x39" | |
477 | "\xa6\x81\x3b\x1c\x81\xa4\xf3\xd3" | |
478 | "\xfb\x95\x46\xab\x42\x96\xfa\x9f" | |
479 | "\x72\x28\x26\xc0\x66\x86\x9e\xda" | |
480 | "\xcd\x73\xb2\x54\x80\x35\x18\x58" | |
481 | "\x13\xe2\x26\x34\xa9\xda\x44\x00" | |
482 | "\x0d\x95\xa2\x81\xff\x9f\x26\x4e" | |
483 | "\xcc\xe0\xa9\x31\x22\x21\x62\xd0" | |
484 | "\x21\xcc\xa2\x8d\xb5\xf3\xc2\xaa" | |
485 | "\x24\x94\x5a\xb1\xe3\x1c\xb4\x13" | |
486 | "\xae\x29\x81\x0f\xd7\x94\xca\xd5" | |
487 | "\xdf\xaf\x29\xec\x43\xcb\x38\xd1" | |
488 | "\x98\xfe\x4a\xe1\xda\x23\x59\x78" | |
489 | "\x02\x21\x40\x5b\xd6\x71\x2a\x53" | |
490 | "\x05\xda\x4b\x1b\x73\x7f\xce\x7c" | |
491 | "\xd2\x1c\x0e\xb7\x72\x8d\x08\x23" | |
492 | "\x5a\x90\x11", | |
493 | .psize = 163, | |
494 | .digest = "\x97\x01\x11\xc4\xe7\x7b\xcc\x88\xcc\x20" | |
495 | "\x45\x9c\x02\xb6\x9b\x4a\xa8\xf5\x82\x17", | |
496 | .np = 4, | |
497 | .tap = { 63, 64, 31, 5 } | |
da7f033d HX |
498 | } |
499 | }; | |
500 | ||
501 | ||
502 | /* | |
503 | * SHA224 test vectors from from FIPS PUB 180-2 | |
504 | */ | |
505 | #define SHA224_TEST_VECTORS 2 | |
506 | ||
507 | static struct hash_testvec sha224_tv_template[] = { | |
508 | { | |
509 | .plaintext = "abc", | |
510 | .psize = 3, | |
511 | .digest = "\x23\x09\x7D\x22\x34\x05\xD8\x22" | |
512 | "\x86\x42\xA4\x77\xBD\xA2\x55\xB3" | |
513 | "\x2A\xAD\xBC\xE4\xBD\xA0\xB3\xF7" | |
514 | "\xE3\x6C\x9D\xA7", | |
515 | }, { | |
516 | .plaintext = | |
517 | "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", | |
518 | .psize = 56, | |
519 | .digest = "\x75\x38\x8B\x16\x51\x27\x76\xCC" | |
520 | "\x5D\xBA\x5D\xA1\xFD\x89\x01\x50" | |
521 | "\xB0\xC6\x45\x5C\xB4\xF5\x8B\x19" | |
522 | "\x52\x52\x25\x25", | |
523 | .np = 2, | |
524 | .tap = { 28, 28 } | |
525 | } | |
526 | }; | |
527 | ||
528 | /* | |
529 | * SHA256 test vectors from from NIST | |
530 | */ | |
531 | #define SHA256_TEST_VECTORS 2 | |
532 | ||
533 | static struct hash_testvec sha256_tv_template[] = { | |
534 | { | |
535 | .plaintext = "abc", | |
536 | .psize = 3, | |
537 | .digest = "\xba\x78\x16\xbf\x8f\x01\xcf\xea" | |
538 | "\x41\x41\x40\xde\x5d\xae\x22\x23" | |
539 | "\xb0\x03\x61\xa3\x96\x17\x7a\x9c" | |
540 | "\xb4\x10\xff\x61\xf2\x00\x15\xad", | |
541 | }, { | |
542 | .plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", | |
543 | .psize = 56, | |
544 | .digest = "\x24\x8d\x6a\x61\xd2\x06\x38\xb8" | |
545 | "\xe5\xc0\x26\x93\x0c\x3e\x60\x39" | |
546 | "\xa3\x3c\xe4\x59\x64\xff\x21\x67" | |
547 | "\xf6\xec\xed\xd4\x19\xdb\x06\xc1", | |
548 | .np = 2, | |
549 | .tap = { 28, 28 } | |
550 | }, | |
551 | }; | |
552 | ||
553 | /* | |
554 | * SHA384 test vectors from from NIST and kerneli | |
555 | */ | |
556 | #define SHA384_TEST_VECTORS 4 | |
557 | ||
558 | static struct hash_testvec sha384_tv_template[] = { | |
559 | { | |
560 | .plaintext= "abc", | |
561 | .psize = 3, | |
562 | .digest = "\xcb\x00\x75\x3f\x45\xa3\x5e\x8b" | |
563 | "\xb5\xa0\x3d\x69\x9a\xc6\x50\x07" | |
564 | "\x27\x2c\x32\xab\x0e\xde\xd1\x63" | |
565 | "\x1a\x8b\x60\x5a\x43\xff\x5b\xed" | |
566 | "\x80\x86\x07\x2b\xa1\xe7\xcc\x23" | |
567 | "\x58\xba\xec\xa1\x34\xc8\x25\xa7", | |
568 | }, { | |
569 | .plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", | |
570 | .psize = 56, | |
571 | .digest = "\x33\x91\xfd\xdd\xfc\x8d\xc7\x39" | |
572 | "\x37\x07\xa6\x5b\x1b\x47\x09\x39" | |
573 | "\x7c\xf8\xb1\xd1\x62\xaf\x05\xab" | |
574 | "\xfe\x8f\x45\x0d\xe5\xf3\x6b\xc6" | |
575 | "\xb0\x45\x5a\x85\x20\xbc\x4e\x6f" | |
576 | "\x5f\xe9\x5b\x1f\xe3\xc8\x45\x2b", | |
577 | }, { | |
578 | .plaintext = "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn" | |
579 | "hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu", | |
580 | .psize = 112, | |
581 | .digest = "\x09\x33\x0c\x33\xf7\x11\x47\xe8" | |
582 | "\x3d\x19\x2f\xc7\x82\xcd\x1b\x47" | |
583 | "\x53\x11\x1b\x17\x3b\x3b\x05\xd2" | |
584 | "\x2f\xa0\x80\x86\xe3\xb0\xf7\x12" | |
585 | "\xfc\xc7\xc7\x1a\x55\x7e\x2d\xb9" | |
586 | "\x66\xc3\xe9\xfa\x91\x74\x60\x39", | |
587 | }, { | |
588 | .plaintext = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd" | |
589 | "efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz", | |
590 | .psize = 104, | |
591 | .digest = "\x3d\x20\x89\x73\xab\x35\x08\xdb" | |
592 | "\xbd\x7e\x2c\x28\x62\xba\x29\x0a" | |
593 | "\xd3\x01\x0e\x49\x78\xc1\x98\xdc" | |
594 | "\x4d\x8f\xd0\x14\xe5\x82\x82\x3a" | |
595 | "\x89\xe1\x6f\x9b\x2a\x7b\xbc\x1a" | |
596 | "\xc9\x38\xe2\xd1\x99\xe8\xbe\xa4", | |
597 | .np = 4, | |
598 | .tap = { 26, 26, 26, 26 } | |
599 | }, | |
600 | }; | |
601 | ||
602 | /* | |
603 | * SHA512 test vectors from from NIST and kerneli | |
604 | */ | |
605 | #define SHA512_TEST_VECTORS 4 | |
606 | ||
607 | static struct hash_testvec sha512_tv_template[] = { | |
608 | { | |
609 | .plaintext = "abc", | |
610 | .psize = 3, | |
611 | .digest = "\xdd\xaf\x35\xa1\x93\x61\x7a\xba" | |
612 | "\xcc\x41\x73\x49\xae\x20\x41\x31" | |
613 | "\x12\xe6\xfa\x4e\x89\xa9\x7e\xa2" | |
614 | "\x0a\x9e\xee\xe6\x4b\x55\xd3\x9a" | |
615 | "\x21\x92\x99\x2a\x27\x4f\xc1\xa8" | |
616 | "\x36\xba\x3c\x23\xa3\xfe\xeb\xbd" | |
617 | "\x45\x4d\x44\x23\x64\x3c\xe8\x0e" | |
618 | "\x2a\x9a\xc9\x4f\xa5\x4c\xa4\x9f", | |
619 | }, { | |
620 | .plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", | |
621 | .psize = 56, | |
622 | .digest = "\x20\x4a\x8f\xc6\xdd\xa8\x2f\x0a" | |
623 | "\x0c\xed\x7b\xeb\x8e\x08\xa4\x16" | |
624 | "\x57\xc1\x6e\xf4\x68\xb2\x28\xa8" | |
625 | "\x27\x9b\xe3\x31\xa7\x03\xc3\x35" | |
626 | "\x96\xfd\x15\xc1\x3b\x1b\x07\xf9" | |
627 | "\xaa\x1d\x3b\xea\x57\x78\x9c\xa0" | |
628 | "\x31\xad\x85\xc7\xa7\x1d\xd7\x03" | |
629 | "\x54\xec\x63\x12\x38\xca\x34\x45", | |
630 | }, { | |
631 | .plaintext = "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmn" | |
632 | "hijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu", | |
633 | .psize = 112, | |
634 | .digest = "\x8e\x95\x9b\x75\xda\xe3\x13\xda" | |
635 | "\x8c\xf4\xf7\x28\x14\xfc\x14\x3f" | |
636 | "\x8f\x77\x79\xc6\xeb\x9f\x7f\xa1" | |
637 | "\x72\x99\xae\xad\xb6\x88\x90\x18" | |
638 | "\x50\x1d\x28\x9e\x49\x00\xf7\xe4" | |
639 | "\x33\x1b\x99\xde\xc4\xb5\x43\x3a" | |
640 | "\xc7\xd3\x29\xee\xb6\xdd\x26\x54" | |
641 | "\x5e\x96\xe5\x5b\x87\x4b\xe9\x09", | |
642 | }, { | |
643 | .plaintext = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd" | |
644 | "efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz", | |
645 | .psize = 104, | |
646 | .digest = "\x93\x0d\x0c\xef\xcb\x30\xff\x11" | |
647 | "\x33\xb6\x89\x81\x21\xf1\xcf\x3d" | |
648 | "\x27\x57\x8a\xfc\xaf\xe8\x67\x7c" | |
649 | "\x52\x57\xcf\x06\x99\x11\xf7\x5d" | |
650 | "\x8f\x58\x31\xb5\x6e\xbf\xda\x67" | |
651 | "\xb2\x78\xe6\x6d\xff\x8b\x84\xfe" | |
652 | "\x2b\x28\x70\xf7\x42\xa5\x80\xd8" | |
653 | "\xed\xb4\x19\x87\x23\x28\x50\xc9", | |
654 | .np = 4, | |
655 | .tap = { 26, 26, 26, 26 } | |
656 | }, | |
657 | }; | |
658 | ||
659 | ||
660 | /* | |
661 | * WHIRLPOOL test vectors from Whirlpool package | |
662 | * by Vincent Rijmen and Paulo S. L. M. Barreto as part of the NESSIE | |
663 | * submission | |
664 | */ | |
665 | #define WP512_TEST_VECTORS 8 | |
666 | ||
667 | static struct hash_testvec wp512_tv_template[] = { | |
668 | { | |
669 | .plaintext = "", | |
670 | .psize = 0, | |
671 | .digest = "\x19\xFA\x61\xD7\x55\x22\xA4\x66" | |
672 | "\x9B\x44\xE3\x9C\x1D\x2E\x17\x26" | |
673 | "\xC5\x30\x23\x21\x30\xD4\x07\xF8" | |
674 | "\x9A\xFE\xE0\x96\x49\x97\xF7\xA7" | |
675 | "\x3E\x83\xBE\x69\x8B\x28\x8F\xEB" | |
676 | "\xCF\x88\xE3\xE0\x3C\x4F\x07\x57" | |
677 | "\xEA\x89\x64\xE5\x9B\x63\xD9\x37" | |
678 | "\x08\xB1\x38\xCC\x42\xA6\x6E\xB3", | |
679 | ||
680 | ||
681 | }, { | |
682 | .plaintext = "a", | |
683 | .psize = 1, | |
684 | .digest = "\x8A\xCA\x26\x02\x79\x2A\xEC\x6F" | |
685 | "\x11\xA6\x72\x06\x53\x1F\xB7\xD7" | |
686 | "\xF0\xDF\xF5\x94\x13\x14\x5E\x69" | |
687 | "\x73\xC4\x50\x01\xD0\x08\x7B\x42" | |
688 | "\xD1\x1B\xC6\x45\x41\x3A\xEF\xF6" | |
689 | "\x3A\x42\x39\x1A\x39\x14\x5A\x59" | |
690 | "\x1A\x92\x20\x0D\x56\x01\x95\xE5" | |
691 | "\x3B\x47\x85\x84\xFD\xAE\x23\x1A", | |
692 | }, { | |
693 | .plaintext = "abc", | |
694 | .psize = 3, | |
695 | .digest = "\x4E\x24\x48\xA4\xC6\xF4\x86\xBB" | |
696 | "\x16\xB6\x56\x2C\x73\xB4\x02\x0B" | |
697 | "\xF3\x04\x3E\x3A\x73\x1B\xCE\x72" | |
698 | "\x1A\xE1\xB3\x03\xD9\x7E\x6D\x4C" | |
699 | "\x71\x81\xEE\xBD\xB6\xC5\x7E\x27" | |
700 | "\x7D\x0E\x34\x95\x71\x14\xCB\xD6" | |
701 | "\xC7\x97\xFC\x9D\x95\xD8\xB5\x82" | |
702 | "\xD2\x25\x29\x20\x76\xD4\xEE\xF5", | |
703 | }, { | |
704 | .plaintext = "message digest", | |
705 | .psize = 14, | |
706 | .digest = "\x37\x8C\x84\xA4\x12\x6E\x2D\xC6" | |
707 | "\xE5\x6D\xCC\x74\x58\x37\x7A\xAC" | |
708 | "\x83\x8D\x00\x03\x22\x30\xF5\x3C" | |
709 | "\xE1\xF5\x70\x0C\x0F\xFB\x4D\x3B" | |
710 | "\x84\x21\x55\x76\x59\xEF\x55\xC1" | |
711 | "\x06\xB4\xB5\x2A\xC5\xA4\xAA\xA6" | |
712 | "\x92\xED\x92\x00\x52\x83\x8F\x33" | |
713 | "\x62\xE8\x6D\xBD\x37\xA8\x90\x3E", | |
714 | }, { | |
715 | .plaintext = "abcdefghijklmnopqrstuvwxyz", | |
716 | .psize = 26, | |
717 | .digest = "\xF1\xD7\x54\x66\x26\x36\xFF\xE9" | |
718 | "\x2C\x82\xEB\xB9\x21\x2A\x48\x4A" | |
719 | "\x8D\x38\x63\x1E\xAD\x42\x38\xF5" | |
720 | "\x44\x2E\xE1\x3B\x80\x54\xE4\x1B" | |
721 | "\x08\xBF\x2A\x92\x51\xC3\x0B\x6A" | |
722 | "\x0B\x8A\xAE\x86\x17\x7A\xB4\xA6" | |
723 | "\xF6\x8F\x67\x3E\x72\x07\x86\x5D" | |
724 | "\x5D\x98\x19\xA3\xDB\xA4\xEB\x3B", | |
725 | }, { | |
726 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" | |
727 | "abcdefghijklmnopqrstuvwxyz0123456789", | |
728 | .psize = 62, | |
729 | .digest = "\xDC\x37\xE0\x08\xCF\x9E\xE6\x9B" | |
730 | "\xF1\x1F\x00\xED\x9A\xBA\x26\x90" | |
731 | "\x1D\xD7\xC2\x8C\xDE\xC0\x66\xCC" | |
732 | "\x6A\xF4\x2E\x40\xF8\x2F\x3A\x1E" | |
733 | "\x08\xEB\xA2\x66\x29\x12\x9D\x8F" | |
734 | "\xB7\xCB\x57\x21\x1B\x92\x81\xA6" | |
735 | "\x55\x17\xCC\x87\x9D\x7B\x96\x21" | |
736 | "\x42\xC6\x5F\x5A\x7A\xF0\x14\x67", | |
737 | }, { | |
738 | .plaintext = "1234567890123456789012345678901234567890" | |
739 | "1234567890123456789012345678901234567890", | |
740 | .psize = 80, | |
741 | .digest = "\x46\x6E\xF1\x8B\xAB\xB0\x15\x4D" | |
742 | "\x25\xB9\xD3\x8A\x64\x14\xF5\xC0" | |
743 | "\x87\x84\x37\x2B\xCC\xB2\x04\xD6" | |
744 | "\x54\x9C\x4A\xFA\xDB\x60\x14\x29" | |
745 | "\x4D\x5B\xD8\xDF\x2A\x6C\x44\xE5" | |
746 | "\x38\xCD\x04\x7B\x26\x81\xA5\x1A" | |
747 | "\x2C\x60\x48\x1E\x88\xC5\xA2\x0B" | |
748 | "\x2C\x2A\x80\xCF\x3A\x9A\x08\x3B", | |
749 | }, { | |
750 | .plaintext = "abcdbcdecdefdefgefghfghighijhijk", | |
751 | .psize = 32, | |
752 | .digest = "\x2A\x98\x7E\xA4\x0F\x91\x70\x61" | |
753 | "\xF5\xD6\xF0\xA0\xE4\x64\x4F\x48" | |
754 | "\x8A\x7A\x5A\x52\xDE\xEE\x65\x62" | |
755 | "\x07\xC5\x62\xF9\x88\xE9\x5C\x69" | |
756 | "\x16\xBD\xC8\x03\x1B\xC5\xBE\x1B" | |
757 | "\x7B\x94\x76\x39\xFE\x05\x0B\x56" | |
758 | "\x93\x9B\xAA\xA0\xAD\xFF\x9A\xE6" | |
759 | "\x74\x5B\x7B\x18\x1C\x3B\xE3\xFD", | |
760 | }, | |
761 | }; | |
762 | ||
763 | #define WP384_TEST_VECTORS 8 | |
764 | ||
765 | static struct hash_testvec wp384_tv_template[] = { | |
766 | { | |
767 | .plaintext = "", | |
768 | .psize = 0, | |
769 | .digest = "\x19\xFA\x61\xD7\x55\x22\xA4\x66" | |
770 | "\x9B\x44\xE3\x9C\x1D\x2E\x17\x26" | |
771 | "\xC5\x30\x23\x21\x30\xD4\x07\xF8" | |
772 | "\x9A\xFE\xE0\x96\x49\x97\xF7\xA7" | |
773 | "\x3E\x83\xBE\x69\x8B\x28\x8F\xEB" | |
774 | "\xCF\x88\xE3\xE0\x3C\x4F\x07\x57", | |
775 | ||
776 | ||
777 | }, { | |
778 | .plaintext = "a", | |
779 | .psize = 1, | |
780 | .digest = "\x8A\xCA\x26\x02\x79\x2A\xEC\x6F" | |
781 | "\x11\xA6\x72\x06\x53\x1F\xB7\xD7" | |
782 | "\xF0\xDF\xF5\x94\x13\x14\x5E\x69" | |
783 | "\x73\xC4\x50\x01\xD0\x08\x7B\x42" | |
784 | "\xD1\x1B\xC6\x45\x41\x3A\xEF\xF6" | |
785 | "\x3A\x42\x39\x1A\x39\x14\x5A\x59", | |
786 | }, { | |
787 | .plaintext = "abc", | |
788 | .psize = 3, | |
789 | .digest = "\x4E\x24\x48\xA4\xC6\xF4\x86\xBB" | |
790 | "\x16\xB6\x56\x2C\x73\xB4\x02\x0B" | |
791 | "\xF3\x04\x3E\x3A\x73\x1B\xCE\x72" | |
792 | "\x1A\xE1\xB3\x03\xD9\x7E\x6D\x4C" | |
793 | "\x71\x81\xEE\xBD\xB6\xC5\x7E\x27" | |
794 | "\x7D\x0E\x34\x95\x71\x14\xCB\xD6", | |
795 | }, { | |
796 | .plaintext = "message digest", | |
797 | .psize = 14, | |
798 | .digest = "\x37\x8C\x84\xA4\x12\x6E\x2D\xC6" | |
799 | "\xE5\x6D\xCC\x74\x58\x37\x7A\xAC" | |
800 | "\x83\x8D\x00\x03\x22\x30\xF5\x3C" | |
801 | "\xE1\xF5\x70\x0C\x0F\xFB\x4D\x3B" | |
802 | "\x84\x21\x55\x76\x59\xEF\x55\xC1" | |
803 | "\x06\xB4\xB5\x2A\xC5\xA4\xAA\xA6", | |
804 | }, { | |
805 | .plaintext = "abcdefghijklmnopqrstuvwxyz", | |
806 | .psize = 26, | |
807 | .digest = "\xF1\xD7\x54\x66\x26\x36\xFF\xE9" | |
808 | "\x2C\x82\xEB\xB9\x21\x2A\x48\x4A" | |
809 | "\x8D\x38\x63\x1E\xAD\x42\x38\xF5" | |
810 | "\x44\x2E\xE1\x3B\x80\x54\xE4\x1B" | |
811 | "\x08\xBF\x2A\x92\x51\xC3\x0B\x6A" | |
812 | "\x0B\x8A\xAE\x86\x17\x7A\xB4\xA6", | |
813 | }, { | |
814 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" | |
815 | "abcdefghijklmnopqrstuvwxyz0123456789", | |
816 | .psize = 62, | |
817 | .digest = "\xDC\x37\xE0\x08\xCF\x9E\xE6\x9B" | |
818 | "\xF1\x1F\x00\xED\x9A\xBA\x26\x90" | |
819 | "\x1D\xD7\xC2\x8C\xDE\xC0\x66\xCC" | |
820 | "\x6A\xF4\x2E\x40\xF8\x2F\x3A\x1E" | |
821 | "\x08\xEB\xA2\x66\x29\x12\x9D\x8F" | |
822 | "\xB7\xCB\x57\x21\x1B\x92\x81\xA6", | |
823 | }, { | |
824 | .plaintext = "1234567890123456789012345678901234567890" | |
825 | "1234567890123456789012345678901234567890", | |
826 | .psize = 80, | |
827 | .digest = "\x46\x6E\xF1\x8B\xAB\xB0\x15\x4D" | |
828 | "\x25\xB9\xD3\x8A\x64\x14\xF5\xC0" | |
829 | "\x87\x84\x37\x2B\xCC\xB2\x04\xD6" | |
830 | "\x54\x9C\x4A\xFA\xDB\x60\x14\x29" | |
831 | "\x4D\x5B\xD8\xDF\x2A\x6C\x44\xE5" | |
832 | "\x38\xCD\x04\x7B\x26\x81\xA5\x1A", | |
833 | }, { | |
834 | .plaintext = "abcdbcdecdefdefgefghfghighijhijk", | |
835 | .psize = 32, | |
836 | .digest = "\x2A\x98\x7E\xA4\x0F\x91\x70\x61" | |
837 | "\xF5\xD6\xF0\xA0\xE4\x64\x4F\x48" | |
838 | "\x8A\x7A\x5A\x52\xDE\xEE\x65\x62" | |
839 | "\x07\xC5\x62\xF9\x88\xE9\x5C\x69" | |
840 | "\x16\xBD\xC8\x03\x1B\xC5\xBE\x1B" | |
841 | "\x7B\x94\x76\x39\xFE\x05\x0B\x56", | |
842 | }, | |
843 | }; | |
844 | ||
845 | #define WP256_TEST_VECTORS 8 | |
846 | ||
847 | static struct hash_testvec wp256_tv_template[] = { | |
848 | { | |
849 | .plaintext = "", | |
850 | .psize = 0, | |
851 | .digest = "\x19\xFA\x61\xD7\x55\x22\xA4\x66" | |
852 | "\x9B\x44\xE3\x9C\x1D\x2E\x17\x26" | |
853 | "\xC5\x30\x23\x21\x30\xD4\x07\xF8" | |
854 | "\x9A\xFE\xE0\x96\x49\x97\xF7\xA7", | |
855 | ||
856 | ||
857 | }, { | |
858 | .plaintext = "a", | |
859 | .psize = 1, | |
860 | .digest = "\x8A\xCA\x26\x02\x79\x2A\xEC\x6F" | |
861 | "\x11\xA6\x72\x06\x53\x1F\xB7\xD7" | |
862 | "\xF0\xDF\xF5\x94\x13\x14\x5E\x69" | |
863 | "\x73\xC4\x50\x01\xD0\x08\x7B\x42", | |
864 | }, { | |
865 | .plaintext = "abc", | |
866 | .psize = 3, | |
867 | .digest = "\x4E\x24\x48\xA4\xC6\xF4\x86\xBB" | |
868 | "\x16\xB6\x56\x2C\x73\xB4\x02\x0B" | |
869 | "\xF3\x04\x3E\x3A\x73\x1B\xCE\x72" | |
870 | "\x1A\xE1\xB3\x03\xD9\x7E\x6D\x4C", | |
871 | }, { | |
872 | .plaintext = "message digest", | |
873 | .psize = 14, | |
874 | .digest = "\x37\x8C\x84\xA4\x12\x6E\x2D\xC6" | |
875 | "\xE5\x6D\xCC\x74\x58\x37\x7A\xAC" | |
876 | "\x83\x8D\x00\x03\x22\x30\xF5\x3C" | |
877 | "\xE1\xF5\x70\x0C\x0F\xFB\x4D\x3B", | |
878 | }, { | |
879 | .plaintext = "abcdefghijklmnopqrstuvwxyz", | |
880 | .psize = 26, | |
881 | .digest = "\xF1\xD7\x54\x66\x26\x36\xFF\xE9" | |
882 | "\x2C\x82\xEB\xB9\x21\x2A\x48\x4A" | |
883 | "\x8D\x38\x63\x1E\xAD\x42\x38\xF5" | |
884 | "\x44\x2E\xE1\x3B\x80\x54\xE4\x1B", | |
885 | }, { | |
886 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" | |
887 | "abcdefghijklmnopqrstuvwxyz0123456789", | |
888 | .psize = 62, | |
889 | .digest = "\xDC\x37\xE0\x08\xCF\x9E\xE6\x9B" | |
890 | "\xF1\x1F\x00\xED\x9A\xBA\x26\x90" | |
891 | "\x1D\xD7\xC2\x8C\xDE\xC0\x66\xCC" | |
892 | "\x6A\xF4\x2E\x40\xF8\x2F\x3A\x1E", | |
893 | }, { | |
894 | .plaintext = "1234567890123456789012345678901234567890" | |
895 | "1234567890123456789012345678901234567890", | |
896 | .psize = 80, | |
897 | .digest = "\x46\x6E\xF1\x8B\xAB\xB0\x15\x4D" | |
898 | "\x25\xB9\xD3\x8A\x64\x14\xF5\xC0" | |
899 | "\x87\x84\x37\x2B\xCC\xB2\x04\xD6" | |
900 | "\x54\x9C\x4A\xFA\xDB\x60\x14\x29", | |
901 | }, { | |
902 | .plaintext = "abcdbcdecdefdefgefghfghighijhijk", | |
903 | .psize = 32, | |
904 | .digest = "\x2A\x98\x7E\xA4\x0F\x91\x70\x61" | |
905 | "\xF5\xD6\xF0\xA0\xE4\x64\x4F\x48" | |
906 | "\x8A\x7A\x5A\x52\xDE\xEE\x65\x62" | |
907 | "\x07\xC5\x62\xF9\x88\xE9\x5C\x69", | |
908 | }, | |
909 | }; | |
910 | ||
911 | /* | |
912 | * TIGER test vectors from Tiger website | |
913 | */ | |
914 | #define TGR192_TEST_VECTORS 6 | |
915 | ||
916 | static struct hash_testvec tgr192_tv_template[] = { | |
917 | { | |
918 | .plaintext = "", | |
919 | .psize = 0, | |
920 | .digest = "\x24\xf0\x13\x0c\x63\xac\x93\x32" | |
921 | "\x16\x16\x6e\x76\xb1\xbb\x92\x5f" | |
922 | "\xf3\x73\xde\x2d\x49\x58\x4e\x7a", | |
923 | }, { | |
924 | .plaintext = "abc", | |
925 | .psize = 3, | |
926 | .digest = "\xf2\x58\xc1\xe8\x84\x14\xab\x2a" | |
927 | "\x52\x7a\xb5\x41\xff\xc5\xb8\xbf" | |
928 | "\x93\x5f\x7b\x95\x1c\x13\x29\x51", | |
929 | }, { | |
930 | .plaintext = "Tiger", | |
931 | .psize = 5, | |
932 | .digest = "\x9f\x00\xf5\x99\x07\x23\x00\xdd" | |
933 | "\x27\x6a\xbb\x38\xc8\xeb\x6d\xec" | |
934 | "\x37\x79\x0c\x11\x6f\x9d\x2b\xdf", | |
935 | }, { | |
936 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-", | |
937 | .psize = 64, | |
938 | .digest = "\x87\xfb\x2a\x90\x83\x85\x1c\xf7" | |
939 | "\x47\x0d\x2c\xf8\x10\xe6\xdf\x9e" | |
940 | "\xb5\x86\x44\x50\x34\xa5\xa3\x86", | |
941 | }, { | |
942 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ=abcdefghijklmnopqrstuvwxyz+0123456789", | |
943 | .psize = 64, | |
944 | .digest = "\x46\x7d\xb8\x08\x63\xeb\xce\x48" | |
945 | "\x8d\xf1\xcd\x12\x61\x65\x5d\xe9" | |
946 | "\x57\x89\x65\x65\x97\x5f\x91\x97", | |
947 | }, { | |
948 | .plaintext = "Tiger - A Fast New Hash Function, " | |
949 | "by Ross Anderson and Eli Biham, " | |
950 | "proceedings of Fast Software Encryption 3, " | |
951 | "Cambridge, 1996.", | |
952 | .psize = 125, | |
953 | .digest = "\x3d\x9a\xeb\x03\xd1\xbd\x1a\x63" | |
954 | "\x57\xb2\x77\x4d\xfd\x6d\x5b\x24" | |
955 | "\xdd\x68\x15\x1d\x50\x39\x74\xfc", | |
956 | }, | |
957 | }; | |
958 | ||
959 | #define TGR160_TEST_VECTORS 6 | |
960 | ||
961 | static struct hash_testvec tgr160_tv_template[] = { | |
962 | { | |
963 | .plaintext = "", | |
964 | .psize = 0, | |
965 | .digest = "\x24\xf0\x13\x0c\x63\xac\x93\x32" | |
966 | "\x16\x16\x6e\x76\xb1\xbb\x92\x5f" | |
967 | "\xf3\x73\xde\x2d", | |
968 | }, { | |
969 | .plaintext = "abc", | |
970 | .psize = 3, | |
971 | .digest = "\xf2\x58\xc1\xe8\x84\x14\xab\x2a" | |
972 | "\x52\x7a\xb5\x41\xff\xc5\xb8\xbf" | |
973 | "\x93\x5f\x7b\x95", | |
974 | }, { | |
975 | .plaintext = "Tiger", | |
976 | .psize = 5, | |
977 | .digest = "\x9f\x00\xf5\x99\x07\x23\x00\xdd" | |
978 | "\x27\x6a\xbb\x38\xc8\xeb\x6d\xec" | |
979 | "\x37\x79\x0c\x11", | |
980 | }, { | |
981 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-", | |
982 | .psize = 64, | |
983 | .digest = "\x87\xfb\x2a\x90\x83\x85\x1c\xf7" | |
984 | "\x47\x0d\x2c\xf8\x10\xe6\xdf\x9e" | |
985 | "\xb5\x86\x44\x50", | |
986 | }, { | |
987 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ=abcdefghijklmnopqrstuvwxyz+0123456789", | |
988 | .psize = 64, | |
989 | .digest = "\x46\x7d\xb8\x08\x63\xeb\xce\x48" | |
990 | "\x8d\xf1\xcd\x12\x61\x65\x5d\xe9" | |
991 | "\x57\x89\x65\x65", | |
992 | }, { | |
993 | .plaintext = "Tiger - A Fast New Hash Function, " | |
994 | "by Ross Anderson and Eli Biham, " | |
995 | "proceedings of Fast Software Encryption 3, " | |
996 | "Cambridge, 1996.", | |
997 | .psize = 125, | |
998 | .digest = "\x3d\x9a\xeb\x03\xd1\xbd\x1a\x63" | |
999 | "\x57\xb2\x77\x4d\xfd\x6d\x5b\x24" | |
1000 | "\xdd\x68\x15\x1d", | |
1001 | }, | |
1002 | }; | |
1003 | ||
1004 | #define TGR128_TEST_VECTORS 6 | |
1005 | ||
1006 | static struct hash_testvec tgr128_tv_template[] = { | |
1007 | { | |
1008 | .plaintext = "", | |
1009 | .psize = 0, | |
1010 | .digest = "\x24\xf0\x13\x0c\x63\xac\x93\x32" | |
1011 | "\x16\x16\x6e\x76\xb1\xbb\x92\x5f", | |
1012 | }, { | |
1013 | .plaintext = "abc", | |
1014 | .psize = 3, | |
1015 | .digest = "\xf2\x58\xc1\xe8\x84\x14\xab\x2a" | |
1016 | "\x52\x7a\xb5\x41\xff\xc5\xb8\xbf", | |
1017 | }, { | |
1018 | .plaintext = "Tiger", | |
1019 | .psize = 5, | |
1020 | .digest = "\x9f\x00\xf5\x99\x07\x23\x00\xdd" | |
1021 | "\x27\x6a\xbb\x38\xc8\xeb\x6d\xec", | |
1022 | }, { | |
1023 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-", | |
1024 | .psize = 64, | |
1025 | .digest = "\x87\xfb\x2a\x90\x83\x85\x1c\xf7" | |
1026 | "\x47\x0d\x2c\xf8\x10\xe6\xdf\x9e", | |
1027 | }, { | |
1028 | .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ=abcdefghijklmnopqrstuvwxyz+0123456789", | |
1029 | .psize = 64, | |
1030 | .digest = "\x46\x7d\xb8\x08\x63\xeb\xce\x48" | |
1031 | "\x8d\xf1\xcd\x12\x61\x65\x5d\xe9", | |
1032 | }, { | |
1033 | .plaintext = "Tiger - A Fast New Hash Function, " | |
1034 | "by Ross Anderson and Eli Biham, " | |
1035 | "proceedings of Fast Software Encryption 3, " | |
1036 | "Cambridge, 1996.", | |
1037 | .psize = 125, | |
1038 | .digest = "\x3d\x9a\xeb\x03\xd1\xbd\x1a\x63" | |
1039 | "\x57\xb2\x77\x4d\xfd\x6d\x5b\x24", | |
1040 | }, | |
1041 | }; | |
1042 | ||
507069c9 YS |
1043 | #define GHASH_TEST_VECTORS 1 |
1044 | ||
1045 | static struct hash_testvec ghash_tv_template[] = | |
1046 | { | |
1047 | { | |
1048 | ||
1049 | .key = "\xdf\xa6\xbf\x4d\xed\x81\xdb\x03\xff\xca\xff\x95\xf8\x30\xf0\x61", | |
1050 | .ksize = 16, | |
1051 | .plaintext = "\x95\x2b\x2a\x56\xa5\x60\x04a\xc0\xb3\x2b\x66\x56\xa0\x5b\x40\xb6", | |
1052 | .psize = 16, | |
1053 | .digest = "\xda\x53\xeb\x0a\xd2\xc5\x5b\xb6" | |
1054 | "\x4f\xc4\x80\x2c\xc3\xfe\xda\x60", | |
1055 | }, | |
1056 | }; | |
1057 | ||
da7f033d HX |
1058 | /* |
1059 | * HMAC-MD5 test vectors from RFC2202 | |
1060 | * (These need to be fixed to not use strlen). | |
1061 | */ | |
1062 | #define HMAC_MD5_TEST_VECTORS 7 | |
1063 | ||
1064 | static struct hash_testvec hmac_md5_tv_template[] = | |
1065 | { | |
1066 | { | |
1067 | .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b", | |
1068 | .ksize = 16, | |
1069 | .plaintext = "Hi There", | |
1070 | .psize = 8, | |
1071 | .digest = "\x92\x94\x72\x7a\x36\x38\xbb\x1c" | |
1072 | "\x13\xf4\x8e\xf8\x15\x8b\xfc\x9d", | |
1073 | }, { | |
1074 | .key = "Jefe", | |
1075 | .ksize = 4, | |
1076 | .plaintext = "what do ya want for nothing?", | |
1077 | .psize = 28, | |
1078 | .digest = "\x75\x0c\x78\x3e\x6a\xb0\xb5\x03" | |
1079 | "\xea\xa8\x6e\x31\x0a\x5d\xb7\x38", | |
1080 | .np = 2, | |
1081 | .tap = {14, 14} | |
1082 | }, { | |
1083 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", | |
1084 | .ksize = 16, | |
1085 | .plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1086 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1087 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1088 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd", | |
1089 | .psize = 50, | |
1090 | .digest = "\x56\xbe\x34\x52\x1d\x14\x4c\x88" | |
1091 | "\xdb\xb8\xc7\x33\xf0\xe8\xb3\xf6", | |
1092 | }, { | |
1093 | .key = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
1094 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
1095 | "\x11\x12\x13\x14\x15\x16\x17\x18\x19", | |
1096 | .ksize = 25, | |
1097 | .plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1098 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1099 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1100 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd", | |
1101 | .psize = 50, | |
1102 | .digest = "\x69\x7e\xaf\x0a\xca\x3a\x3a\xea" | |
1103 | "\x3a\x75\x16\x47\x46\xff\xaa\x79", | |
1104 | }, { | |
1105 | .key = "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c", | |
1106 | .ksize = 16, | |
1107 | .plaintext = "Test With Truncation", | |
1108 | .psize = 20, | |
1109 | .digest = "\x56\x46\x1e\xf2\x34\x2e\xdc\x00" | |
1110 | "\xf9\xba\xb9\x95\x69\x0e\xfd\x4c", | |
1111 | }, { | |
1112 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1113 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1114 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1115 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1116 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1117 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1118 | "\xaa\xaa", | |
1119 | .ksize = 80, | |
1120 | .plaintext = "Test Using Larger Than Block-Size Key - Hash Key First", | |
1121 | .psize = 54, | |
1122 | .digest = "\x6b\x1a\xb7\xfe\x4b\xd7\xbf\x8f" | |
1123 | "\x0b\x62\xe6\xce\x61\xb9\xd0\xcd", | |
1124 | }, { | |
1125 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1126 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1127 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1128 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1129 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1130 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1131 | "\xaa\xaa", | |
1132 | .ksize = 80, | |
1133 | .plaintext = "Test Using Larger Than Block-Size Key and Larger Than One " | |
1134 | "Block-Size Data", | |
1135 | .psize = 73, | |
1136 | .digest = "\x6f\x63\x0f\xad\x67\xcd\xa0\xee" | |
1137 | "\x1f\xb1\xf5\x62\xdb\x3a\xa5\x3e", | |
1138 | }, | |
1139 | }; | |
1140 | ||
1141 | /* | |
1142 | * HMAC-RIPEMD128 test vectors from RFC2286 | |
1143 | */ | |
1144 | #define HMAC_RMD128_TEST_VECTORS 7 | |
1145 | ||
1146 | static struct hash_testvec hmac_rmd128_tv_template[] = { | |
1147 | { | |
1148 | .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b", | |
1149 | .ksize = 16, | |
1150 | .plaintext = "Hi There", | |
1151 | .psize = 8, | |
1152 | .digest = "\xfb\xf6\x1f\x94\x92\xaa\x4b\xbf" | |
1153 | "\x81\xc1\x72\xe8\x4e\x07\x34\xdb", | |
1154 | }, { | |
1155 | .key = "Jefe", | |
1156 | .ksize = 4, | |
1157 | .plaintext = "what do ya want for nothing?", | |
1158 | .psize = 28, | |
1159 | .digest = "\x87\x5f\x82\x88\x62\xb6\xb3\x34" | |
1160 | "\xb4\x27\xc5\x5f\x9f\x7f\xf0\x9b", | |
1161 | .np = 2, | |
1162 | .tap = { 14, 14 }, | |
1163 | }, { | |
1164 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", | |
1165 | .ksize = 16, | |
1166 | .plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1167 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1168 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1169 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd", | |
1170 | .psize = 50, | |
1171 | .digest = "\x09\xf0\xb2\x84\x6d\x2f\x54\x3d" | |
1172 | "\xa3\x63\xcb\xec\x8d\x62\xa3\x8d", | |
1173 | }, { | |
1174 | .key = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
1175 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
1176 | "\x11\x12\x13\x14\x15\x16\x17\x18\x19", | |
1177 | .ksize = 25, | |
1178 | .plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1179 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1180 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1181 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd", | |
1182 | .psize = 50, | |
1183 | .digest = "\xbd\xbb\xd7\xcf\x03\xe4\x4b\x5a" | |
1184 | "\xa6\x0a\xf8\x15\xbe\x4d\x22\x94", | |
1185 | }, { | |
1186 | .key = "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c", | |
1187 | .ksize = 16, | |
1188 | .plaintext = "Test With Truncation", | |
1189 | .psize = 20, | |
1190 | .digest = "\xe7\x98\x08\xf2\x4b\x25\xfd\x03" | |
1191 | "\x1c\x15\x5f\x0d\x55\x1d\x9a\x3a", | |
1192 | }, { | |
1193 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1194 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1195 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1196 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1197 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1198 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1199 | "\xaa\xaa", | |
1200 | .ksize = 80, | |
1201 | .plaintext = "Test Using Larger Than Block-Size Key - Hash Key First", | |
1202 | .psize = 54, | |
1203 | .digest = "\xdc\x73\x29\x28\xde\x98\x10\x4a" | |
1204 | "\x1f\x59\xd3\x73\xc1\x50\xac\xbb", | |
1205 | }, { | |
1206 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1207 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1208 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1209 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1210 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1211 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1212 | "\xaa\xaa", | |
1213 | .ksize = 80, | |
1214 | .plaintext = "Test Using Larger Than Block-Size Key and Larger Than One " | |
1215 | "Block-Size Data", | |
1216 | .psize = 73, | |
1217 | .digest = "\x5c\x6b\xec\x96\x79\x3e\x16\xd4" | |
1218 | "\x06\x90\xc2\x37\x63\x5f\x30\xc5", | |
1219 | }, | |
1220 | }; | |
1221 | ||
1222 | /* | |
1223 | * HMAC-RIPEMD160 test vectors from RFC2286 | |
1224 | */ | |
1225 | #define HMAC_RMD160_TEST_VECTORS 7 | |
1226 | ||
1227 | static struct hash_testvec hmac_rmd160_tv_template[] = { | |
1228 | { | |
1229 | .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b", | |
1230 | .ksize = 20, | |
1231 | .plaintext = "Hi There", | |
1232 | .psize = 8, | |
1233 | .digest = "\x24\xcb\x4b\xd6\x7d\x20\xfc\x1a\x5d\x2e" | |
1234 | "\xd7\x73\x2d\xcc\x39\x37\x7f\x0a\x56\x68", | |
1235 | }, { | |
1236 | .key = "Jefe", | |
1237 | .ksize = 4, | |
1238 | .plaintext = "what do ya want for nothing?", | |
1239 | .psize = 28, | |
1240 | .digest = "\xdd\xa6\xc0\x21\x3a\x48\x5a\x9e\x24\xf4" | |
1241 | "\x74\x20\x64\xa7\xf0\x33\xb4\x3c\x40\x69", | |
1242 | .np = 2, | |
1243 | .tap = { 14, 14 }, | |
1244 | }, { | |
1245 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", | |
1246 | .ksize = 20, | |
1247 | .plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1248 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1249 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1250 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd", | |
1251 | .psize = 50, | |
1252 | .digest = "\xb0\xb1\x05\x36\x0d\xe7\x59\x96\x0a\xb4" | |
1253 | "\xf3\x52\x98\xe1\x16\xe2\x95\xd8\xe7\xc1", | |
1254 | }, { | |
1255 | .key = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
1256 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
1257 | "\x11\x12\x13\x14\x15\x16\x17\x18\x19", | |
1258 | .ksize = 25, | |
1259 | .plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1260 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1261 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1262 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd", | |
1263 | .psize = 50, | |
1264 | .digest = "\xd5\xca\x86\x2f\x4d\x21\xd5\xe6\x10\xe1" | |
1265 | "\x8b\x4c\xf1\xbe\xb9\x7a\x43\x65\xec\xf4", | |
1266 | }, { | |
1267 | .key = "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c", | |
1268 | .ksize = 20, | |
1269 | .plaintext = "Test With Truncation", | |
1270 | .psize = 20, | |
1271 | .digest = "\x76\x19\x69\x39\x78\xf9\x1d\x90\x53\x9a" | |
1272 | "\xe7\x86\x50\x0f\xf3\xd8\xe0\x51\x8e\x39", | |
1273 | }, { | |
1274 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1275 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1276 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1277 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1278 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1279 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1280 | "\xaa\xaa", | |
1281 | .ksize = 80, | |
1282 | .plaintext = "Test Using Larger Than Block-Size Key - Hash Key First", | |
1283 | .psize = 54, | |
1284 | .digest = "\x64\x66\xca\x07\xac\x5e\xac\x29\xe1\xbd" | |
1285 | "\x52\x3e\x5a\xda\x76\x05\xb7\x91\xfd\x8b", | |
1286 | }, { | |
1287 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1288 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1289 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1290 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1291 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1292 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1293 | "\xaa\xaa", | |
1294 | .ksize = 80, | |
1295 | .plaintext = "Test Using Larger Than Block-Size Key and Larger Than One " | |
1296 | "Block-Size Data", | |
1297 | .psize = 73, | |
1298 | .digest = "\x69\xea\x60\x79\x8d\x71\x61\x6c\xce\x5f" | |
1299 | "\xd0\x87\x1e\x23\x75\x4c\xd7\x5d\x5a\x0a", | |
1300 | }, | |
1301 | }; | |
1302 | ||
1303 | /* | |
1304 | * HMAC-SHA1 test vectors from RFC2202 | |
1305 | */ | |
1306 | #define HMAC_SHA1_TEST_VECTORS 7 | |
1307 | ||
1308 | static struct hash_testvec hmac_sha1_tv_template[] = { | |
1309 | { | |
1310 | .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b", | |
1311 | .ksize = 20, | |
1312 | .plaintext = "Hi There", | |
1313 | .psize = 8, | |
1314 | .digest = "\xb6\x17\x31\x86\x55\x05\x72\x64" | |
1315 | "\xe2\x8b\xc0\xb6\xfb\x37\x8c\x8e\xf1" | |
1316 | "\x46\xbe", | |
1317 | }, { | |
1318 | .key = "Jefe", | |
1319 | .ksize = 4, | |
1320 | .plaintext = "what do ya want for nothing?", | |
1321 | .psize = 28, | |
1322 | .digest = "\xef\xfc\xdf\x6a\xe5\xeb\x2f\xa2\xd2\x74" | |
1323 | "\x16\xd5\xf1\x84\xdf\x9c\x25\x9a\x7c\x79", | |
1324 | .np = 2, | |
1325 | .tap = { 14, 14 } | |
1326 | }, { | |
1327 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", | |
1328 | .ksize = 20, | |
1329 | .plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1330 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1331 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1332 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd", | |
1333 | .psize = 50, | |
1334 | .digest = "\x12\x5d\x73\x42\xb9\xac\x11\xcd\x91\xa3" | |
1335 | "\x9a\xf4\x8a\xa1\x7b\x4f\x63\xf1\x75\xd3", | |
1336 | }, { | |
1337 | .key = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
1338 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
1339 | "\x11\x12\x13\x14\x15\x16\x17\x18\x19", | |
1340 | .ksize = 25, | |
1341 | .plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1342 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1343 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1344 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd", | |
1345 | .psize = 50, | |
1346 | .digest = "\x4c\x90\x07\xf4\x02\x62\x50\xc6\xbc\x84" | |
1347 | "\x14\xf9\xbf\x50\xc8\x6c\x2d\x72\x35\xda", | |
1348 | }, { | |
1349 | .key = "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c", | |
1350 | .ksize = 20, | |
1351 | .plaintext = "Test With Truncation", | |
1352 | .psize = 20, | |
1353 | .digest = "\x4c\x1a\x03\x42\x4b\x55\xe0\x7f\xe7\xf2" | |
1354 | "\x7b\xe1\xd5\x8b\xb9\x32\x4a\x9a\x5a\x04", | |
1355 | }, { | |
1356 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1357 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1358 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1359 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1360 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1361 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1362 | "\xaa\xaa", | |
1363 | .ksize = 80, | |
1364 | .plaintext = "Test Using Larger Than Block-Size Key - Hash Key First", | |
1365 | .psize = 54, | |
1366 | .digest = "\xaa\x4a\xe5\xe1\x52\x72\xd0\x0e\x95\x70" | |
1367 | "\x56\x37\xce\x8a\x3b\x55\xed\x40\x21\x12", | |
1368 | }, { | |
1369 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1370 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1371 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1372 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1373 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1374 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1375 | "\xaa\xaa", | |
1376 | .ksize = 80, | |
1377 | .plaintext = "Test Using Larger Than Block-Size Key and Larger Than One " | |
1378 | "Block-Size Data", | |
1379 | .psize = 73, | |
1380 | .digest = "\xe8\xe9\x9d\x0f\x45\x23\x7d\x78\x6d\x6b" | |
1381 | "\xba\xa7\x96\x5c\x78\x08\xbb\xff\x1a\x91", | |
1382 | }, | |
1383 | }; | |
1384 | ||
1385 | ||
1386 | /* | |
1387 | * SHA224 HMAC test vectors from RFC4231 | |
1388 | */ | |
1389 | #define HMAC_SHA224_TEST_VECTORS 4 | |
1390 | ||
1391 | static struct hash_testvec hmac_sha224_tv_template[] = { | |
1392 | { | |
1393 | .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" | |
1394 | "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" | |
1395 | "\x0b\x0b\x0b\x0b", | |
1396 | .ksize = 20, | |
1397 | /* ("Hi There") */ | |
1398 | .plaintext = "\x48\x69\x20\x54\x68\x65\x72\x65", | |
1399 | .psize = 8, | |
1400 | .digest = "\x89\x6f\xb1\x12\x8a\xbb\xdf\x19" | |
1401 | "\x68\x32\x10\x7c\xd4\x9d\xf3\x3f" | |
1402 | "\x47\xb4\xb1\x16\x99\x12\xba\x4f" | |
1403 | "\x53\x68\x4b\x22", | |
1404 | }, { | |
1405 | .key = "Jefe", | |
1406 | .ksize = 4, | |
1407 | /* ("what do ya want for nothing?") */ | |
1408 | .plaintext = "\x77\x68\x61\x74\x20\x64\x6f\x20" | |
1409 | "\x79\x61\x20\x77\x61\x6e\x74\x20" | |
1410 | "\x66\x6f\x72\x20\x6e\x6f\x74\x68" | |
1411 | "\x69\x6e\x67\x3f", | |
1412 | .psize = 28, | |
1413 | .digest = "\xa3\x0e\x01\x09\x8b\xc6\xdb\xbf" | |
1414 | "\x45\x69\x0f\x3a\x7e\x9e\x6d\x0f" | |
1415 | "\x8b\xbe\xa2\xa3\x9e\x61\x48\x00" | |
1416 | "\x8f\xd0\x5e\x44", | |
1417 | .np = 4, | |
1418 | .tap = { 7, 7, 7, 7 } | |
1419 | }, { | |
1420 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1421 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1422 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1423 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1424 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1425 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1426 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1427 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1428 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1429 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1430 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1431 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1432 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1433 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1434 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1435 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1436 | "\xaa\xaa\xaa", | |
1437 | .ksize = 131, | |
1438 | /* ("Test Using Larger Than Block-Size Key - Hash Key First") */ | |
1439 | .plaintext = "\x54\x65\x73\x74\x20\x55\x73\x69" | |
1440 | "\x6e\x67\x20\x4c\x61\x72\x67\x65" | |
1441 | "\x72\x20\x54\x68\x61\x6e\x20\x42" | |
1442 | "\x6c\x6f\x63\x6b\x2d\x53\x69\x7a" | |
1443 | "\x65\x20\x4b\x65\x79\x20\x2d\x20" | |
1444 | "\x48\x61\x73\x68\x20\x4b\x65\x79" | |
1445 | "\x20\x46\x69\x72\x73\x74", | |
1446 | .psize = 54, | |
1447 | .digest = "\x95\xe9\xa0\xdb\x96\x20\x95\xad" | |
1448 | "\xae\xbe\x9b\x2d\x6f\x0d\xbc\xe2" | |
1449 | "\xd4\x99\xf1\x12\xf2\xd2\xb7\x27" | |
1450 | "\x3f\xa6\x87\x0e", | |
1451 | }, { | |
1452 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1453 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1454 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1455 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1456 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1457 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1458 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1459 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1460 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1461 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1462 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1463 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1464 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1465 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1466 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1467 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1468 | "\xaa\xaa\xaa", | |
1469 | .ksize = 131, | |
1470 | /* ("This is a test using a larger than block-size key and a") | |
1471 | (" larger than block-size data. The key needs to be") | |
1472 | (" hashed before being used by the HMAC algorithm.") */ | |
1473 | .plaintext = "\x54\x68\x69\x73\x20\x69\x73\x20" | |
1474 | "\x61\x20\x74\x65\x73\x74\x20\x75" | |
1475 | "\x73\x69\x6e\x67\x20\x61\x20\x6c" | |
1476 | "\x61\x72\x67\x65\x72\x20\x74\x68" | |
1477 | "\x61\x6e\x20\x62\x6c\x6f\x63\x6b" | |
1478 | "\x2d\x73\x69\x7a\x65\x20\x6b\x65" | |
1479 | "\x79\x20\x61\x6e\x64\x20\x61\x20" | |
1480 | "\x6c\x61\x72\x67\x65\x72\x20\x74" | |
1481 | "\x68\x61\x6e\x20\x62\x6c\x6f\x63" | |
1482 | "\x6b\x2d\x73\x69\x7a\x65\x20\x64" | |
1483 | "\x61\x74\x61\x2e\x20\x54\x68\x65" | |
1484 | "\x20\x6b\x65\x79\x20\x6e\x65\x65" | |
1485 | "\x64\x73\x20\x74\x6f\x20\x62\x65" | |
1486 | "\x20\x68\x61\x73\x68\x65\x64\x20" | |
1487 | "\x62\x65\x66\x6f\x72\x65\x20\x62" | |
1488 | "\x65\x69\x6e\x67\x20\x75\x73\x65" | |
1489 | "\x64\x20\x62\x79\x20\x74\x68\x65" | |
1490 | "\x20\x48\x4d\x41\x43\x20\x61\x6c" | |
1491 | "\x67\x6f\x72\x69\x74\x68\x6d\x2e", | |
1492 | .psize = 152, | |
1493 | .digest = "\x3a\x85\x41\x66\xac\x5d\x9f\x02" | |
1494 | "\x3f\x54\xd5\x17\xd0\xb3\x9d\xbd" | |
1495 | "\x94\x67\x70\xdb\x9c\x2b\x95\xc9" | |
1496 | "\xf6\xf5\x65\xd1", | |
1497 | }, | |
1498 | }; | |
1499 | ||
1500 | /* | |
1501 | * HMAC-SHA256 test vectors from | |
1502 | * draft-ietf-ipsec-ciph-sha-256-01.txt | |
1503 | */ | |
1504 | #define HMAC_SHA256_TEST_VECTORS 10 | |
1505 | ||
1506 | static struct hash_testvec hmac_sha256_tv_template[] = { | |
1507 | { | |
1508 | .key = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
1509 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
1510 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
1511 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20", | |
1512 | .ksize = 32, | |
1513 | .plaintext = "abc", | |
1514 | .psize = 3, | |
1515 | .digest = "\xa2\x1b\x1f\x5d\x4c\xf4\xf7\x3a" | |
1516 | "\x4d\xd9\x39\x75\x0f\x7a\x06\x6a" | |
1517 | "\x7f\x98\xcc\x13\x1c\xb1\x6a\x66" | |
1518 | "\x92\x75\x90\x21\xcf\xab\x81\x81", | |
1519 | }, { | |
1520 | .key = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
1521 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
1522 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
1523 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20", | |
1524 | .ksize = 32, | |
1525 | .plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", | |
1526 | .psize = 56, | |
1527 | .digest = "\x10\x4f\xdc\x12\x57\x32\x8f\x08" | |
1528 | "\x18\x4b\xa7\x31\x31\xc5\x3c\xae" | |
1529 | "\xe6\x98\xe3\x61\x19\x42\x11\x49" | |
1530 | "\xea\x8c\x71\x24\x56\x69\x7d\x30", | |
1531 | }, { | |
1532 | .key = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
1533 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
1534 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
1535 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20", | |
1536 | .ksize = 32, | |
1537 | .plaintext = "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" | |
1538 | "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", | |
1539 | .psize = 112, | |
1540 | .digest = "\x47\x03\x05\xfc\x7e\x40\xfe\x34" | |
1541 | "\xd3\xee\xb3\xe7\x73\xd9\x5a\xab" | |
1542 | "\x73\xac\xf0\xfd\x06\x04\x47\xa5" | |
1543 | "\xeb\x45\x95\xbf\x33\xa9\xd1\xa3", | |
1544 | }, { | |
1545 | .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" | |
1546 | "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" | |
1547 | "\x0b\x0b\x0b\x0b\x0b\x0b", | |
1548 | .ksize = 32, | |
1549 | .plaintext = "Hi There", | |
1550 | .psize = 8, | |
1551 | .digest = "\x19\x8a\x60\x7e\xb4\x4b\xfb\xc6" | |
1552 | "\x99\x03\xa0\xf1\xcf\x2b\xbd\xc5" | |
1553 | "\xba\x0a\xa3\xf3\xd9\xae\x3c\x1c" | |
1554 | "\x7a\x3b\x16\x96\xa0\xb6\x8c\xf7", | |
1555 | }, { | |
1556 | .key = "Jefe", | |
1557 | .ksize = 4, | |
1558 | .plaintext = "what do ya want for nothing?", | |
1559 | .psize = 28, | |
1560 | .digest = "\x5b\xdc\xc1\x46\xbf\x60\x75\x4e" | |
1561 | "\x6a\x04\x24\x26\x08\x95\x75\xc7" | |
1562 | "\x5a\x00\x3f\x08\x9d\x27\x39\x83" | |
1563 | "\x9d\xec\x58\xb9\x64\xec\x38\x43", | |
1564 | .np = 2, | |
1565 | .tap = { 14, 14 } | |
1566 | }, { | |
1567 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1568 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1569 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa", | |
1570 | .ksize = 32, | |
1571 | .plaintext = "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1572 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1573 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd" | |
1574 | "\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd\xdd", | |
1575 | .psize = 50, | |
1576 | .digest = "\xcd\xcb\x12\x20\xd1\xec\xcc\xea" | |
1577 | "\x91\xe5\x3a\xba\x30\x92\xf9\x62" | |
1578 | "\xe5\x49\xfe\x6c\xe9\xed\x7f\xdc" | |
1579 | "\x43\x19\x1f\xbd\xe4\x5c\x30\xb0", | |
1580 | }, { | |
1581 | .key = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
1582 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
1583 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
1584 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" | |
1585 | "\x21\x22\x23\x24\x25", | |
1586 | .ksize = 37, | |
1587 | .plaintext = "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1588 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1589 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd" | |
1590 | "\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd\xcd", | |
1591 | .psize = 50, | |
1592 | .digest = "\xd4\x63\x3c\x17\xf6\xfb\x8d\x74" | |
1593 | "\x4c\x66\xde\xe0\xf8\xf0\x74\x55" | |
1594 | "\x6e\xc4\xaf\x55\xef\x07\x99\x85" | |
1595 | "\x41\x46\x8e\xb4\x9b\xd2\xe9\x17", | |
1596 | }, { | |
1597 | .key = "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c" | |
1598 | "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c" | |
1599 | "\x0c\x0c\x0c\x0c\x0c\x0c", | |
1600 | .ksize = 32, | |
1601 | .plaintext = "Test With Truncation", | |
1602 | .psize = 20, | |
1603 | .digest = "\x75\x46\xaf\x01\x84\x1f\xc0\x9b" | |
1604 | "\x1a\xb9\xc3\x74\x9a\x5f\x1c\x17" | |
1605 | "\xd4\xf5\x89\x66\x8a\x58\x7b\x27" | |
1606 | "\x00\xa9\xc9\x7c\x11\x93\xcf\x42", | |
1607 | }, { | |
1608 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1609 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1610 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1611 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1612 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1613 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1614 | "\xaa\xaa", | |
1615 | .ksize = 80, | |
1616 | .plaintext = "Test Using Larger Than Block-Size Key - Hash Key First", | |
1617 | .psize = 54, | |
1618 | .digest = "\x69\x53\x02\x5e\xd9\x6f\x0c\x09" | |
1619 | "\xf8\x0a\x96\xf7\x8e\x65\x38\xdb" | |
1620 | "\xe2\xe7\xb8\x20\xe3\xdd\x97\x0e" | |
1621 | "\x7d\xdd\x39\x09\x1b\x32\x35\x2f", | |
1622 | }, { | |
1623 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1624 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1625 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1626 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1627 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1628 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1629 | "\xaa\xaa", | |
1630 | .ksize = 80, | |
1631 | .plaintext = "Test Using Larger Than Block-Size Key and Larger Than " | |
1632 | "One Block-Size Data", | |
1633 | .psize = 73, | |
1634 | .digest = "\x63\x55\xac\x22\xe8\x90\xd0\xa3" | |
1635 | "\xc8\x48\x1a\x5c\xa4\x82\x5b\xc8" | |
1636 | "\x84\xd3\xe7\xa1\xff\x98\xa2\xfc" | |
1637 | "\x2a\xc7\xd8\xe0\x64\xc3\xb2\xe6", | |
1638 | }, | |
1639 | }; | |
1640 | ||
1641 | #define XCBC_AES_TEST_VECTORS 6 | |
1642 | ||
1643 | static struct hash_testvec aes_xcbc128_tv_template[] = { | |
1644 | { | |
1645 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1646 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1647 | .plaintext = zeroed_string, | |
1648 | .digest = "\x75\xf0\x25\x1d\x52\x8a\xc0\x1c" | |
1649 | "\x45\x73\xdf\xd5\x84\xd7\x9f\x29", | |
1650 | .psize = 0, | |
1651 | .ksize = 16, | |
1652 | }, { | |
1653 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1654 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1655 | .plaintext = "\x00\x01\x02", | |
1656 | .digest = "\x5b\x37\x65\x80\xae\x2f\x19\xaf" | |
1657 | "\xe7\x21\x9c\xee\xf1\x72\x75\x6f", | |
1658 | .psize = 3, | |
1659 | .ksize = 16, | |
1660 | } , { | |
1661 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1662 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1663 | .plaintext = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1664 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1665 | .digest = "\xd2\xa2\x46\xfa\x34\x9b\x68\xa7" | |
1666 | "\x99\x98\xa4\x39\x4f\xf7\xa2\x63", | |
1667 | .psize = 16, | |
1668 | .ksize = 16, | |
1669 | }, { | |
1670 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1671 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1672 | .plaintext = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1673 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
1674 | "\x10\x11\x12\x13", | |
1675 | .digest = "\x47\xf5\x1b\x45\x64\x96\x62\x15" | |
1676 | "\xb8\x98\x5c\x63\x05\x5e\xd3\x08", | |
1677 | .tap = { 10, 10 }, | |
1678 | .psize = 20, | |
1679 | .np = 2, | |
1680 | .ksize = 16, | |
1681 | }, { | |
1682 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1683 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1684 | .plaintext = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1685 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
1686 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
1687 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
1688 | .digest = "\xf5\x4f\x0e\xc8\xd2\xb9\xf3\xd3" | |
1689 | "\x68\x07\x73\x4b\xd5\x28\x3f\xd4", | |
1690 | .psize = 32, | |
1691 | .ksize = 16, | |
1692 | }, { | |
1693 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1694 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1695 | .plaintext = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1696 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
1697 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
1698 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
1699 | "\x20\x21", | |
1700 | .digest = "\xbe\xcb\xb3\xbc\xcd\xb5\x18\xa3" | |
1701 | "\x06\x77\xd5\x48\x1f\xb6\xb4\xd8", | |
1702 | .tap = { 17, 17 }, | |
1703 | .psize = 34, | |
1704 | .np = 2, | |
1705 | .ksize = 16, | |
1706 | } | |
1707 | }; | |
1708 | ||
304a204e SW |
1709 | #define VMAC_AES_TEST_VECTORS 8 |
1710 | static char vmac_string1[128] = {'\x01', '\x01', '\x01', '\x01', | |
f1939f7c SW |
1711 | '\x02', '\x03', '\x02', '\x02', |
1712 | '\x02', '\x04', '\x01', '\x07', | |
1713 | '\x04', '\x01', '\x04', '\x03',}; | |
304a204e SW |
1714 | static char vmac_string2[128] = {'a', 'b', 'c',}; |
1715 | static char vmac_string3[128] = {'a', 'b', 'c', 'a', 'b', 'c', | |
1716 | 'a', 'b', 'c', 'a', 'b', 'c', | |
1717 | 'a', 'b', 'c', 'a', 'b', 'c', | |
1718 | 'a', 'b', 'c', 'a', 'b', 'c', | |
1719 | 'a', 'b', 'c', 'a', 'b', 'c', | |
1720 | 'a', 'b', 'c', 'a', 'b', 'c', | |
1721 | 'a', 'b', 'c', 'a', 'b', 'c', | |
1722 | 'a', 'b', 'c', 'a', 'b', 'c', | |
1723 | }; | |
1724 | ||
f1939f7c SW |
1725 | static struct hash_testvec aes_vmac128_tv_template[] = { |
1726 | { | |
304a204e SW |
1727 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" |
1728 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1729 | .plaintext = NULL, | |
1730 | .digest = "\x07\x58\x80\x35\x77\xa4\x7b\x54", | |
1731 | .psize = 0, | |
1732 | .ksize = 16, | |
1733 | }, { | |
1734 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1735 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1736 | .plaintext = vmac_string1, | |
1737 | .digest = "\xce\xf5\x3c\xd3\xae\x68\x8c\xa1", | |
1738 | .psize = 128, | |
1739 | .ksize = 16, | |
1740 | }, { | |
1741 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
1742 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
1743 | .plaintext = vmac_string2, | |
1744 | .digest = "\xc9\x27\xb0\x73\x81\xbd\x14\x2d", | |
1745 | .psize = 128, | |
1746 | .ksize = 16, | |
1747 | }, { | |
f1939f7c SW |
1748 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" |
1749 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
304a204e SW |
1750 | .plaintext = vmac_string3, |
1751 | .digest = "\x8d\x1a\x95\x8c\x98\x47\x0b\x19", | |
1752 | .psize = 128, | |
1753 | .ksize = 16, | |
1754 | }, { | |
1755 | .key = "abcdefghijklmnop", | |
1756 | .plaintext = NULL, | |
1757 | .digest = "\x3b\x89\xa1\x26\x9e\x55\x8f\x84", | |
1758 | .psize = 0, | |
1759 | .ksize = 16, | |
1760 | }, { | |
1761 | .key = "abcdefghijklmnop", | |
1762 | .plaintext = vmac_string1, | |
1763 | .digest = "\xab\x5e\xab\xb0\xf6\x8d\x74\xc2", | |
1764 | .psize = 128, | |
1765 | .ksize = 16, | |
1766 | }, { | |
1767 | .key = "abcdefghijklmnop", | |
1768 | .plaintext = vmac_string2, | |
1769 | .digest = "\x11\x15\x68\x42\x3d\x7b\x09\xdf", | |
1770 | .psize = 128, | |
1771 | .ksize = 16, | |
1772 | }, { | |
1773 | .key = "abcdefghijklmnop", | |
1774 | .plaintext = vmac_string3, | |
1775 | .digest = "\x8b\x32\x8f\xe1\xed\x8f\xfa\xd4", | |
f1939f7c SW |
1776 | .psize = 128, |
1777 | .ksize = 16, | |
1778 | }, | |
1779 | }; | |
1780 | ||
da7f033d HX |
1781 | /* |
1782 | * SHA384 HMAC test vectors from RFC4231 | |
1783 | */ | |
1784 | ||
1785 | #define HMAC_SHA384_TEST_VECTORS 4 | |
1786 | ||
1787 | static struct hash_testvec hmac_sha384_tv_template[] = { | |
1788 | { | |
1789 | .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" | |
1790 | "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" | |
1791 | "\x0b\x0b\x0b\x0b", | |
1792 | .ksize = 20, | |
1793 | .plaintext = "Hi There", | |
1794 | .psize = 8, | |
1795 | .digest = "\xaf\xd0\x39\x44\xd8\x48\x95\x62" | |
1796 | "\x6b\x08\x25\xf4\xab\x46\x90\x7f" | |
1797 | "\x15\xf9\xda\xdb\xe4\x10\x1e\xc6" | |
1798 | "\x82\xaa\x03\x4c\x7c\xeb\xc5\x9c" | |
1799 | "\xfa\xea\x9e\xa9\x07\x6e\xde\x7f" | |
1800 | "\x4a\xf1\x52\xe8\xb2\xfa\x9c\xb6", | |
1801 | }, { | |
1802 | .key = "Jefe", | |
1803 | .ksize = 4, | |
1804 | .plaintext = "what do ya want for nothing?", | |
1805 | .psize = 28, | |
1806 | .digest = "\xaf\x45\xd2\xe3\x76\x48\x40\x31" | |
1807 | "\x61\x7f\x78\xd2\xb5\x8a\x6b\x1b" | |
1808 | "\x9c\x7e\xf4\x64\xf5\xa0\x1b\x47" | |
1809 | "\xe4\x2e\xc3\x73\x63\x22\x44\x5e" | |
1810 | "\x8e\x22\x40\xca\x5e\x69\xe2\xc7" | |
1811 | "\x8b\x32\x39\xec\xfa\xb2\x16\x49", | |
1812 | .np = 4, | |
1813 | .tap = { 7, 7, 7, 7 } | |
1814 | }, { | |
1815 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1816 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1817 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1818 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1819 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1820 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1821 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1822 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1823 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1824 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1825 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1826 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1827 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1828 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1829 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1830 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1831 | "\xaa\xaa\xaa", | |
1832 | .ksize = 131, | |
1833 | .plaintext = "Test Using Larger Than Block-Siz" | |
1834 | "e Key - Hash Key First", | |
1835 | .psize = 54, | |
1836 | .digest = "\x4e\xce\x08\x44\x85\x81\x3e\x90" | |
1837 | "\x88\xd2\xc6\x3a\x04\x1b\xc5\xb4" | |
1838 | "\x4f\x9e\xf1\x01\x2a\x2b\x58\x8f" | |
1839 | "\x3c\xd1\x1f\x05\x03\x3a\xc4\xc6" | |
1840 | "\x0c\x2e\xf6\xab\x40\x30\xfe\x82" | |
1841 | "\x96\x24\x8d\xf1\x63\xf4\x49\x52", | |
1842 | }, { | |
1843 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1844 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1845 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1846 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1847 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1848 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1849 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1850 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1851 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1852 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1853 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1854 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1855 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1856 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1857 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1858 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1859 | "\xaa\xaa\xaa", | |
1860 | .ksize = 131, | |
1861 | .plaintext = "This is a test u" | |
1862 | "sing a larger th" | |
1863 | "an block-size ke" | |
1864 | "y and a larger t" | |
1865 | "han block-size d" | |
1866 | "ata. The key nee" | |
1867 | "ds to be hashed " | |
1868 | "before being use" | |
1869 | "d by the HMAC al" | |
1870 | "gorithm.", | |
1871 | .psize = 152, | |
1872 | .digest = "\x66\x17\x17\x8e\x94\x1f\x02\x0d" | |
1873 | "\x35\x1e\x2f\x25\x4e\x8f\xd3\x2c" | |
1874 | "\x60\x24\x20\xfe\xb0\xb8\xfb\x9a" | |
1875 | "\xdc\xce\xbb\x82\x46\x1e\x99\xc5" | |
1876 | "\xa6\x78\xcc\x31\xe7\x99\x17\x6d" | |
1877 | "\x38\x60\xe6\x11\x0c\x46\x52\x3e", | |
1878 | }, | |
1879 | }; | |
1880 | ||
1881 | /* | |
1882 | * SHA512 HMAC test vectors from RFC4231 | |
1883 | */ | |
1884 | ||
1885 | #define HMAC_SHA512_TEST_VECTORS 4 | |
1886 | ||
1887 | static struct hash_testvec hmac_sha512_tv_template[] = { | |
1888 | { | |
1889 | .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" | |
1890 | "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" | |
1891 | "\x0b\x0b\x0b\x0b", | |
1892 | .ksize = 20, | |
1893 | .plaintext = "Hi There", | |
1894 | .psize = 8, | |
1895 | .digest = "\x87\xaa\x7c\xde\xa5\xef\x61\x9d" | |
1896 | "\x4f\xf0\xb4\x24\x1a\x1d\x6c\xb0" | |
1897 | "\x23\x79\xf4\xe2\xce\x4e\xc2\x78" | |
1898 | "\x7a\xd0\xb3\x05\x45\xe1\x7c\xde" | |
1899 | "\xda\xa8\x33\xb7\xd6\xb8\xa7\x02" | |
1900 | "\x03\x8b\x27\x4e\xae\xa3\xf4\xe4" | |
1901 | "\xbe\x9d\x91\x4e\xeb\x61\xf1\x70" | |
1902 | "\x2e\x69\x6c\x20\x3a\x12\x68\x54", | |
1903 | }, { | |
1904 | .key = "Jefe", | |
1905 | .ksize = 4, | |
1906 | .plaintext = "what do ya want for nothing?", | |
1907 | .psize = 28, | |
1908 | .digest = "\x16\x4b\x7a\x7b\xfc\xf8\x19\xe2" | |
1909 | "\xe3\x95\xfb\xe7\x3b\x56\xe0\xa3" | |
1910 | "\x87\xbd\x64\x22\x2e\x83\x1f\xd6" | |
1911 | "\x10\x27\x0c\xd7\xea\x25\x05\x54" | |
1912 | "\x97\x58\xbf\x75\xc0\x5a\x99\x4a" | |
1913 | "\x6d\x03\x4f\x65\xf8\xf0\xe6\xfd" | |
1914 | "\xca\xea\xb1\xa3\x4d\x4a\x6b\x4b" | |
1915 | "\x63\x6e\x07\x0a\x38\xbc\xe7\x37", | |
1916 | .np = 4, | |
1917 | .tap = { 7, 7, 7, 7 } | |
1918 | }, { | |
1919 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1920 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1921 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1922 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1923 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1924 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1925 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1926 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1927 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1928 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1929 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1930 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1931 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1932 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1933 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1934 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1935 | "\xaa\xaa\xaa", | |
1936 | .ksize = 131, | |
1937 | .plaintext = "Test Using Large" | |
1938 | "r Than Block-Siz" | |
1939 | "e Key - Hash Key" | |
1940 | " First", | |
1941 | .psize = 54, | |
1942 | .digest = "\x80\xb2\x42\x63\xc7\xc1\xa3\xeb" | |
1943 | "\xb7\x14\x93\xc1\xdd\x7b\xe8\xb4" | |
1944 | "\x9b\x46\xd1\xf4\x1b\x4a\xee\xc1" | |
1945 | "\x12\x1b\x01\x37\x83\xf8\xf3\x52" | |
1946 | "\x6b\x56\xd0\x37\xe0\x5f\x25\x98" | |
1947 | "\xbd\x0f\xd2\x21\x5d\x6a\x1e\x52" | |
1948 | "\x95\xe6\x4f\x73\xf6\x3f\x0a\xec" | |
1949 | "\x8b\x91\x5a\x98\x5d\x78\x65\x98", | |
1950 | }, { | |
1951 | .key = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1952 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1953 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1954 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1955 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1956 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1957 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1958 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1959 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1960 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1961 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1962 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1963 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1964 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1965 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1966 | "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
1967 | "\xaa\xaa\xaa", | |
1968 | .ksize = 131, | |
1969 | .plaintext = | |
1970 | "This is a test u" | |
1971 | "sing a larger th" | |
1972 | "an block-size ke" | |
1973 | "y and a larger t" | |
1974 | "han block-size d" | |
1975 | "ata. The key nee" | |
1976 | "ds to be hashed " | |
1977 | "before being use" | |
1978 | "d by the HMAC al" | |
1979 | "gorithm.", | |
1980 | .psize = 152, | |
1981 | .digest = "\xe3\x7b\x6a\x77\x5d\xc8\x7d\xba" | |
1982 | "\xa4\xdf\xa9\xf9\x6e\x5e\x3f\xfd" | |
1983 | "\xde\xbd\x71\xf8\x86\x72\x89\x86" | |
1984 | "\x5d\xf5\xa3\x2d\x20\xcd\xc9\x44" | |
1985 | "\xb6\x02\x2c\xac\x3c\x49\x82\xb1" | |
1986 | "\x0d\x5e\xeb\x55\xc3\xe4\xde\x15" | |
1987 | "\x13\x46\x76\xfb\x6d\xe0\x44\x60" | |
1988 | "\x65\xc9\x74\x40\xfa\x8c\x6a\x58", | |
1989 | }, | |
1990 | }; | |
1991 | ||
1992 | /* | |
1993 | * DES test vectors. | |
1994 | */ | |
1995 | #define DES_ENC_TEST_VECTORS 10 | |
1996 | #define DES_DEC_TEST_VECTORS 4 | |
1997 | #define DES_CBC_ENC_TEST_VECTORS 5 | |
1998 | #define DES_CBC_DEC_TEST_VECTORS 4 | |
1999 | #define DES3_EDE_ENC_TEST_VECTORS 3 | |
2000 | #define DES3_EDE_DEC_TEST_VECTORS 3 | |
2001 | #define DES3_EDE_CBC_ENC_TEST_VECTORS 1 | |
2002 | #define DES3_EDE_CBC_DEC_TEST_VECTORS 1 | |
2003 | ||
2004 | static struct cipher_testvec des_enc_tv_template[] = { | |
2005 | { /* From Applied Cryptography */ | |
2006 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2007 | .klen = 8, | |
2008 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xe7", | |
2009 | .ilen = 8, | |
2010 | .result = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d", | |
2011 | .rlen = 8, | |
2012 | }, { /* Same key, different plaintext block */ | |
2013 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2014 | .klen = 8, | |
2015 | .input = "\x22\x33\x44\x55\x66\x77\x88\x99", | |
2016 | .ilen = 8, | |
2017 | .result = "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b", | |
2018 | .rlen = 8, | |
2019 | }, { /* Sbox test from NBS */ | |
2020 | .key = "\x7c\xa1\x10\x45\x4a\x1a\x6e\x57", | |
2021 | .klen = 8, | |
2022 | .input = "\x01\xa1\xd6\xd0\x39\x77\x67\x42", | |
2023 | .ilen = 8, | |
2024 | .result = "\x69\x0f\x5b\x0d\x9a\x26\x93\x9b", | |
2025 | .rlen = 8, | |
2026 | }, { /* Three blocks */ | |
2027 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2028 | .klen = 8, | |
2029 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xe7" | |
2030 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
2031 | "\xca\xfe\xba\xbe\xfe\xed\xbe\xef", | |
2032 | .ilen = 24, | |
2033 | .result = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d" | |
2034 | "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b" | |
2035 | "\xb4\x99\x26\xf7\x1f\xe1\xd4\x90", | |
2036 | .rlen = 24, | |
2037 | }, { /* Weak key */ | |
2038 | .fail = 1, | |
2039 | .wk = 1, | |
2040 | .key = "\x01\x01\x01\x01\x01\x01\x01\x01", | |
2041 | .klen = 8, | |
2042 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xe7", | |
2043 | .ilen = 8, | |
2044 | .result = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d", | |
2045 | .rlen = 8, | |
2046 | }, { /* Two blocks -- for testing encryption across pages */ | |
2047 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2048 | .klen = 8, | |
2049 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xe7" | |
2050 | "\x22\x33\x44\x55\x66\x77\x88\x99", | |
2051 | .ilen = 16, | |
2052 | .result = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d" | |
2053 | "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b", | |
2054 | .rlen = 16, | |
2055 | .np = 2, | |
2056 | .tap = { 8, 8 } | |
2057 | }, { /* Four blocks -- for testing encryption with chunking */ | |
2058 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2059 | .klen = 8, | |
2060 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xe7" | |
2061 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
2062 | "\xca\xfe\xba\xbe\xfe\xed\xbe\xef" | |
2063 | "\x22\x33\x44\x55\x66\x77\x88\x99", | |
2064 | .ilen = 32, | |
2065 | .result = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d" | |
2066 | "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b" | |
2067 | "\xb4\x99\x26\xf7\x1f\xe1\xd4\x90" | |
2068 | "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b", | |
2069 | .rlen = 32, | |
2070 | .np = 3, | |
2071 | .tap = { 14, 10, 8 } | |
2072 | }, { | |
2073 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2074 | .klen = 8, | |
2075 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xe7" | |
2076 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
2077 | "\xca\xfe\xba\xbe\xfe\xed\xbe\xef", | |
2078 | .ilen = 24, | |
2079 | .result = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d" | |
2080 | "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b" | |
2081 | "\xb4\x99\x26\xf7\x1f\xe1\xd4\x90", | |
2082 | .rlen = 24, | |
2083 | .np = 4, | |
2084 | .tap = { 2, 1, 3, 18 } | |
2085 | }, { | |
2086 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2087 | .klen = 8, | |
2088 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xe7" | |
2089 | "\x22\x33\x44\x55\x66\x77\x88\x99", | |
2090 | .ilen = 16, | |
2091 | .result = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d" | |
2092 | "\xf7\x9c\x89\x2a\x33\x8f\x4a\x8b", | |
2093 | .rlen = 16, | |
2094 | .np = 5, | |
2095 | .tap = { 2, 2, 2, 2, 8 } | |
2096 | }, { | |
2097 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2098 | .klen = 8, | |
2099 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xe7", | |
2100 | .ilen = 8, | |
2101 | .result = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d", | |
2102 | .rlen = 8, | |
2103 | .np = 8, | |
2104 | .tap = { 1, 1, 1, 1, 1, 1, 1, 1 } | |
2105 | }, | |
2106 | }; | |
2107 | ||
2108 | static struct cipher_testvec des_dec_tv_template[] = { | |
2109 | { /* From Applied Cryptography */ | |
2110 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2111 | .klen = 8, | |
2112 | .input = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d", | |
2113 | .ilen = 8, | |
2114 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xe7", | |
2115 | .rlen = 8, | |
2116 | }, { /* Sbox test from NBS */ | |
2117 | .key = "\x7c\xa1\x10\x45\x4a\x1a\x6e\x57", | |
2118 | .klen = 8, | |
2119 | .input = "\x69\x0f\x5b\x0d\x9a\x26\x93\x9b", | |
2120 | .ilen = 8, | |
2121 | .result = "\x01\xa1\xd6\xd0\x39\x77\x67\x42", | |
2122 | .rlen = 8, | |
2123 | }, { /* Two blocks, for chunking test */ | |
2124 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2125 | .klen = 8, | |
2126 | .input = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d" | |
2127 | "\x69\x0f\x5b\x0d\x9a\x26\x93\x9b", | |
2128 | .ilen = 16, | |
2129 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xe7" | |
2130 | "\xa3\x99\x7b\xca\xaf\x69\xa0\xf5", | |
2131 | .rlen = 16, | |
2132 | .np = 2, | |
2133 | .tap = { 8, 8 } | |
2134 | }, { | |
2135 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2136 | .klen = 8, | |
2137 | .input = "\xc9\x57\x44\x25\x6a\x5e\xd3\x1d" | |
2138 | "\x69\x0f\x5b\x0d\x9a\x26\x93\x9b", | |
2139 | .ilen = 16, | |
2140 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xe7" | |
2141 | "\xa3\x99\x7b\xca\xaf\x69\xa0\xf5", | |
2142 | .rlen = 16, | |
2143 | .np = 3, | |
2144 | .tap = { 3, 12, 1 } | |
2145 | }, | |
2146 | }; | |
2147 | ||
2148 | static struct cipher_testvec des_cbc_enc_tv_template[] = { | |
2149 | { /* From OpenSSL */ | |
2150 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2151 | .klen = 8, | |
2152 | .iv = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2153 | .input = "\x37\x36\x35\x34\x33\x32\x31\x20" | |
2154 | "\x4e\x6f\x77\x20\x69\x73\x20\x74" | |
2155 | "\x68\x65\x20\x74\x69\x6d\x65\x20", | |
2156 | .ilen = 24, | |
2157 | .result = "\xcc\xd1\x73\xff\xab\x20\x39\xf4" | |
2158 | "\xac\xd8\xae\xfd\xdf\xd8\xa1\xeb" | |
2159 | "\x46\x8e\x91\x15\x78\x88\xba\x68", | |
2160 | .rlen = 24, | |
2161 | }, { /* FIPS Pub 81 */ | |
2162 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2163 | .klen = 8, | |
2164 | .iv = "\x12\x34\x56\x78\x90\xab\xcd\xef", | |
2165 | .input = "\x4e\x6f\x77\x20\x69\x73\x20\x74", | |
2166 | .ilen = 8, | |
2167 | .result = "\xe5\xc7\xcd\xde\x87\x2b\xf2\x7c", | |
2168 | .rlen = 8, | |
2169 | }, { | |
2170 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2171 | .klen = 8, | |
2172 | .iv = "\xe5\xc7\xcd\xde\x87\x2b\xf2\x7c", | |
2173 | .input = "\x68\x65\x20\x74\x69\x6d\x65\x20", | |
2174 | .ilen = 8, | |
2175 | .result = "\x43\xe9\x34\x00\x8c\x38\x9c\x0f", | |
2176 | .rlen = 8, | |
2177 | }, { | |
2178 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2179 | .klen = 8, | |
2180 | .iv = "\x43\xe9\x34\x00\x8c\x38\x9c\x0f", | |
2181 | .input = "\x66\x6f\x72\x20\x61\x6c\x6c\x20", | |
2182 | .ilen = 8, | |
2183 | .result = "\x68\x37\x88\x49\x9a\x7c\x05\xf6", | |
2184 | .rlen = 8, | |
2185 | }, { /* Copy of openssl vector for chunk testing */ | |
2186 | /* From OpenSSL */ | |
2187 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2188 | .klen = 8, | |
2189 | .iv = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2190 | .input = "\x37\x36\x35\x34\x33\x32\x31\x20" | |
2191 | "\x4e\x6f\x77\x20\x69\x73\x20\x74" | |
2192 | "\x68\x65\x20\x74\x69\x6d\x65\x20", | |
2193 | .ilen = 24, | |
2194 | .result = "\xcc\xd1\x73\xff\xab\x20\x39\xf4" | |
2195 | "\xac\xd8\xae\xfd\xdf\xd8\xa1\xeb" | |
2196 | "\x46\x8e\x91\x15\x78\x88\xba\x68", | |
2197 | .rlen = 24, | |
2198 | .np = 2, | |
2199 | .tap = { 13, 11 } | |
2200 | }, | |
2201 | }; | |
2202 | ||
2203 | static struct cipher_testvec des_cbc_dec_tv_template[] = { | |
2204 | { /* FIPS Pub 81 */ | |
2205 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2206 | .klen = 8, | |
2207 | .iv = "\x12\x34\x56\x78\x90\xab\xcd\xef", | |
2208 | .input = "\xe5\xc7\xcd\xde\x87\x2b\xf2\x7c", | |
2209 | .ilen = 8, | |
2210 | .result = "\x4e\x6f\x77\x20\x69\x73\x20\x74", | |
2211 | .rlen = 8, | |
2212 | }, { | |
2213 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2214 | .klen = 8, | |
2215 | .iv = "\xe5\xc7\xcd\xde\x87\x2b\xf2\x7c", | |
2216 | .input = "\x43\xe9\x34\x00\x8c\x38\x9c\x0f", | |
2217 | .ilen = 8, | |
2218 | .result = "\x68\x65\x20\x74\x69\x6d\x65\x20", | |
2219 | .rlen = 8, | |
2220 | }, { | |
2221 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2222 | .klen = 8, | |
2223 | .iv = "\x43\xe9\x34\x00\x8c\x38\x9c\x0f", | |
2224 | .input = "\x68\x37\x88\x49\x9a\x7c\x05\xf6", | |
2225 | .ilen = 8, | |
2226 | .result = "\x66\x6f\x72\x20\x61\x6c\x6c\x20", | |
2227 | .rlen = 8, | |
2228 | }, { /* Copy of above, for chunk testing */ | |
2229 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2230 | .klen = 8, | |
2231 | .iv = "\x43\xe9\x34\x00\x8c\x38\x9c\x0f", | |
2232 | .input = "\x68\x37\x88\x49\x9a\x7c\x05\xf6", | |
2233 | .ilen = 8, | |
2234 | .result = "\x66\x6f\x72\x20\x61\x6c\x6c\x20", | |
2235 | .rlen = 8, | |
2236 | .np = 2, | |
2237 | .tap = { 4, 4 } | |
2238 | }, | |
2239 | }; | |
2240 | ||
2241 | static struct cipher_testvec des3_ede_enc_tv_template[] = { | |
2242 | { /* These are from openssl */ | |
2243 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
2244 | "\x55\x55\x55\x55\x55\x55\x55\x55" | |
2245 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2246 | .klen = 24, | |
2247 | .input = "\x73\x6f\x6d\x65\x64\x61\x74\x61", | |
2248 | .ilen = 8, | |
2249 | .result = "\x18\xd7\x48\xe5\x63\x62\x05\x72", | |
2250 | .rlen = 8, | |
2251 | }, { | |
2252 | .key = "\x03\x52\x02\x07\x67\x20\x82\x17" | |
2253 | "\x86\x02\x87\x66\x59\x08\x21\x98" | |
2254 | "\x64\x05\x6a\xbd\xfe\xa9\x34\x57", | |
2255 | .klen = 24, | |
2256 | .input = "\x73\x71\x75\x69\x67\x67\x6c\x65", | |
2257 | .ilen = 8, | |
2258 | .result = "\xc0\x7d\x2a\x0f\xa5\x66\xfa\x30", | |
2259 | .rlen = 8, | |
2260 | }, { | |
2261 | .key = "\x10\x46\x10\x34\x89\x98\x80\x20" | |
2262 | "\x91\x07\xd0\x15\x89\x19\x01\x01" | |
2263 | "\x19\x07\x92\x10\x98\x1a\x01\x01", | |
2264 | .klen = 24, | |
2265 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
2266 | .ilen = 8, | |
2267 | .result = "\xe1\xef\x62\xc3\x32\xfe\x82\x5b", | |
2268 | .rlen = 8, | |
2269 | }, | |
2270 | }; | |
2271 | ||
2272 | static struct cipher_testvec des3_ede_dec_tv_template[] = { | |
2273 | { /* These are from openssl */ | |
2274 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
2275 | "\x55\x55\x55\x55\x55\x55\x55\x55" | |
2276 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2277 | .klen = 24, | |
2278 | .input = "\x18\xd7\x48\xe5\x63\x62\x05\x72", | |
2279 | .ilen = 8, | |
2280 | .result = "\x73\x6f\x6d\x65\x64\x61\x74\x61", | |
2281 | .rlen = 8, | |
2282 | }, { | |
2283 | .key = "\x03\x52\x02\x07\x67\x20\x82\x17" | |
2284 | "\x86\x02\x87\x66\x59\x08\x21\x98" | |
2285 | "\x64\x05\x6a\xbd\xfe\xa9\x34\x57", | |
2286 | .klen = 24, | |
2287 | .input = "\xc0\x7d\x2a\x0f\xa5\x66\xfa\x30", | |
2288 | .ilen = 8, | |
2289 | .result = "\x73\x71\x75\x69\x67\x67\x6c\x65", | |
2290 | .rlen = 8, | |
2291 | }, { | |
2292 | .key = "\x10\x46\x10\x34\x89\x98\x80\x20" | |
2293 | "\x91\x07\xd0\x15\x89\x19\x01\x01" | |
2294 | "\x19\x07\x92\x10\x98\x1a\x01\x01", | |
2295 | .klen = 24, | |
2296 | .input = "\xe1\xef\x62\xc3\x32\xfe\x82\x5b", | |
2297 | .ilen = 8, | |
2298 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
2299 | .rlen = 8, | |
2300 | }, | |
2301 | }; | |
2302 | ||
2303 | static struct cipher_testvec des3_ede_cbc_enc_tv_template[] = { | |
2304 | { /* Generated from openssl */ | |
2305 | .key = "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24" | |
2306 | "\x44\x4D\x99\x5A\x12\xD6\x40\xC0" | |
2307 | "\xEA\xC2\x84\xE8\x14\x95\xDB\xE8", | |
2308 | .klen = 24, | |
2309 | .iv = "\x7D\x33\x88\x93\x0F\x93\xB2\x42", | |
2310 | .input = "\x6f\x54\x20\x6f\x61\x4d\x79\x6e" | |
2311 | "\x53\x20\x63\x65\x65\x72\x73\x74" | |
2312 | "\x54\x20\x6f\x6f\x4d\x20\x6e\x61" | |
2313 | "\x20\x79\x65\x53\x72\x63\x74\x65" | |
2314 | "\x20\x73\x6f\x54\x20\x6f\x61\x4d" | |
2315 | "\x79\x6e\x53\x20\x63\x65\x65\x72" | |
2316 | "\x73\x74\x54\x20\x6f\x6f\x4d\x20" | |
2317 | "\x6e\x61\x20\x79\x65\x53\x72\x63" | |
2318 | "\x74\x65\x20\x73\x6f\x54\x20\x6f" | |
2319 | "\x61\x4d\x79\x6e\x53\x20\x63\x65" | |
2320 | "\x65\x72\x73\x74\x54\x20\x6f\x6f" | |
2321 | "\x4d\x20\x6e\x61\x20\x79\x65\x53" | |
2322 | "\x72\x63\x74\x65\x20\x73\x6f\x54" | |
2323 | "\x20\x6f\x61\x4d\x79\x6e\x53\x20" | |
2324 | "\x63\x65\x65\x72\x73\x74\x54\x20" | |
2325 | "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79", | |
2326 | .ilen = 128, | |
2327 | .result = "\x0e\x2d\xb6\x97\x3c\x56\x33\xf4" | |
2328 | "\x67\x17\x21\xc7\x6e\x8a\xd5\x49" | |
2329 | "\x74\xb3\x49\x05\xc5\x1c\xd0\xed" | |
2330 | "\x12\x56\x5c\x53\x96\xb6\x00\x7d" | |
2331 | "\x90\x48\xfc\xf5\x8d\x29\x39\xcc" | |
2332 | "\x8a\xd5\x35\x18\x36\x23\x4e\xd7" | |
2333 | "\x76\xd1\xda\x0c\x94\x67\xbb\x04" | |
2334 | "\x8b\xf2\x03\x6c\xa8\xcf\xb6\xea" | |
2335 | "\x22\x64\x47\xaa\x8f\x75\x13\xbf" | |
2336 | "\x9f\xc2\xc3\xf0\xc9\x56\xc5\x7a" | |
2337 | "\x71\x63\x2e\x89\x7b\x1e\x12\xca" | |
2338 | "\xe2\x5f\xaf\xd8\xa4\xf8\xc9\x7a" | |
2339 | "\xd6\xf9\x21\x31\x62\x44\x45\xa6" | |
2340 | "\xd6\xbc\x5a\xd3\x2d\x54\x43\xcc" | |
2341 | "\x9d\xde\xa5\x70\xe9\x42\x45\x8a" | |
2342 | "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19", | |
2343 | .rlen = 128, | |
2344 | }, | |
2345 | }; | |
2346 | ||
2347 | static struct cipher_testvec des3_ede_cbc_dec_tv_template[] = { | |
2348 | { /* Generated from openssl */ | |
2349 | .key = "\xE9\xC0\xFF\x2E\x76\x0B\x64\x24" | |
2350 | "\x44\x4D\x99\x5A\x12\xD6\x40\xC0" | |
2351 | "\xEA\xC2\x84\xE8\x14\x95\xDB\xE8", | |
2352 | .klen = 24, | |
2353 | .iv = "\x7D\x33\x88\x93\x0F\x93\xB2\x42", | |
2354 | .input = "\x0e\x2d\xb6\x97\x3c\x56\x33\xf4" | |
2355 | "\x67\x17\x21\xc7\x6e\x8a\xd5\x49" | |
2356 | "\x74\xb3\x49\x05\xc5\x1c\xd0\xed" | |
2357 | "\x12\x56\x5c\x53\x96\xb6\x00\x7d" | |
2358 | "\x90\x48\xfc\xf5\x8d\x29\x39\xcc" | |
2359 | "\x8a\xd5\x35\x18\x36\x23\x4e\xd7" | |
2360 | "\x76\xd1\xda\x0c\x94\x67\xbb\x04" | |
2361 | "\x8b\xf2\x03\x6c\xa8\xcf\xb6\xea" | |
2362 | "\x22\x64\x47\xaa\x8f\x75\x13\xbf" | |
2363 | "\x9f\xc2\xc3\xf0\xc9\x56\xc5\x7a" | |
2364 | "\x71\x63\x2e\x89\x7b\x1e\x12\xca" | |
2365 | "\xe2\x5f\xaf\xd8\xa4\xf8\xc9\x7a" | |
2366 | "\xd6\xf9\x21\x31\x62\x44\x45\xa6" | |
2367 | "\xd6\xbc\x5a\xd3\x2d\x54\x43\xcc" | |
2368 | "\x9d\xde\xa5\x70\xe9\x42\x45\x8a" | |
2369 | "\x6b\xfa\xb1\x91\x13\xb0\xd9\x19", | |
2370 | .ilen = 128, | |
2371 | .result = "\x6f\x54\x20\x6f\x61\x4d\x79\x6e" | |
2372 | "\x53\x20\x63\x65\x65\x72\x73\x74" | |
2373 | "\x54\x20\x6f\x6f\x4d\x20\x6e\x61" | |
2374 | "\x20\x79\x65\x53\x72\x63\x74\x65" | |
2375 | "\x20\x73\x6f\x54\x20\x6f\x61\x4d" | |
2376 | "\x79\x6e\x53\x20\x63\x65\x65\x72" | |
2377 | "\x73\x74\x54\x20\x6f\x6f\x4d\x20" | |
2378 | "\x6e\x61\x20\x79\x65\x53\x72\x63" | |
2379 | "\x74\x65\x20\x73\x6f\x54\x20\x6f" | |
2380 | "\x61\x4d\x79\x6e\x53\x20\x63\x65" | |
2381 | "\x65\x72\x73\x74\x54\x20\x6f\x6f" | |
2382 | "\x4d\x20\x6e\x61\x20\x79\x65\x53" | |
2383 | "\x72\x63\x74\x65\x20\x73\x6f\x54" | |
2384 | "\x20\x6f\x61\x4d\x79\x6e\x53\x20" | |
2385 | "\x63\x65\x65\x72\x73\x74\x54\x20" | |
2386 | "\x6f\x6f\x4d\x20\x6e\x61\x0a\x79", | |
2387 | .rlen = 128, | |
2388 | }, | |
2389 | }; | |
2390 | ||
2391 | /* | |
2392 | * Blowfish test vectors. | |
2393 | */ | |
85b63e34 JK |
2394 | #define BF_ENC_TEST_VECTORS 7 |
2395 | #define BF_DEC_TEST_VECTORS 7 | |
2396 | #define BF_CBC_ENC_TEST_VECTORS 2 | |
2397 | #define BF_CBC_DEC_TEST_VECTORS 2 | |
2398 | #define BF_CTR_ENC_TEST_VECTORS 2 | |
2399 | #define BF_CTR_DEC_TEST_VECTORS 2 | |
da7f033d HX |
2400 | |
2401 | static struct cipher_testvec bf_enc_tv_template[] = { | |
2402 | { /* DES test vectors from OpenSSL */ | |
2403 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
2404 | .klen = 8, | |
2405 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
2406 | .ilen = 8, | |
2407 | .result = "\x4e\xf9\x97\x45\x61\x98\xdd\x78", | |
2408 | .rlen = 8, | |
2409 | }, { | |
2410 | .key = "\x1f\x1f\x1f\x1f\x0e\x0e\x0e\x0e", | |
2411 | .klen = 8, | |
2412 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2413 | .ilen = 8, | |
2414 | .result = "\xa7\x90\x79\x51\x08\xea\x3c\xae", | |
2415 | .rlen = 8, | |
2416 | }, { | |
2417 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
2418 | .klen = 8, | |
2419 | .input = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2420 | .ilen = 8, | |
2421 | .result = "\xe8\x7a\x24\x4e\x2c\xc8\x5e\x82", | |
2422 | .rlen = 8, | |
2423 | }, { /* Vary the keylength... */ | |
2424 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87" | |
2425 | "\x78\x69\x5a\x4b\x3c\x2d\x1e\x0f", | |
2426 | .klen = 16, | |
2427 | .input = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2428 | .ilen = 8, | |
2429 | .result = "\x93\x14\x28\x87\xee\x3b\xe1\x5c", | |
2430 | .rlen = 8, | |
2431 | }, { | |
2432 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87" | |
2433 | "\x78\x69\x5a\x4b\x3c\x2d\x1e\x0f" | |
2434 | "\x00\x11\x22\x33\x44", | |
2435 | .klen = 21, | |
2436 | .input = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2437 | .ilen = 8, | |
2438 | .result = "\xe6\xf5\x1e\xd7\x9b\x9d\xb2\x1f", | |
2439 | .rlen = 8, | |
2440 | }, { /* Generated with bf488 */ | |
2441 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87" | |
2442 | "\x78\x69\x5a\x4b\x3c\x2d\x1e\x0f" | |
2443 | "\x00\x11\x22\x33\x44\x55\x66\x77" | |
2444 | "\x04\x68\x91\x04\xc2\xfd\x3b\x2f" | |
2445 | "\x58\x40\x23\x64\x1a\xba\x61\x76" | |
2446 | "\x1f\x1f\x1f\x1f\x0e\x0e\x0e\x0e" | |
2447 | "\xff\xff\xff\xff\xff\xff\xff\xff", | |
2448 | .klen = 56, | |
2449 | .input = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2450 | .ilen = 8, | |
2451 | .result = "\xc0\x45\x04\x01\x2e\x4e\x1f\x53", | |
2452 | .rlen = 8, | |
85b63e34 JK |
2453 | }, { /* Generated with Crypto++ */ |
2454 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
2455 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
2456 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
2457 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
2458 | .klen = 32, | |
2459 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
2460 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2461 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2462 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2463 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", | |
2464 | .ilen = 40, | |
2465 | .result = "\x96\x87\x3D\x0C\x7B\xFB\xBD\x1F" | |
2466 | "\xE3\xC1\x99\x6D\x39\xD4\xC2\x7D" | |
2467 | "\xD7\x87\xA1\xF2\xDF\x51\x71\x26" | |
2468 | "\xC2\xF4\x6D\xFF\xF6\xCD\x6B\x40" | |
2469 | "\xE1\xB3\xBF\xD4\x38\x2B\xC8\x3B", | |
2470 | .rlen = 40, | |
da7f033d HX |
2471 | }, |
2472 | }; | |
2473 | ||
2474 | static struct cipher_testvec bf_dec_tv_template[] = { | |
2475 | { /* DES test vectors from OpenSSL */ | |
2476 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
2477 | .klen = 8, | |
2478 | .input = "\x4e\xf9\x97\x45\x61\x98\xdd\x78", | |
2479 | .ilen = 8, | |
2480 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
2481 | .rlen = 8, | |
2482 | }, { | |
2483 | .key = "\x1f\x1f\x1f\x1f\x0e\x0e\x0e\x0e", | |
2484 | .klen = 8, | |
2485 | .input = "\xa7\x90\x79\x51\x08\xea\x3c\xae", | |
2486 | .ilen = 8, | |
2487 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
2488 | .rlen = 8, | |
2489 | }, { | |
2490 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
2491 | .klen = 8, | |
2492 | .input = "\xe8\x7a\x24\x4e\x2c\xc8\x5e\x82", | |
2493 | .ilen = 8, | |
2494 | .result = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2495 | .rlen = 8, | |
2496 | }, { /* Vary the keylength... */ | |
2497 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87" | |
2498 | "\x78\x69\x5a\x4b\x3c\x2d\x1e\x0f", | |
2499 | .klen = 16, | |
2500 | .input = "\x93\x14\x28\x87\xee\x3b\xe1\x5c", | |
2501 | .ilen = 8, | |
2502 | .result = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2503 | .rlen = 8, | |
2504 | }, { | |
2505 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87" | |
2506 | "\x78\x69\x5a\x4b\x3c\x2d\x1e\x0f" | |
2507 | "\x00\x11\x22\x33\x44", | |
2508 | .klen = 21, | |
2509 | .input = "\xe6\xf5\x1e\xd7\x9b\x9d\xb2\x1f", | |
2510 | .ilen = 8, | |
2511 | .result = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2512 | .rlen = 8, | |
2513 | }, { /* Generated with bf488, using OpenSSL, Libgcrypt and Nettle */ | |
2514 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87" | |
2515 | "\x78\x69\x5a\x4b\x3c\x2d\x1e\x0f" | |
2516 | "\x00\x11\x22\x33\x44\x55\x66\x77" | |
2517 | "\x04\x68\x91\x04\xc2\xfd\x3b\x2f" | |
2518 | "\x58\x40\x23\x64\x1a\xba\x61\x76" | |
2519 | "\x1f\x1f\x1f\x1f\x0e\x0e\x0e\x0e" | |
2520 | "\xff\xff\xff\xff\xff\xff\xff\xff", | |
2521 | .klen = 56, | |
2522 | .input = "\xc0\x45\x04\x01\x2e\x4e\x1f\x53", | |
2523 | .ilen = 8, | |
2524 | .result = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2525 | .rlen = 8, | |
85b63e34 JK |
2526 | }, { /* Generated with Crypto++ */ |
2527 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
2528 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
2529 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
2530 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
2531 | .klen = 32, | |
2532 | .input = "\x96\x87\x3D\x0C\x7B\xFB\xBD\x1F" | |
2533 | "\xE3\xC1\x99\x6D\x39\xD4\xC2\x7D" | |
2534 | "\xD7\x87\xA1\xF2\xDF\x51\x71\x26" | |
2535 | "\xC2\xF4\x6D\xFF\xF6\xCD\x6B\x40" | |
2536 | "\xE1\xB3\xBF\xD4\x38\x2B\xC8\x3B", | |
2537 | .ilen = 40, | |
2538 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
2539 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2540 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2541 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2542 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", | |
2543 | .rlen = 40, | |
da7f033d HX |
2544 | }, |
2545 | }; | |
2546 | ||
2547 | static struct cipher_testvec bf_cbc_enc_tv_template[] = { | |
2548 | { /* From OpenSSL */ | |
2549 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
2550 | "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
2551 | .klen = 16, | |
2552 | .iv = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2553 | .input = "\x37\x36\x35\x34\x33\x32\x31\x20" | |
2554 | "\x4e\x6f\x77\x20\x69\x73\x20\x74" | |
2555 | "\x68\x65\x20\x74\x69\x6d\x65\x20" | |
2556 | "\x66\x6f\x72\x20\x00\x00\x00\x00", | |
2557 | .ilen = 32, | |
2558 | .result = "\x6b\x77\xb4\xd6\x30\x06\xde\xe6" | |
2559 | "\x05\xb1\x56\xe2\x74\x03\x97\x93" | |
2560 | "\x58\xde\xb9\xe7\x15\x46\x16\xd9" | |
2561 | "\x59\xf1\x65\x2b\xd5\xff\x92\xcc", | |
2562 | .rlen = 32, | |
85b63e34 JK |
2563 | }, { /* Generated with Crypto++ */ |
2564 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
2565 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
2566 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
2567 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
2568 | .klen = 32, | |
2569 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
2570 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
2571 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2572 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2573 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2574 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", | |
2575 | .ilen = 40, | |
2576 | .result = "\xB4\xFE\xA5\xBB\x3D\x2C\x27\x06" | |
2577 | "\x06\x2B\x3A\x92\xB2\xF5\x5E\x62" | |
2578 | "\x84\xCD\xF7\x66\x7E\x41\x6C\x8E" | |
2579 | "\x1B\xD9\x02\xB6\x48\xB0\x87\x25" | |
2580 | "\x01\x9C\x93\x63\x51\x60\x82\xD2", | |
2581 | .rlen = 40, | |
da7f033d HX |
2582 | }, |
2583 | }; | |
2584 | ||
2585 | static struct cipher_testvec bf_cbc_dec_tv_template[] = { | |
2586 | { /* From OpenSSL */ | |
2587 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
2588 | "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
2589 | .klen = 16, | |
2590 | .iv = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
2591 | .input = "\x6b\x77\xb4\xd6\x30\x06\xde\xe6" | |
2592 | "\x05\xb1\x56\xe2\x74\x03\x97\x93" | |
2593 | "\x58\xde\xb9\xe7\x15\x46\x16\xd9" | |
2594 | "\x59\xf1\x65\x2b\xd5\xff\x92\xcc", | |
2595 | .ilen = 32, | |
2596 | .result = "\x37\x36\x35\x34\x33\x32\x31\x20" | |
2597 | "\x4e\x6f\x77\x20\x69\x73\x20\x74" | |
2598 | "\x68\x65\x20\x74\x69\x6d\x65\x20" | |
2599 | "\x66\x6f\x72\x20\x00\x00\x00\x00", | |
2600 | .rlen = 32, | |
85b63e34 JK |
2601 | }, { /* Generated with Crypto++ */ |
2602 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
2603 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
2604 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
2605 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
2606 | .klen = 32, | |
2607 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
2608 | .input = "\xB4\xFE\xA5\xBB\x3D\x2C\x27\x06" | |
2609 | "\x06\x2B\x3A\x92\xB2\xF5\x5E\x62" | |
2610 | "\x84\xCD\xF7\x66\x7E\x41\x6C\x8E" | |
2611 | "\x1B\xD9\x02\xB6\x48\xB0\x87\x25" | |
2612 | "\x01\x9C\x93\x63\x51\x60\x82\xD2", | |
2613 | .ilen = 40, | |
2614 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
2615 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2616 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2617 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2618 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", | |
2619 | .rlen = 40, | |
2620 | }, | |
2621 | }; | |
2622 | ||
2623 | static struct cipher_testvec bf_ctr_enc_tv_template[] = { | |
2624 | { /* Generated with Crypto++ */ | |
2625 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
2626 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
2627 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
2628 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
2629 | .klen = 32, | |
2630 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
2631 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
2632 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2633 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2634 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2635 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", | |
2636 | .ilen = 40, | |
2637 | .result = "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D" | |
2638 | "\x9E\xDF\x38\x18\x83\x07\xEF\xC1" | |
2639 | "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC" | |
2640 | "\x0D\x70\x86\x5A\x44\xAD\x85\x17" | |
2641 | "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC", | |
2642 | .rlen = 40, | |
2643 | }, { /* Generated with Crypto++ */ | |
2644 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
2645 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
2646 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
2647 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
2648 | .klen = 32, | |
2649 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
2650 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
2651 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2652 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2653 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2654 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
2655 | "\x6D\x04\x9B", | |
2656 | .ilen = 43, | |
2657 | .result = "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D" | |
2658 | "\x9E\xDF\x38\x18\x83\x07\xEF\xC1" | |
2659 | "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC" | |
2660 | "\x0D\x70\x86\x5A\x44\xAD\x85\x17" | |
2661 | "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC" | |
2662 | "\x3D\xA7\xE9", | |
2663 | .rlen = 43, | |
2664 | }, | |
2665 | }; | |
2666 | ||
2667 | static struct cipher_testvec bf_ctr_dec_tv_template[] = { | |
2668 | { /* Generated with Crypto++ */ | |
2669 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
2670 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
2671 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
2672 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
2673 | .klen = 32, | |
2674 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
2675 | .input = "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D" | |
2676 | "\x9E\xDF\x38\x18\x83\x07\xEF\xC1" | |
2677 | "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC" | |
2678 | "\x0D\x70\x86\x5A\x44\xAD\x85\x17" | |
2679 | "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC", | |
2680 | .ilen = 40, | |
2681 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
2682 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2683 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2684 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2685 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9", | |
2686 | .rlen = 40, | |
2687 | }, { /* Generated with Crypto++ */ | |
2688 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
2689 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
2690 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
2691 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
2692 | .klen = 32, | |
2693 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
2694 | .input = "\xC7\xA3\xDF\xB9\x05\xF4\x9E\x8D" | |
2695 | "\x9E\xDF\x38\x18\x83\x07\xEF\xC1" | |
2696 | "\x93\x3C\xAA\xAA\xFE\x06\x42\xCC" | |
2697 | "\x0D\x70\x86\x5A\x44\xAD\x85\x17" | |
2698 | "\xE4\x1F\x5E\xA5\x89\xAC\x32\xBC" | |
2699 | "\x3D\xA7\xE9", | |
2700 | .ilen = 43, | |
2701 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
2702 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2703 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2704 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2705 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
2706 | "\x6D\x04\x9B", | |
2707 | .rlen = 43, | |
da7f033d HX |
2708 | }, |
2709 | }; | |
2710 | ||
2711 | /* | |
2712 | * Twofish test vectors. | |
2713 | */ | |
573da620 JK |
2714 | #define TF_ENC_TEST_VECTORS 4 |
2715 | #define TF_DEC_TEST_VECTORS 4 | |
2716 | #define TF_CBC_ENC_TEST_VECTORS 5 | |
2717 | #define TF_CBC_DEC_TEST_VECTORS 5 | |
2718 | #define TF_CTR_ENC_TEST_VECTORS 2 | |
2719 | #define TF_CTR_DEC_TEST_VECTORS 2 | |
0b2a1551 JK |
2720 | #define TF_LRW_ENC_TEST_VECTORS 8 |
2721 | #define TF_LRW_DEC_TEST_VECTORS 8 | |
aed265b9 JK |
2722 | #define TF_XTS_ENC_TEST_VECTORS 5 |
2723 | #define TF_XTS_DEC_TEST_VECTORS 5 | |
da7f033d HX |
2724 | |
2725 | static struct cipher_testvec tf_enc_tv_template[] = { | |
2726 | { | |
2727 | .key = zeroed_string, | |
2728 | .klen = 16, | |
2729 | .input = zeroed_string, | |
2730 | .ilen = 16, | |
2731 | .result = "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32" | |
2732 | "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a", | |
2733 | .rlen = 16, | |
2734 | }, { | |
2735 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
2736 | "\xfe\xdc\xba\x98\x76\x54\x32\x10" | |
2737 | "\x00\x11\x22\x33\x44\x55\x66\x77", | |
2738 | .klen = 24, | |
2739 | .input = zeroed_string, | |
2740 | .ilen = 16, | |
2741 | .result = "\xcf\xd1\xd2\xe5\xa9\xbe\x9c\xdf" | |
2742 | "\x50\x1f\x13\xb8\x92\xbd\x22\x48", | |
2743 | .rlen = 16, | |
2744 | }, { | |
2745 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
2746 | "\xfe\xdc\xba\x98\x76\x54\x32\x10" | |
2747 | "\x00\x11\x22\x33\x44\x55\x66\x77" | |
2748 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
2749 | .klen = 32, | |
2750 | .input = zeroed_string, | |
2751 | .ilen = 16, | |
2752 | .result = "\x37\x52\x7b\xe0\x05\x23\x34\xb8" | |
2753 | "\x9f\x0c\xfc\xca\xe8\x7c\xfa\x20", | |
2754 | .rlen = 16, | |
573da620 JK |
2755 | }, { /* Generated with Crypto++ */ |
2756 | .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C" | |
2757 | "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D" | |
2758 | "\x4A\x27\x04\xE1\x27\x04\xE1\xBE" | |
2759 | "\x9B\x78\xBE\x9B\x78\x55\x32\x0F", | |
2760 | .klen = 32, | |
2761 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
2762 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2763 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2764 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2765 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
2766 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
2767 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
4da7de4d JG |
2768 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" |
2769 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
2770 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
2771 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
2772 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
2773 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
2774 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
2775 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
2776 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
2777 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
2778 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
2779 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
2780 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
2781 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
2782 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
2783 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
2784 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
2785 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
2786 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
2787 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
2788 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
2789 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
2790 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
2791 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
2792 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
2793 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
2794 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
2795 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
2796 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
2797 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
2798 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
2799 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
2800 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
2801 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
2802 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
2803 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
2804 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
2805 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
2806 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
2807 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
2808 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
2809 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
2810 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
2811 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
2812 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
2813 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
2814 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
2815 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
2816 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
2817 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
2818 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
2819 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
2820 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
2821 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
2822 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
2823 | .ilen = 496, | |
573da620 JK |
2824 | .result = "\x88\xCB\x1E\xC2\xAF\x8A\x97\xFF" |
2825 | "\xF6\x90\x46\x9C\x4A\x0F\x08\xDC" | |
2826 | "\xDE\xAB\xAD\xFA\xFC\xA8\xC2\x3D" | |
2827 | "\xE0\xE4\x8B\x3F\xD5\xA3\xF7\x14" | |
2828 | "\x34\x9E\xB6\x08\xB2\xDD\xA8\xF5" | |
2829 | "\xDF\xFA\xC7\xE8\x09\x50\x76\x08" | |
2830 | "\xA2\xB6\x6A\x59\xC0\x2B\x6D\x05" | |
4da7de4d JG |
2831 | "\x89\xF6\x82\xF0\xD3\xDB\x06\x02" |
2832 | "\xB5\x11\x5C\x5E\x79\x1A\xAC\x43" | |
2833 | "\x5C\xC0\x30\x4B\x6B\x16\xA1\x40" | |
2834 | "\x80\x27\x88\xBA\x2C\x74\x42\xE0" | |
2835 | "\x1B\xA5\x85\x08\xB9\xE6\x22\x7A" | |
2836 | "\x36\x3B\x0D\x9F\xA0\x22\x6C\x2A" | |
2837 | "\x91\x75\x47\xBC\x67\x21\x4E\xF9" | |
2838 | "\xEA\xFF\xD9\xD5\xC0\xFC\x9E\x2C" | |
2839 | "\x3E\xAD\xC6\x61\x0E\x93\x7A\x22" | |
2840 | "\x09\xC8\x8D\xC1\x8E\xB4\x8B\x5C" | |
2841 | "\xC6\x24\x42\xB8\x23\x66\x80\xA9" | |
2842 | "\x32\x0B\x7A\x29\xBF\xB3\x0B\x63" | |
2843 | "\x43\x27\x13\xA9\xBE\xEB\xBD\xF3" | |
2844 | "\x33\x62\x70\xE2\x1B\x86\x7A\xA1" | |
2845 | "\x51\x4A\x16\xFE\x29\x63\x7E\xD0" | |
2846 | "\x7A\xA4\x6E\x2C\xF8\xC1\xDB\xE8" | |
2847 | "\xCB\x4D\xD2\x8C\x04\x14\xB4\x66" | |
2848 | "\x41\xB7\x3A\x96\x16\x7C\x1D\x5B" | |
2849 | "\xB6\x41\x42\x64\x43\xEE\x6E\x7C" | |
2850 | "\x8B\xAF\x01\x9C\xA4\x6E\x75\x8F" | |
2851 | "\xDE\x10\x9F\xA6\xE7\xD6\x44\x97" | |
2852 | "\x66\xA3\x96\x0F\x1C\x25\x60\xF5" | |
2853 | "\x3C\x2E\x32\x69\x0E\x82\xFF\x27" | |
2854 | "\x0F\xB5\x06\xDA\xD8\x31\x15\x6C" | |
2855 | "\xDF\x18\x6C\x87\xF5\x3B\x11\x9A" | |
2856 | "\x1B\x42\x1F\x5B\x29\x19\x96\x13" | |
2857 | "\x68\x2E\x5E\x08\x1C\x8F\x32\x4B" | |
2858 | "\x81\x77\x6D\xF4\xA0\x01\x42\xEC" | |
2859 | "\xDD\x5B\xFD\x3A\x8E\x6A\x14\xFB" | |
2860 | "\x83\x54\xDF\x0F\x86\xB7\xEA\x40" | |
2861 | "\x46\x39\xF7\x2A\x89\x8D\x4E\x96" | |
2862 | "\x5F\x5F\x6D\x76\xC6\x13\x9D\x3D" | |
2863 | "\x1D\x5F\x0C\x7D\xE2\xBC\xC2\x16" | |
2864 | "\x16\xBE\x89\x3E\xB0\x61\xA2\x5D" | |
2865 | "\xAF\xD1\x40\x5F\x1A\xB8\x26\x41" | |
2866 | "\xC6\xBD\x36\xEF\xED\x29\x50\x6D" | |
2867 | "\x10\xEF\x26\xE8\xA8\x93\x11\x3F" | |
2868 | "\x2D\x1F\x88\x20\x77\x45\xF5\x66" | |
2869 | "\x08\xB9\xF1\xEF\xB1\x93\xA8\x81" | |
2870 | "\x65\xC5\xCD\x3E\x8C\x06\x60\x2C" | |
2871 | "\xB2\x10\x7A\xCA\x05\x25\x59\xDB" | |
2872 | "\xC7\x28\xF5\x20\x35\x52\x9E\x62" | |
2873 | "\xF8\x88\x24\x1C\x4D\x84\x12\x39" | |
2874 | "\x39\xE4\x2E\xF4\xD4\x9D\x2B\xBC" | |
2875 | "\x87\x66\xE6\xC0\x6B\x31\x9A\x66" | |
2876 | "\x03\xDC\x95\xD8\x6B\xD0\x30\x8F" | |
2877 | "\xDF\x8F\x8D\xFA\xEC\x1F\x08\xBD" | |
2878 | "\xA3\x63\xE2\x71\x4F\x03\x94\x87" | |
2879 | "\x50\xDF\x15\x1F\xED\x3A\xA3\x7F" | |
2880 | "\x1F\x2A\xB5\xA1\x69\xAC\x4B\x0D" | |
2881 | "\x84\x9B\x2A\xE9\x55\xDD\x46\x91" | |
2882 | "\x15\x33\xF3\x2B\x9B\x46\x97\x00" | |
2883 | "\xF0\x29\xD8\x59\x5D\x33\x37\xF9" | |
2884 | "\x58\x33\x9B\x78\xC7\x58\x48\x6B" | |
2885 | "\x2C\x75\x64\xC4\xCA\xC1\x7E\xD5", | |
2886 | .rlen = 496, | |
da7f033d HX |
2887 | }, |
2888 | }; | |
2889 | ||
2890 | static struct cipher_testvec tf_dec_tv_template[] = { | |
2891 | { | |
2892 | .key = zeroed_string, | |
2893 | .klen = 16, | |
2894 | .input = "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32" | |
2895 | "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a", | |
2896 | .ilen = 16, | |
2897 | .result = zeroed_string, | |
2898 | .rlen = 16, | |
2899 | }, { | |
2900 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
2901 | "\xfe\xdc\xba\x98\x76\x54\x32\x10" | |
2902 | "\x00\x11\x22\x33\x44\x55\x66\x77", | |
2903 | .klen = 24, | |
2904 | .input = "\xcf\xd1\xd2\xe5\xa9\xbe\x9c\xdf" | |
2905 | "\x50\x1f\x13\xb8\x92\xbd\x22\x48", | |
2906 | .ilen = 16, | |
2907 | .result = zeroed_string, | |
2908 | .rlen = 16, | |
2909 | }, { | |
2910 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
2911 | "\xfe\xdc\xba\x98\x76\x54\x32\x10" | |
2912 | "\x00\x11\x22\x33\x44\x55\x66\x77" | |
2913 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
2914 | .klen = 32, | |
2915 | .input = "\x37\x52\x7b\xe0\x05\x23\x34\xb8" | |
2916 | "\x9f\x0c\xfc\xca\xe8\x7c\xfa\x20", | |
2917 | .ilen = 16, | |
2918 | .result = zeroed_string, | |
2919 | .rlen = 16, | |
573da620 JK |
2920 | }, { /* Generated with Crypto++ */ |
2921 | .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C" | |
2922 | "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D" | |
2923 | "\x4A\x27\x04\xE1\x27\x04\xE1\xBE" | |
2924 | "\x9B\x78\xBE\x9B\x78\x55\x32\x0F", | |
2925 | .klen = 32, | |
2926 | .input = "\x88\xCB\x1E\xC2\xAF\x8A\x97\xFF" | |
2927 | "\xF6\x90\x46\x9C\x4A\x0F\x08\xDC" | |
2928 | "\xDE\xAB\xAD\xFA\xFC\xA8\xC2\x3D" | |
2929 | "\xE0\xE4\x8B\x3F\xD5\xA3\xF7\x14" | |
2930 | "\x34\x9E\xB6\x08\xB2\xDD\xA8\xF5" | |
2931 | "\xDF\xFA\xC7\xE8\x09\x50\x76\x08" | |
2932 | "\xA2\xB6\x6A\x59\xC0\x2B\x6D\x05" | |
4da7de4d JG |
2933 | "\x89\xF6\x82\xF0\xD3\xDB\x06\x02" |
2934 | "\xB5\x11\x5C\x5E\x79\x1A\xAC\x43" | |
2935 | "\x5C\xC0\x30\x4B\x6B\x16\xA1\x40" | |
2936 | "\x80\x27\x88\xBA\x2C\x74\x42\xE0" | |
2937 | "\x1B\xA5\x85\x08\xB9\xE6\x22\x7A" | |
2938 | "\x36\x3B\x0D\x9F\xA0\x22\x6C\x2A" | |
2939 | "\x91\x75\x47\xBC\x67\x21\x4E\xF9" | |
2940 | "\xEA\xFF\xD9\xD5\xC0\xFC\x9E\x2C" | |
2941 | "\x3E\xAD\xC6\x61\x0E\x93\x7A\x22" | |
2942 | "\x09\xC8\x8D\xC1\x8E\xB4\x8B\x5C" | |
2943 | "\xC6\x24\x42\xB8\x23\x66\x80\xA9" | |
2944 | "\x32\x0B\x7A\x29\xBF\xB3\x0B\x63" | |
2945 | "\x43\x27\x13\xA9\xBE\xEB\xBD\xF3" | |
2946 | "\x33\x62\x70\xE2\x1B\x86\x7A\xA1" | |
2947 | "\x51\x4A\x16\xFE\x29\x63\x7E\xD0" | |
2948 | "\x7A\xA4\x6E\x2C\xF8\xC1\xDB\xE8" | |
2949 | "\xCB\x4D\xD2\x8C\x04\x14\xB4\x66" | |
2950 | "\x41\xB7\x3A\x96\x16\x7C\x1D\x5B" | |
2951 | "\xB6\x41\x42\x64\x43\xEE\x6E\x7C" | |
2952 | "\x8B\xAF\x01\x9C\xA4\x6E\x75\x8F" | |
2953 | "\xDE\x10\x9F\xA6\xE7\xD6\x44\x97" | |
2954 | "\x66\xA3\x96\x0F\x1C\x25\x60\xF5" | |
2955 | "\x3C\x2E\x32\x69\x0E\x82\xFF\x27" | |
2956 | "\x0F\xB5\x06\xDA\xD8\x31\x15\x6C" | |
2957 | "\xDF\x18\x6C\x87\xF5\x3B\x11\x9A" | |
2958 | "\x1B\x42\x1F\x5B\x29\x19\x96\x13" | |
2959 | "\x68\x2E\x5E\x08\x1C\x8F\x32\x4B" | |
2960 | "\x81\x77\x6D\xF4\xA0\x01\x42\xEC" | |
2961 | "\xDD\x5B\xFD\x3A\x8E\x6A\x14\xFB" | |
2962 | "\x83\x54\xDF\x0F\x86\xB7\xEA\x40" | |
2963 | "\x46\x39\xF7\x2A\x89\x8D\x4E\x96" | |
2964 | "\x5F\x5F\x6D\x76\xC6\x13\x9D\x3D" | |
2965 | "\x1D\x5F\x0C\x7D\xE2\xBC\xC2\x16" | |
2966 | "\x16\xBE\x89\x3E\xB0\x61\xA2\x5D" | |
2967 | "\xAF\xD1\x40\x5F\x1A\xB8\x26\x41" | |
2968 | "\xC6\xBD\x36\xEF\xED\x29\x50\x6D" | |
2969 | "\x10\xEF\x26\xE8\xA8\x93\x11\x3F" | |
2970 | "\x2D\x1F\x88\x20\x77\x45\xF5\x66" | |
2971 | "\x08\xB9\xF1\xEF\xB1\x93\xA8\x81" | |
2972 | "\x65\xC5\xCD\x3E\x8C\x06\x60\x2C" | |
2973 | "\xB2\x10\x7A\xCA\x05\x25\x59\xDB" | |
2974 | "\xC7\x28\xF5\x20\x35\x52\x9E\x62" | |
2975 | "\xF8\x88\x24\x1C\x4D\x84\x12\x39" | |
2976 | "\x39\xE4\x2E\xF4\xD4\x9D\x2B\xBC" | |
2977 | "\x87\x66\xE6\xC0\x6B\x31\x9A\x66" | |
2978 | "\x03\xDC\x95\xD8\x6B\xD0\x30\x8F" | |
2979 | "\xDF\x8F\x8D\xFA\xEC\x1F\x08\xBD" | |
2980 | "\xA3\x63\xE2\x71\x4F\x03\x94\x87" | |
2981 | "\x50\xDF\x15\x1F\xED\x3A\xA3\x7F" | |
2982 | "\x1F\x2A\xB5\xA1\x69\xAC\x4B\x0D" | |
2983 | "\x84\x9B\x2A\xE9\x55\xDD\x46\x91" | |
2984 | "\x15\x33\xF3\x2B\x9B\x46\x97\x00" | |
2985 | "\xF0\x29\xD8\x59\x5D\x33\x37\xF9" | |
2986 | "\x58\x33\x9B\x78\xC7\x58\x48\x6B" | |
2987 | "\x2C\x75\x64\xC4\xCA\xC1\x7E\xD5", | |
2988 | .ilen = 496, | |
573da620 JK |
2989 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" |
2990 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
2991 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
2992 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
2993 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
2994 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
2995 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
4da7de4d JG |
2996 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" |
2997 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
2998 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
2999 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
3000 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
3001 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
3002 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
3003 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
3004 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
3005 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
3006 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
3007 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
3008 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
3009 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
3010 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
3011 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
3012 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
3013 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
3014 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
3015 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
3016 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
3017 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
3018 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
3019 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
3020 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
3021 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
3022 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
3023 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
3024 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
3025 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
3026 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
3027 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
3028 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
3029 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
3030 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
3031 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
3032 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
3033 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
3034 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
3035 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
3036 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
3037 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
3038 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
3039 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
3040 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
3041 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
3042 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
3043 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
3044 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
3045 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
3046 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
3047 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
3048 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
3049 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
3050 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
3051 | .rlen = 496, | |
da7f033d HX |
3052 | }, |
3053 | }; | |
3054 | ||
3055 | static struct cipher_testvec tf_cbc_enc_tv_template[] = { | |
3056 | { /* Generated with Nettle */ | |
3057 | .key = zeroed_string, | |
3058 | .klen = 16, | |
3059 | .iv = zeroed_string, | |
3060 | .input = zeroed_string, | |
3061 | .ilen = 16, | |
3062 | .result = "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32" | |
3063 | "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a", | |
3064 | .rlen = 16, | |
3065 | }, { | |
3066 | .key = zeroed_string, | |
3067 | .klen = 16, | |
3068 | .iv = "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32" | |
3069 | "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a", | |
3070 | .input = zeroed_string, | |
3071 | .ilen = 16, | |
3072 | .result = "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e" | |
3073 | "\x86\xcb\x08\x6b\x78\x9f\x54\x19", | |
3074 | .rlen = 16, | |
3075 | }, { | |
3076 | .key = zeroed_string, | |
3077 | .klen = 16, | |
3078 | .iv = "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e" | |
3079 | "\x86\xcb\x08\x6b\x78\x9f\x54\x19", | |
3080 | .input = zeroed_string, | |
3081 | .ilen = 16, | |
3082 | .result = "\x05\xef\x8c\x61\xa8\x11\x58\x26" | |
3083 | "\x34\xba\x5c\xb7\x10\x6a\xa6\x41", | |
3084 | .rlen = 16, | |
3085 | }, { | |
3086 | .key = zeroed_string, | |
3087 | .klen = 16, | |
3088 | .iv = zeroed_string, | |
3089 | .input = zeroed_string, | |
3090 | .ilen = 48, | |
3091 | .result = "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32" | |
3092 | "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a" | |
3093 | "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e" | |
3094 | "\x86\xcb\x08\x6b\x78\x9f\x54\x19" | |
3095 | "\x05\xef\x8c\x61\xa8\x11\x58\x26" | |
3096 | "\x34\xba\x5c\xb7\x10\x6a\xa6\x41", | |
3097 | .rlen = 48, | |
573da620 JK |
3098 | }, { /* Generated with Crypto++ */ |
3099 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
3100 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
3101 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
3102 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
3103 | .klen = 32, | |
3104 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
3105 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
3106 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
3107 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
3108 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
3109 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
3110 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
3111 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
3112 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
4da7de4d JG |
3113 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" |
3114 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
3115 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
3116 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
3117 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
3118 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
3119 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
3120 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
3121 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
3122 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
3123 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
3124 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
3125 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
3126 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
3127 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
3128 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
3129 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
3130 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
3131 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
3132 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
3133 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
3134 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
3135 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
3136 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
3137 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
3138 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
3139 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
3140 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
3141 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
3142 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
3143 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
3144 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
3145 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
3146 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
3147 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
3148 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
3149 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
3150 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
3151 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
3152 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
3153 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
3154 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
3155 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
3156 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
3157 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
3158 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
3159 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
3160 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
3161 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
3162 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
3163 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
3164 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
3165 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
3166 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
3167 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
3168 | .ilen = 496, | |
573da620 JK |
3169 | .result = "\xC8\xFF\xF2\x53\xA6\x27\x09\xD1" |
3170 | "\x33\x38\xC2\xC0\x0C\x14\x7E\xB5" | |
3171 | "\x26\x1B\x05\x0C\x05\x12\x3F\xC0" | |
3172 | "\xF9\x1C\x02\x28\x40\x96\x6F\xD0" | |
3173 | "\x3D\x32\xDF\xDA\x56\x00\x6E\xEE" | |
3174 | "\x5B\x2A\x72\x9D\xC2\x4D\x19\xBC" | |
3175 | "\x8C\x53\xFA\x87\x6F\xDD\x81\xA3" | |
4da7de4d JG |
3176 | "\xB1\xD3\x44\x65\xDF\xE7\x63\x38" |
3177 | "\x4A\xFC\xDC\xEC\x3F\x26\x8E\xB8" | |
3178 | "\x43\xFC\xFE\x18\xB5\x11\x6D\x31" | |
3179 | "\x81\x8B\x0D\x75\xF6\x80\xEC\x84" | |
3180 | "\x04\xB9\xE6\x09\x63\xED\x39\xDB" | |
3181 | "\xC3\xF6\x14\xD6\x6E\x5E\x8B\xBD" | |
3182 | "\x3E\xFA\xD7\x98\x50\x6F\xD9\x63" | |
3183 | "\x02\xCD\x0D\x39\x4B\x0D\xEC\x80" | |
3184 | "\xE3\x6A\x17\xF4\xCC\xAD\xFF\x68" | |
3185 | "\x45\xDD\xC8\x83\x1D\x41\x96\x0D" | |
3186 | "\x91\x2E\x05\xD3\x59\x82\xE0\x43" | |
3187 | "\x90\x4F\xB9\xF7\xAD\x6B\x2E\xAF" | |
3188 | "\xA7\x84\x00\x53\xCD\x6F\xD1\x0C" | |
3189 | "\x4E\xF9\x5A\x23\xFB\xCA\xC7\xD3" | |
3190 | "\xA9\xAA\x9D\xB2\x3F\x66\xF1\xAC" | |
3191 | "\x25\x21\x8F\xF7\xEF\xF2\x6A\xDF" | |
3192 | "\xE8\xDA\x75\x1A\x8A\xF1\xDD\x38" | |
3193 | "\x1F\xF9\x3D\x68\x4A\xBB\x9E\x34" | |
3194 | "\x1F\x66\x1F\x9C\x2B\x54\xFF\x60" | |
3195 | "\x7F\x29\x4B\x55\x80\x8F\x4E\xA7" | |
3196 | "\xA6\x9A\x0A\xD9\x0D\x19\x00\xF8" | |
3197 | "\x1F\xBC\x0C\x40\x6B\xEC\x99\x25" | |
3198 | "\x94\x70\x74\x0E\x1D\xC5\xBC\x12" | |
3199 | "\xF3\x42\xBE\x95\xBF\xFB\x4E\x55" | |
3200 | "\x9A\xB9\xCE\x14\x16\x5B\xDC\xD3" | |
3201 | "\x75\x42\x62\x04\x31\x1F\x95\x7C" | |
3202 | "\x66\x1A\x97\xDC\x2F\x40\x5C\x39" | |
3203 | "\x78\xE6\x02\xDB\x49\xE1\xC6\x47" | |
3204 | "\xC2\x78\x9A\xBB\xF3\xBE\xCB\x93" | |
3205 | "\xD8\xB8\xE8\xBB\x8C\xB3\x9B\xA7" | |
3206 | "\xC2\x89\xF3\x91\x88\x83\x3D\xF0" | |
3207 | "\x29\xA2\xCD\xB5\x79\x16\xC2\x40" | |
3208 | "\x11\x03\x8E\x9C\xFD\xC9\x43\xC4" | |
3209 | "\xC2\x19\xF0\x4A\x32\xEF\x0C\x2B" | |
3210 | "\xD3\x2B\xE9\xD4\x4C\xDE\x95\xCF" | |
3211 | "\x04\x03\xD3\x2C\x7F\x82\xC8\xFA" | |
3212 | "\x0F\xD8\x7A\x39\x7B\x01\x41\x9C" | |
3213 | "\x78\xB6\xC9\xBF\xF9\x78\x57\x88" | |
3214 | "\xB1\xA5\xE1\xE0\xD9\x16\xD4\xC8" | |
3215 | "\xEE\xC4\xBE\x7B\x55\x59\x00\x48" | |
3216 | "\x1B\xBC\x14\xFA\x2A\x9D\xC9\x1C" | |
3217 | "\xFB\x28\x3F\x95\xDD\xB7\xD6\xCE" | |
3218 | "\x3A\x7F\x09\x0C\x0E\x69\x30\x7D" | |
3219 | "\xBC\x68\x9C\x91\x2A\x59\x57\x04" | |
3220 | "\xED\x1A\x1E\x00\xB1\x85\x92\x04" | |
3221 | "\x28\x8C\x0C\x3C\xC1\xD5\x12\xF7" | |
3222 | "\x4C\x3E\xB0\xE7\x86\x62\x68\x91" | |
3223 | "\xFC\xC4\xE2\xCE\xA6\xDC\x5E\x93" | |
3224 | "\x5D\x8D\x8C\x68\xB3\xB2\xB9\x64" | |
3225 | "\x16\xB8\xC8\x6F\xD8\xEE\x21\xBD" | |
3226 | "\xAC\x18\x0C\x7D\x0D\x05\xAB\xF1" | |
3227 | "\xFA\xDD\xE2\x48\xDF\x4C\x02\x39" | |
3228 | "\x69\xA1\x62\xBD\x49\x3A\x9D\x91" | |
3229 | "\x30\x70\x56\xA4\x37\xDD\x7C\xC0" | |
3230 | "\x0A\xA3\x30\x10\x26\x25\x41\x2C", | |
3231 | .rlen = 496, | |
da7f033d HX |
3232 | }, |
3233 | }; | |
3234 | ||
3235 | static struct cipher_testvec tf_cbc_dec_tv_template[] = { | |
3236 | { /* Reverse of the first four above */ | |
3237 | .key = zeroed_string, | |
3238 | .klen = 16, | |
3239 | .iv = zeroed_string, | |
3240 | .input = "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32" | |
3241 | "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a", | |
3242 | .ilen = 16, | |
3243 | .result = zeroed_string, | |
3244 | .rlen = 16, | |
3245 | }, { | |
3246 | .key = zeroed_string, | |
3247 | .klen = 16, | |
3248 | .iv = "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32" | |
3249 | "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a", | |
3250 | .input = "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e" | |
3251 | "\x86\xcb\x08\x6b\x78\x9f\x54\x19", | |
3252 | .ilen = 16, | |
3253 | .result = zeroed_string, | |
3254 | .rlen = 16, | |
3255 | }, { | |
3256 | .key = zeroed_string, | |
3257 | .klen = 16, | |
3258 | .iv = "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e" | |
3259 | "\x86\xcb\x08\x6b\x78\x9f\x54\x19", | |
3260 | .input = "\x05\xef\x8c\x61\xa8\x11\x58\x26" | |
3261 | "\x34\xba\x5c\xb7\x10\x6a\xa6\x41", | |
3262 | .ilen = 16, | |
3263 | .result = zeroed_string, | |
3264 | .rlen = 16, | |
3265 | }, { | |
3266 | .key = zeroed_string, | |
3267 | .klen = 16, | |
3268 | .iv = zeroed_string, | |
3269 | .input = "\x9f\x58\x9f\x5c\xf6\x12\x2c\x32" | |
3270 | "\xb6\xbf\xec\x2f\x2a\xe8\xc3\x5a" | |
3271 | "\xd4\x91\xdb\x16\xe7\xb1\xc3\x9e" | |
3272 | "\x86\xcb\x08\x6b\x78\x9f\x54\x19" | |
3273 | "\x05\xef\x8c\x61\xa8\x11\x58\x26" | |
3274 | "\x34\xba\x5c\xb7\x10\x6a\xa6\x41", | |
3275 | .ilen = 48, | |
3276 | .result = zeroed_string, | |
3277 | .rlen = 48, | |
573da620 JK |
3278 | }, { /* Generated with Crypto++ */ |
3279 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
3280 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
3281 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
3282 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
3283 | .klen = 32, | |
3284 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
3285 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
3286 | .input = "\xC8\xFF\xF2\x53\xA6\x27\x09\xD1" | |
3287 | "\x33\x38\xC2\xC0\x0C\x14\x7E\xB5" | |
3288 | "\x26\x1B\x05\x0C\x05\x12\x3F\xC0" | |
3289 | "\xF9\x1C\x02\x28\x40\x96\x6F\xD0" | |
3290 | "\x3D\x32\xDF\xDA\x56\x00\x6E\xEE" | |
3291 | "\x5B\x2A\x72\x9D\xC2\x4D\x19\xBC" | |
3292 | "\x8C\x53\xFA\x87\x6F\xDD\x81\xA3" | |
4da7de4d JG |
3293 | "\xB1\xD3\x44\x65\xDF\xE7\x63\x38" |
3294 | "\x4A\xFC\xDC\xEC\x3F\x26\x8E\xB8" | |
3295 | "\x43\xFC\xFE\x18\xB5\x11\x6D\x31" | |
3296 | "\x81\x8B\x0D\x75\xF6\x80\xEC\x84" | |
3297 | "\x04\xB9\xE6\x09\x63\xED\x39\xDB" | |
3298 | "\xC3\xF6\x14\xD6\x6E\x5E\x8B\xBD" | |
3299 | "\x3E\xFA\xD7\x98\x50\x6F\xD9\x63" | |
3300 | "\x02\xCD\x0D\x39\x4B\x0D\xEC\x80" | |
3301 | "\xE3\x6A\x17\xF4\xCC\xAD\xFF\x68" | |
3302 | "\x45\xDD\xC8\x83\x1D\x41\x96\x0D" | |
3303 | "\x91\x2E\x05\xD3\x59\x82\xE0\x43" | |
3304 | "\x90\x4F\xB9\xF7\xAD\x6B\x2E\xAF" | |
3305 | "\xA7\x84\x00\x53\xCD\x6F\xD1\x0C" | |
3306 | "\x4E\xF9\x5A\x23\xFB\xCA\xC7\xD3" | |
3307 | "\xA9\xAA\x9D\xB2\x3F\x66\xF1\xAC" | |
3308 | "\x25\x21\x8F\xF7\xEF\xF2\x6A\xDF" | |
3309 | "\xE8\xDA\x75\x1A\x8A\xF1\xDD\x38" | |
3310 | "\x1F\xF9\x3D\x68\x4A\xBB\x9E\x34" | |
3311 | "\x1F\x66\x1F\x9C\x2B\x54\xFF\x60" | |
3312 | "\x7F\x29\x4B\x55\x80\x8F\x4E\xA7" | |
3313 | "\xA6\x9A\x0A\xD9\x0D\x19\x00\xF8" | |
3314 | "\x1F\xBC\x0C\x40\x6B\xEC\x99\x25" | |
3315 | "\x94\x70\x74\x0E\x1D\xC5\xBC\x12" | |
3316 | "\xF3\x42\xBE\x95\xBF\xFB\x4E\x55" | |
3317 | "\x9A\xB9\xCE\x14\x16\x5B\xDC\xD3" | |
3318 | "\x75\x42\x62\x04\x31\x1F\x95\x7C" | |
3319 | "\x66\x1A\x97\xDC\x2F\x40\x5C\x39" | |
3320 | "\x78\xE6\x02\xDB\x49\xE1\xC6\x47" | |
3321 | "\xC2\x78\x9A\xBB\xF3\xBE\xCB\x93" | |
3322 | "\xD8\xB8\xE8\xBB\x8C\xB3\x9B\xA7" | |
3323 | "\xC2\x89\xF3\x91\x88\x83\x3D\xF0" | |
3324 | "\x29\xA2\xCD\xB5\x79\x16\xC2\x40" | |
3325 | "\x11\x03\x8E\x9C\xFD\xC9\x43\xC4" | |
3326 | "\xC2\x19\xF0\x4A\x32\xEF\x0C\x2B" | |
3327 | "\xD3\x2B\xE9\xD4\x4C\xDE\x95\xCF" | |
3328 | "\x04\x03\xD3\x2C\x7F\x82\xC8\xFA" | |
3329 | "\x0F\xD8\x7A\x39\x7B\x01\x41\x9C" | |
3330 | "\x78\xB6\xC9\xBF\xF9\x78\x57\x88" | |
3331 | "\xB1\xA5\xE1\xE0\xD9\x16\xD4\xC8" | |
3332 | "\xEE\xC4\xBE\x7B\x55\x59\x00\x48" | |
3333 | "\x1B\xBC\x14\xFA\x2A\x9D\xC9\x1C" | |
3334 | "\xFB\x28\x3F\x95\xDD\xB7\xD6\xCE" | |
3335 | "\x3A\x7F\x09\x0C\x0E\x69\x30\x7D" | |
3336 | "\xBC\x68\x9C\x91\x2A\x59\x57\x04" | |
3337 | "\xED\x1A\x1E\x00\xB1\x85\x92\x04" | |
3338 | "\x28\x8C\x0C\x3C\xC1\xD5\x12\xF7" | |
3339 | "\x4C\x3E\xB0\xE7\x86\x62\x68\x91" | |
3340 | "\xFC\xC4\xE2\xCE\xA6\xDC\x5E\x93" | |
3341 | "\x5D\x8D\x8C\x68\xB3\xB2\xB9\x64" | |
3342 | "\x16\xB8\xC8\x6F\xD8\xEE\x21\xBD" | |
3343 | "\xAC\x18\x0C\x7D\x0D\x05\xAB\xF1" | |
3344 | "\xFA\xDD\xE2\x48\xDF\x4C\x02\x39" | |
3345 | "\x69\xA1\x62\xBD\x49\x3A\x9D\x91" | |
3346 | "\x30\x70\x56\xA4\x37\xDD\x7C\xC0" | |
3347 | "\x0A\xA3\x30\x10\x26\x25\x41\x2C", | |
3348 | .ilen = 496, | |
573da620 JK |
3349 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" |
3350 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
3351 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
3352 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
3353 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
3354 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
3355 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
4da7de4d JG |
3356 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" |
3357 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
3358 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
3359 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
3360 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
3361 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
3362 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
3363 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
3364 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
3365 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
3366 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
3367 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
3368 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
3369 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
3370 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
3371 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
3372 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
3373 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
3374 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
3375 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
3376 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
3377 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
3378 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
3379 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
3380 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
3381 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
3382 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
3383 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
3384 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
3385 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
3386 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
3387 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
3388 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
3389 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
3390 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
3391 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
3392 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
3393 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
3394 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
3395 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
3396 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
3397 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
3398 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
3399 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
3400 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
3401 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
3402 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
3403 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
3404 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
3405 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
3406 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
3407 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
3408 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
3409 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
3410 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
3411 | .rlen = 496, | |
573da620 JK |
3412 | }, |
3413 | }; | |
3414 | ||
3415 | static struct cipher_testvec tf_ctr_enc_tv_template[] = { | |
3416 | { /* Generated with Crypto++ */ | |
3417 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
3418 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
3419 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
3420 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
3421 | .klen = 32, | |
3422 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
3423 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
3424 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
3425 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
3426 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
3427 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
3428 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
3429 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
3430 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
4da7de4d JG |
3431 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" |
3432 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
3433 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
3434 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
3435 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
3436 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
3437 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
3438 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
3439 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
3440 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
3441 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
3442 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
3443 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
3444 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
3445 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
3446 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
3447 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
3448 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
3449 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
3450 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
3451 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
3452 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
3453 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
3454 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
3455 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
3456 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
3457 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
3458 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
3459 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
3460 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
3461 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
3462 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
3463 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
3464 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
3465 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
3466 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
3467 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
3468 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
3469 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
3470 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
3471 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
3472 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
3473 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
3474 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
3475 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
3476 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
3477 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
3478 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
3479 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
3480 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
3481 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
3482 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
3483 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
3484 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
3485 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
3486 | .ilen = 496, | |
573da620 JK |
3487 | .result = "\xDF\xDD\x69\xFA\xB0\x2E\xFD\xFE" |
3488 | "\x70\x9E\xC5\x4B\xC9\xD4\xA1\x30" | |
3489 | "\x26\x9B\x89\xA1\xEE\x43\xE0\x52" | |
3490 | "\x55\x17\x4E\xC7\x0E\x33\x1F\xF1" | |
3491 | "\x9F\x8D\x40\x9F\x24\xFD\x92\xA0" | |
3492 | "\xBC\x8F\x35\xDD\x67\x38\xD8\xAA" | |
3493 | "\xCF\xF8\x48\xCA\xFB\xE4\x5C\x60" | |
4da7de4d JG |
3494 | "\x01\x41\x21\x12\x38\xAB\x52\x4F" |
3495 | "\xA8\x57\x20\xE0\x21\x6A\x17\x0D" | |
3496 | "\x0E\xF9\x8E\x49\x42\x00\x3C\x94" | |
3497 | "\x14\xC0\xD0\x8D\x8A\x98\xEB\x29" | |
3498 | "\xEC\xAE\x96\x44\xC0\x3C\x48\xDC" | |
3499 | "\x29\x35\x25\x2F\xE7\x11\x6C\x68" | |
3500 | "\xC8\x67\x0A\x2F\xF4\x07\xBE\xF9" | |
3501 | "\x2C\x31\x87\x40\xAB\xB2\xB6\xFA" | |
3502 | "\xD2\xC9\x6D\x5C\x50\xE9\xE6\x7E" | |
3503 | "\xE3\x0A\xD2\xD5\x6D\x8D\x64\x9E" | |
3504 | "\x70\xCE\x03\x76\xDD\xE0\xF0\x8C" | |
3505 | "\x84\x86\x8B\x6A\xFE\xC7\xF9\x69" | |
3506 | "\x2E\xFE\xFC\xC2\xC4\x1A\x55\x58" | |
3507 | "\xB3\xBE\xE2\x7E\xED\x39\x42\x6C" | |
3508 | "\xB4\x42\x97\x9A\xEC\xE1\x0A\x06" | |
3509 | "\x02\xC5\x03\x9D\xC4\x48\x15\x66" | |
3510 | "\x35\x6A\xC2\xC9\xA2\x26\x30\xBB" | |
3511 | "\xDB\x2D\xC8\x08\x2B\xA0\x29\x1A" | |
3512 | "\x23\x61\x48\xEA\x80\x04\x27\xAA" | |
3513 | "\x69\x49\xE8\xE8\x4A\x83\x6B\x5A" | |
3514 | "\xCA\x7C\xD3\xB1\xB5\x0B\xCC\x23" | |
3515 | "\x74\x1F\xA9\x87\xCD\xED\xC0\x2D" | |
3516 | "\xBF\xEB\xCF\x16\x2D\x2A\x2E\x1D" | |
3517 | "\x96\xBA\x36\x11\x45\x41\xDA\xCE" | |
3518 | "\xA4\x48\x80\x8B\x06\xF4\x98\x89" | |
3519 | "\x8B\x23\x08\x53\xF4\xD4\x5A\x24" | |
3520 | "\x8B\xF8\x43\x73\xD1\xEE\xC4\xB0" | |
3521 | "\xF8\xFE\x09\x0C\x75\x05\x38\x0B" | |
3522 | "\x7C\x81\xDE\x9D\xE4\x61\x37\x63" | |
3523 | "\x63\xAD\x12\xD2\x04\xB9\xCE\x45" | |
3524 | "\x5A\x1A\x6E\xB3\x78\x2A\xA4\x74" | |
3525 | "\x86\xD0\xE3\xFF\xDA\x38\x9C\xB5" | |
3526 | "\xB8\xB1\xDB\x38\x2F\xC5\x6A\xB4" | |
3527 | "\xEB\x6E\x96\xE8\x43\x80\xB5\x51" | |
3528 | "\x61\x2D\x48\xAA\x07\x65\x11\x8C" | |
3529 | "\x48\xE3\x90\x7E\x78\x3A\xEC\x97" | |
3530 | "\x05\x3D\x84\xE7\x90\x2B\xAA\xBD" | |
3531 | "\x83\x29\x0E\x1A\x81\x73\x7B\xE0" | |
3532 | "\x7A\x01\x4A\x37\x3B\x77\x7F\x8D" | |
3533 | "\x49\xA4\x2F\x6E\xBE\x68\x99\x08" | |
3534 | "\x99\xAA\x4C\x12\x04\xAE\x1F\x77" | |
3535 | "\x35\x88\xF1\x65\x06\x0A\x0B\x4D" | |
3536 | "\x47\xF9\x50\x38\x5D\x71\xF9\x6E" | |
3537 | "\xDE\xEC\x61\x35\x2C\x4C\x96\x50" | |
3538 | "\xE8\x28\x93\x9C\x7E\x01\xC6\x04" | |
3539 | "\xB2\xD6\xBC\x6C\x17\xEB\xC1\x7D" | |
3540 | "\x11\xE9\x43\x83\x76\xAA\x53\x37" | |
3541 | "\x0C\x1D\x39\x89\x53\x72\x09\x7E" | |
3542 | "\xD9\x85\x16\x04\xA5\x2C\x05\x6F" | |
3543 | "\x17\x0C\x6E\x66\xAA\x84\xA7\xD9" | |
3544 | "\xE2\xD9\xC4\xEB\x43\x3E\xB1\x8D" | |
3545 | "\x7C\x36\xC7\x71\x70\x9C\x10\xD8" | |
3546 | "\xE8\x47\x2A\x4D\xFD\xA1\xBC\xE3" | |
3547 | "\xB9\x32\xE2\xC1\x82\xAC\xFE\xCC" | |
3548 | "\xC5\xC9\x7F\x9E\xCF\x33\x7A\xDF", | |
3549 | .rlen = 496, | |
573da620 JK |
3550 | }, { /* Generated with Crypto++ */ |
3551 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
3552 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
3553 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
3554 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
3555 | .klen = 32, | |
3556 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
3557 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
3558 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
3559 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
3560 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
3561 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
3562 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
3563 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
3564 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
3565 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
4da7de4d JG |
3566 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" |
3567 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
3568 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
3569 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
3570 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
3571 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
3572 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
3573 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
3574 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
3575 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
3576 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
3577 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
3578 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
3579 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
3580 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
3581 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
3582 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
3583 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
3584 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
3585 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
3586 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
3587 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
3588 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
3589 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
3590 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
3591 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
3592 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
3593 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
3594 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
3595 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
3596 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
3597 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
3598 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
3599 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
3600 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
3601 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
3602 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
3603 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
3604 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
3605 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
3606 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
3607 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
3608 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
3609 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
3610 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
3611 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
3612 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
3613 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
3614 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
3615 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
3616 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
3617 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
3618 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
3619 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7" | |
3620 | "\x2B\xC2\x59", | |
3621 | .ilen = 499, | |
573da620 JK |
3622 | .result = "\xDF\xDD\x69\xFA\xB0\x2E\xFD\xFE" |
3623 | "\x70\x9E\xC5\x4B\xC9\xD4\xA1\x30" | |
3624 | "\x26\x9B\x89\xA1\xEE\x43\xE0\x52" | |
3625 | "\x55\x17\x4E\xC7\x0E\x33\x1F\xF1" | |
3626 | "\x9F\x8D\x40\x9F\x24\xFD\x92\xA0" | |
3627 | "\xBC\x8F\x35\xDD\x67\x38\xD8\xAA" | |
3628 | "\xCF\xF8\x48\xCA\xFB\xE4\x5C\x60" | |
3629 | "\x01\x41\x21\x12\x38\xAB\x52\x4F" | |
4da7de4d JG |
3630 | "\xA8\x57\x20\xE0\x21\x6A\x17\x0D" |
3631 | "\x0E\xF9\x8E\x49\x42\x00\x3C\x94" | |
3632 | "\x14\xC0\xD0\x8D\x8A\x98\xEB\x29" | |
3633 | "\xEC\xAE\x96\x44\xC0\x3C\x48\xDC" | |
3634 | "\x29\x35\x25\x2F\xE7\x11\x6C\x68" | |
3635 | "\xC8\x67\x0A\x2F\xF4\x07\xBE\xF9" | |
3636 | "\x2C\x31\x87\x40\xAB\xB2\xB6\xFA" | |
3637 | "\xD2\xC9\x6D\x5C\x50\xE9\xE6\x7E" | |
3638 | "\xE3\x0A\xD2\xD5\x6D\x8D\x64\x9E" | |
3639 | "\x70\xCE\x03\x76\xDD\xE0\xF0\x8C" | |
3640 | "\x84\x86\x8B\x6A\xFE\xC7\xF9\x69" | |
3641 | "\x2E\xFE\xFC\xC2\xC4\x1A\x55\x58" | |
3642 | "\xB3\xBE\xE2\x7E\xED\x39\x42\x6C" | |
3643 | "\xB4\x42\x97\x9A\xEC\xE1\x0A\x06" | |
3644 | "\x02\xC5\x03\x9D\xC4\x48\x15\x66" | |
3645 | "\x35\x6A\xC2\xC9\xA2\x26\x30\xBB" | |
3646 | "\xDB\x2D\xC8\x08\x2B\xA0\x29\x1A" | |
3647 | "\x23\x61\x48\xEA\x80\x04\x27\xAA" | |
3648 | "\x69\x49\xE8\xE8\x4A\x83\x6B\x5A" | |
3649 | "\xCA\x7C\xD3\xB1\xB5\x0B\xCC\x23" | |
3650 | "\x74\x1F\xA9\x87\xCD\xED\xC0\x2D" | |
3651 | "\xBF\xEB\xCF\x16\x2D\x2A\x2E\x1D" | |
3652 | "\x96\xBA\x36\x11\x45\x41\xDA\xCE" | |
3653 | "\xA4\x48\x80\x8B\x06\xF4\x98\x89" | |
3654 | "\x8B\x23\x08\x53\xF4\xD4\x5A\x24" | |
3655 | "\x8B\xF8\x43\x73\xD1\xEE\xC4\xB0" | |
3656 | "\xF8\xFE\x09\x0C\x75\x05\x38\x0B" | |
3657 | "\x7C\x81\xDE\x9D\xE4\x61\x37\x63" | |
3658 | "\x63\xAD\x12\xD2\x04\xB9\xCE\x45" | |
3659 | "\x5A\x1A\x6E\xB3\x78\x2A\xA4\x74" | |
3660 | "\x86\xD0\xE3\xFF\xDA\x38\x9C\xB5" | |
3661 | "\xB8\xB1\xDB\x38\x2F\xC5\x6A\xB4" | |
3662 | "\xEB\x6E\x96\xE8\x43\x80\xB5\x51" | |
3663 | "\x61\x2D\x48\xAA\x07\x65\x11\x8C" | |
3664 | "\x48\xE3\x90\x7E\x78\x3A\xEC\x97" | |
3665 | "\x05\x3D\x84\xE7\x90\x2B\xAA\xBD" | |
3666 | "\x83\x29\x0E\x1A\x81\x73\x7B\xE0" | |
3667 | "\x7A\x01\x4A\x37\x3B\x77\x7F\x8D" | |
3668 | "\x49\xA4\x2F\x6E\xBE\x68\x99\x08" | |
3669 | "\x99\xAA\x4C\x12\x04\xAE\x1F\x77" | |
3670 | "\x35\x88\xF1\x65\x06\x0A\x0B\x4D" | |
3671 | "\x47\xF9\x50\x38\x5D\x71\xF9\x6E" | |
3672 | "\xDE\xEC\x61\x35\x2C\x4C\x96\x50" | |
3673 | "\xE8\x28\x93\x9C\x7E\x01\xC6\x04" | |
3674 | "\xB2\xD6\xBC\x6C\x17\xEB\xC1\x7D" | |
3675 | "\x11\xE9\x43\x83\x76\xAA\x53\x37" | |
3676 | "\x0C\x1D\x39\x89\x53\x72\x09\x7E" | |
3677 | "\xD9\x85\x16\x04\xA5\x2C\x05\x6F" | |
3678 | "\x17\x0C\x6E\x66\xAA\x84\xA7\xD9" | |
3679 | "\xE2\xD9\xC4\xEB\x43\x3E\xB1\x8D" | |
3680 | "\x7C\x36\xC7\x71\x70\x9C\x10\xD8" | |
3681 | "\xE8\x47\x2A\x4D\xFD\xA1\xBC\xE3" | |
3682 | "\xB9\x32\xE2\xC1\x82\xAC\xFE\xCC" | |
3683 | "\xC5\xC9\x7F\x9E\xCF\x33\x7A\xDF" | |
3684 | "\x6C\x82\x9D", | |
3685 | .rlen = 499, | |
573da620 JK |
3686 | }, |
3687 | }; | |
3688 | ||
3689 | static struct cipher_testvec tf_ctr_dec_tv_template[] = { | |
3690 | { /* Generated with Crypto++ */ | |
3691 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
3692 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
3693 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
3694 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
3695 | .klen = 32, | |
3696 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
3697 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
3698 | .input = "\xDF\xDD\x69\xFA\xB0\x2E\xFD\xFE" | |
3699 | "\x70\x9E\xC5\x4B\xC9\xD4\xA1\x30" | |
3700 | "\x26\x9B\x89\xA1\xEE\x43\xE0\x52" | |
3701 | "\x55\x17\x4E\xC7\x0E\x33\x1F\xF1" | |
3702 | "\x9F\x8D\x40\x9F\x24\xFD\x92\xA0" | |
3703 | "\xBC\x8F\x35\xDD\x67\x38\xD8\xAA" | |
3704 | "\xCF\xF8\x48\xCA\xFB\xE4\x5C\x60" | |
4da7de4d JG |
3705 | "\x01\x41\x21\x12\x38\xAB\x52\x4F" |
3706 | "\xA8\x57\x20\xE0\x21\x6A\x17\x0D" | |
3707 | "\x0E\xF9\x8E\x49\x42\x00\x3C\x94" | |
3708 | "\x14\xC0\xD0\x8D\x8A\x98\xEB\x29" | |
3709 | "\xEC\xAE\x96\x44\xC0\x3C\x48\xDC" | |
3710 | "\x29\x35\x25\x2F\xE7\x11\x6C\x68" | |
3711 | "\xC8\x67\x0A\x2F\xF4\x07\xBE\xF9" | |
3712 | "\x2C\x31\x87\x40\xAB\xB2\xB6\xFA" | |
3713 | "\xD2\xC9\x6D\x5C\x50\xE9\xE6\x7E" | |
3714 | "\xE3\x0A\xD2\xD5\x6D\x8D\x64\x9E" | |
3715 | "\x70\xCE\x03\x76\xDD\xE0\xF0\x8C" | |
3716 | "\x84\x86\x8B\x6A\xFE\xC7\xF9\x69" | |
3717 | "\x2E\xFE\xFC\xC2\xC4\x1A\x55\x58" | |
3718 | "\xB3\xBE\xE2\x7E\xED\x39\x42\x6C" | |
3719 | "\xB4\x42\x97\x9A\xEC\xE1\x0A\x06" | |
3720 | "\x02\xC5\x03\x9D\xC4\x48\x15\x66" | |
3721 | "\x35\x6A\xC2\xC9\xA2\x26\x30\xBB" | |
3722 | "\xDB\x2D\xC8\x08\x2B\xA0\x29\x1A" | |
3723 | "\x23\x61\x48\xEA\x80\x04\x27\xAA" | |
3724 | "\x69\x49\xE8\xE8\x4A\x83\x6B\x5A" | |
3725 | "\xCA\x7C\xD3\xB1\xB5\x0B\xCC\x23" | |
3726 | "\x74\x1F\xA9\x87\xCD\xED\xC0\x2D" | |
3727 | "\xBF\xEB\xCF\x16\x2D\x2A\x2E\x1D" | |
3728 | "\x96\xBA\x36\x11\x45\x41\xDA\xCE" | |
3729 | "\xA4\x48\x80\x8B\x06\xF4\x98\x89" | |
3730 | "\x8B\x23\x08\x53\xF4\xD4\x5A\x24" | |
3731 | "\x8B\xF8\x43\x73\xD1\xEE\xC4\xB0" | |
3732 | "\xF8\xFE\x09\x0C\x75\x05\x38\x0B" | |
3733 | "\x7C\x81\xDE\x9D\xE4\x61\x37\x63" | |
3734 | "\x63\xAD\x12\xD2\x04\xB9\xCE\x45" | |
3735 | "\x5A\x1A\x6E\xB3\x78\x2A\xA4\x74" | |
3736 | "\x86\xD0\xE3\xFF\xDA\x38\x9C\xB5" | |
3737 | "\xB8\xB1\xDB\x38\x2F\xC5\x6A\xB4" | |
3738 | "\xEB\x6E\x96\xE8\x43\x80\xB5\x51" | |
3739 | "\x61\x2D\x48\xAA\x07\x65\x11\x8C" | |
3740 | "\x48\xE3\x90\x7E\x78\x3A\xEC\x97" | |
3741 | "\x05\x3D\x84\xE7\x90\x2B\xAA\xBD" | |
3742 | "\x83\x29\x0E\x1A\x81\x73\x7B\xE0" | |
3743 | "\x7A\x01\x4A\x37\x3B\x77\x7F\x8D" | |
3744 | "\x49\xA4\x2F\x6E\xBE\x68\x99\x08" | |
3745 | "\x99\xAA\x4C\x12\x04\xAE\x1F\x77" | |
3746 | "\x35\x88\xF1\x65\x06\x0A\x0B\x4D" | |
3747 | "\x47\xF9\x50\x38\x5D\x71\xF9\x6E" | |
3748 | "\xDE\xEC\x61\x35\x2C\x4C\x96\x50" | |
3749 | "\xE8\x28\x93\x9C\x7E\x01\xC6\x04" | |
3750 | "\xB2\xD6\xBC\x6C\x17\xEB\xC1\x7D" | |
3751 | "\x11\xE9\x43\x83\x76\xAA\x53\x37" | |
3752 | "\x0C\x1D\x39\x89\x53\x72\x09\x7E" | |
3753 | "\xD9\x85\x16\x04\xA5\x2C\x05\x6F" | |
3754 | "\x17\x0C\x6E\x66\xAA\x84\xA7\xD9" | |
3755 | "\xE2\xD9\xC4\xEB\x43\x3E\xB1\x8D" | |
3756 | "\x7C\x36\xC7\x71\x70\x9C\x10\xD8" | |
3757 | "\xE8\x47\x2A\x4D\xFD\xA1\xBC\xE3" | |
3758 | "\xB9\x32\xE2\xC1\x82\xAC\xFE\xCC" | |
3759 | "\xC5\xC9\x7F\x9E\xCF\x33\x7A\xDF", | |
3760 | .ilen = 496, | |
573da620 JK |
3761 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" |
3762 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
3763 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
3764 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
3765 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
3766 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
3767 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
4da7de4d JG |
3768 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" |
3769 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
3770 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
3771 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
3772 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
3773 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
3774 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
3775 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
3776 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
3777 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
3778 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
3779 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
3780 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
3781 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
3782 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
3783 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
3784 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
3785 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
3786 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
3787 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
3788 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
3789 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
3790 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
3791 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
3792 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
3793 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
3794 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
3795 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
3796 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
3797 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
3798 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
3799 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
3800 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
3801 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
3802 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
3803 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
3804 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
3805 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
3806 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
3807 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
3808 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
3809 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
3810 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
3811 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
3812 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
3813 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
3814 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
3815 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
3816 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
3817 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
3818 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
3819 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
3820 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
3821 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
3822 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
3823 | .rlen = 496, | |
573da620 JK |
3824 | }, { /* Generated with Crypto++ */ |
3825 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
3826 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
3827 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
3828 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
3829 | .klen = 32, | |
3830 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
3831 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
3832 | .input = "\xDF\xDD\x69\xFA\xB0\x2E\xFD\xFE" | |
3833 | "\x70\x9E\xC5\x4B\xC9\xD4\xA1\x30" | |
3834 | "\x26\x9B\x89\xA1\xEE\x43\xE0\x52" | |
3835 | "\x55\x17\x4E\xC7\x0E\x33\x1F\xF1" | |
3836 | "\x9F\x8D\x40\x9F\x24\xFD\x92\xA0" | |
3837 | "\xBC\x8F\x35\xDD\x67\x38\xD8\xAA" | |
3838 | "\xCF\xF8\x48\xCA\xFB\xE4\x5C\x60" | |
3839 | "\x01\x41\x21\x12\x38\xAB\x52\x4F" | |
4da7de4d JG |
3840 | "\xA8\x57\x20\xE0\x21\x6A\x17\x0D" |
3841 | "\x0E\xF9\x8E\x49\x42\x00\x3C\x94" | |
3842 | "\x14\xC0\xD0\x8D\x8A\x98\xEB\x29" | |
3843 | "\xEC\xAE\x96\x44\xC0\x3C\x48\xDC" | |
3844 | "\x29\x35\x25\x2F\xE7\x11\x6C\x68" | |
3845 | "\xC8\x67\x0A\x2F\xF4\x07\xBE\xF9" | |
3846 | "\x2C\x31\x87\x40\xAB\xB2\xB6\xFA" | |
3847 | "\xD2\xC9\x6D\x5C\x50\xE9\xE6\x7E" | |
3848 | "\xE3\x0A\xD2\xD5\x6D\x8D\x64\x9E" | |
3849 | "\x70\xCE\x03\x76\xDD\xE0\xF0\x8C" | |
3850 | "\x84\x86\x8B\x6A\xFE\xC7\xF9\x69" | |
3851 | "\x2E\xFE\xFC\xC2\xC4\x1A\x55\x58" | |
3852 | "\xB3\xBE\xE2\x7E\xED\x39\x42\x6C" | |
3853 | "\xB4\x42\x97\x9A\xEC\xE1\x0A\x06" | |
3854 | "\x02\xC5\x03\x9D\xC4\x48\x15\x66" | |
3855 | "\x35\x6A\xC2\xC9\xA2\x26\x30\xBB" | |
3856 | "\xDB\x2D\xC8\x08\x2B\xA0\x29\x1A" | |
3857 | "\x23\x61\x48\xEA\x80\x04\x27\xAA" | |
3858 | "\x69\x49\xE8\xE8\x4A\x83\x6B\x5A" | |
3859 | "\xCA\x7C\xD3\xB1\xB5\x0B\xCC\x23" | |
3860 | "\x74\x1F\xA9\x87\xCD\xED\xC0\x2D" | |
3861 | "\xBF\xEB\xCF\x16\x2D\x2A\x2E\x1D" | |
3862 | "\x96\xBA\x36\x11\x45\x41\xDA\xCE" | |
3863 | "\xA4\x48\x80\x8B\x06\xF4\x98\x89" | |
3864 | "\x8B\x23\x08\x53\xF4\xD4\x5A\x24" | |
3865 | "\x8B\xF8\x43\x73\xD1\xEE\xC4\xB0" | |
3866 | "\xF8\xFE\x09\x0C\x75\x05\x38\x0B" | |
3867 | "\x7C\x81\xDE\x9D\xE4\x61\x37\x63" | |
3868 | "\x63\xAD\x12\xD2\x04\xB9\xCE\x45" | |
3869 | "\x5A\x1A\x6E\xB3\x78\x2A\xA4\x74" | |
3870 | "\x86\xD0\xE3\xFF\xDA\x38\x9C\xB5" | |
3871 | "\xB8\xB1\xDB\x38\x2F\xC5\x6A\xB4" | |
3872 | "\xEB\x6E\x96\xE8\x43\x80\xB5\x51" | |
3873 | "\x61\x2D\x48\xAA\x07\x65\x11\x8C" | |
3874 | "\x48\xE3\x90\x7E\x78\x3A\xEC\x97" | |
3875 | "\x05\x3D\x84\xE7\x90\x2B\xAA\xBD" | |
3876 | "\x83\x29\x0E\x1A\x81\x73\x7B\xE0" | |
3877 | "\x7A\x01\x4A\x37\x3B\x77\x7F\x8D" | |
3878 | "\x49\xA4\x2F\x6E\xBE\x68\x99\x08" | |
3879 | "\x99\xAA\x4C\x12\x04\xAE\x1F\x77" | |
3880 | "\x35\x88\xF1\x65\x06\x0A\x0B\x4D" | |
3881 | "\x47\xF9\x50\x38\x5D\x71\xF9\x6E" | |
3882 | "\xDE\xEC\x61\x35\x2C\x4C\x96\x50" | |
3883 | "\xE8\x28\x93\x9C\x7E\x01\xC6\x04" | |
3884 | "\xB2\xD6\xBC\x6C\x17\xEB\xC1\x7D" | |
3885 | "\x11\xE9\x43\x83\x76\xAA\x53\x37" | |
3886 | "\x0C\x1D\x39\x89\x53\x72\x09\x7E" | |
3887 | "\xD9\x85\x16\x04\xA5\x2C\x05\x6F" | |
3888 | "\x17\x0C\x6E\x66\xAA\x84\xA7\xD9" | |
3889 | "\xE2\xD9\xC4\xEB\x43\x3E\xB1\x8D" | |
3890 | "\x7C\x36\xC7\x71\x70\x9C\x10\xD8" | |
3891 | "\xE8\x47\x2A\x4D\xFD\xA1\xBC\xE3" | |
3892 | "\xB9\x32\xE2\xC1\x82\xAC\xFE\xCC" | |
3893 | "\xC5\xC9\x7F\x9E\xCF\x33\x7A\xDF" | |
3894 | "\x6C\x82\x9D", | |
3895 | .ilen = 499, | |
573da620 JK |
3896 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" |
3897 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
3898 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
3899 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
3900 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
3901 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
3902 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
3903 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
4da7de4d JG |
3904 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" |
3905 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
3906 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
3907 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
3908 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
3909 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
3910 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
3911 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
3912 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
3913 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
3914 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
3915 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
3916 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
3917 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
3918 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
3919 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
3920 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
3921 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
3922 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
3923 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
3924 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
3925 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
3926 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
3927 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
3928 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
3929 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
3930 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
3931 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
3932 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
3933 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
3934 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
3935 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
3936 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
3937 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
3938 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
3939 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
3940 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
3941 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
3942 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
3943 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
3944 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
3945 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
3946 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
3947 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
3948 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
3949 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
3950 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
3951 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
3952 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
3953 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
3954 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
3955 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
3956 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
3957 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7" | |
3958 | "\x2B\xC2\x59", | |
3959 | .rlen = 499, | |
da7f033d HX |
3960 | }, |
3961 | }; | |
3962 | ||
0b2a1551 JK |
3963 | static struct cipher_testvec tf_lrw_enc_tv_template[] = { |
3964 | /* Generated from AES-LRW test vectors */ | |
3965 | { | |
3966 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | |
3967 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | |
3968 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | |
3969 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | |
3970 | .klen = 32, | |
3971 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
3972 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
3973 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
3974 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
3975 | .ilen = 16, | |
3976 | .result = "\xa1\x6c\x50\x69\x26\xa4\xef\x7b" | |
3977 | "\x7c\xc6\x91\xeb\x72\xdd\x9b\xee", | |
3978 | .rlen = 16, | |
3979 | }, { | |
3980 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | |
3981 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | |
3982 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | |
3983 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | |
3984 | .klen = 32, | |
3985 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
3986 | "\x00\x00\x00\x00\x00\x00\x00\x02", | |
3987 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
3988 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
3989 | .ilen = 16, | |
3990 | .result = "\xab\x72\x0a\xad\x3b\x0c\xf0\xc9" | |
3991 | "\x42\x2f\xf1\xae\xf1\x3c\xb1\xbd", | |
3992 | .rlen = 16, | |
3993 | }, { | |
3994 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | |
3995 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | |
3996 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | |
3997 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | |
3998 | .klen = 32, | |
3999 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4000 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
4001 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4002 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4003 | .ilen = 16, | |
4004 | .result = "\x85\xa7\x56\x67\x08\xfa\x42\xe1" | |
4005 | "\x22\xe6\x82\xfc\xd9\xb4\xd7\xd4", | |
4006 | .rlen = 16, | |
4007 | }, { | |
4008 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | |
4009 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | |
4010 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | |
4011 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | |
4012 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | |
4013 | .klen = 40, | |
4014 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4015 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
4016 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4017 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4018 | .ilen = 16, | |
4019 | .result = "\xd2\xaf\x69\x35\x24\x1d\x0e\x1c" | |
4020 | "\x84\x8b\x05\xe4\xa2\x2f\x16\xf5", | |
4021 | .rlen = 16, | |
4022 | }, { | |
4023 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | |
4024 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | |
4025 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | |
4026 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | |
4027 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | |
4028 | .klen = 40, | |
4029 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4030 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
4031 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4032 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4033 | .ilen = 16, | |
4034 | .result = "\x4a\x23\x56\xd7\xff\x90\xd0\x9a" | |
4035 | "\x0d\x7c\x26\xfc\xf0\xf0\xf6\xe4", | |
4036 | .rlen = 16, | |
4037 | }, { | |
4038 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
4039 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
4040 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
4041 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
4042 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
4043 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
4044 | .klen = 48, | |
4045 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4046 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
4047 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4048 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4049 | .ilen = 16, | |
4050 | .result = "\x30\xaf\x26\x05\x9d\x5d\x0a\x58" | |
4051 | "\xe2\xe7\xce\x8a\xb2\x56\x6d\x76", | |
4052 | .rlen = 16, | |
4053 | }, { | |
4054 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | |
4055 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | |
4056 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | |
4057 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | |
4058 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | |
4059 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | |
4060 | .klen = 48, | |
4061 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4062 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
4063 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4064 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4065 | .ilen = 16, | |
4066 | .result = "\xdf\xcf\xdc\xd2\xe1\xcf\x86\x75" | |
4067 | "\x17\x66\x5e\x0c\x14\xa1\x3d\x40", | |
4068 | .rlen = 16, | |
4069 | }, { | |
4070 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
4071 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
4072 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
4073 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
4074 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
4075 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
4076 | .klen = 48, | |
4077 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4078 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
4079 | .input = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
4080 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
4081 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
4082 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
4083 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
4084 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
4085 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
4086 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
4087 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
4088 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
4089 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
4090 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
4091 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
4092 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
4093 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
4094 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
4095 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
4096 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
4097 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
4098 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
4099 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
4100 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
4101 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
4102 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
4103 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
4104 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
4105 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
4106 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
4107 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
4108 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
4109 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
4110 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
4111 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
4112 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
4113 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
4114 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
4115 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
4116 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
4117 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
4118 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
4119 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
4120 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
4121 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
4122 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
4123 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
4124 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
4125 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
4126 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
4127 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
4128 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
4129 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
4130 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
4131 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
4132 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
4133 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
4134 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
4135 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
4136 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
4137 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
4138 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
4139 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
4140 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
4141 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
4142 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
4143 | .ilen = 512, | |
4144 | .result = "\x30\x38\xeb\xaf\x12\x43\x1a\x89" | |
4145 | "\x62\xa2\x36\xe5\xcf\x77\x1e\xd9" | |
4146 | "\x08\xc3\x0d\xdd\x95\xab\x19\x96" | |
4147 | "\x27\x52\x41\xc3\xca\xfb\xf6\xee" | |
4148 | "\x40\x2d\xdf\xdd\x00\x0c\xb9\x0a" | |
4149 | "\x3a\xf0\xc0\xd1\xda\x63\x9e\x45" | |
4150 | "\x42\xe9\x29\xc0\xb4\x07\xb4\x31" | |
4151 | "\x66\x77\x72\xb5\xb6\xb3\x57\x46" | |
4152 | "\x34\x9a\xfe\x03\xaf\x6b\x36\x07" | |
4153 | "\x63\x8e\xc2\x5d\xa6\x0f\xb6\x7d" | |
4154 | "\xfb\x6d\x82\x51\xb6\x98\xd0\x71" | |
4155 | "\xe7\x10\x7a\xdf\xb2\xbd\xf1\x1d" | |
4156 | "\x72\x2b\x54\x13\xe3\x6d\x79\x37" | |
4157 | "\xa9\x39\x2c\xdf\x21\xab\x87\xd5" | |
4158 | "\xee\xef\x9a\x12\x50\x39\x2e\x1b" | |
4159 | "\x7d\xe6\x6a\x27\x48\xb9\xe7\xac" | |
4160 | "\xaa\xcd\x79\x5f\xf2\xf3\xa0\x08" | |
4161 | "\x6f\x2c\xf4\x0e\xd1\xb8\x89\x25" | |
4162 | "\x31\x9d\xef\xb1\x1d\x27\x55\x04" | |
4163 | "\xc9\x8c\xb7\x68\xdc\xb6\x67\x8a" | |
4164 | "\xdb\xcf\x22\xf2\x3b\x6f\xce\xbb" | |
4165 | "\x26\xbe\x4f\x27\x04\x42\xd1\x44" | |
4166 | "\x4c\x08\xa3\x95\x4c\x7f\x1a\xaf" | |
4167 | "\x1d\x28\x14\xfd\xb1\x1a\x34\x18" | |
4168 | "\xf5\x1e\x28\x69\x95\x6a\x5a\xba" | |
4169 | "\x8e\xb2\x58\x1d\x28\x17\x13\x3d" | |
4170 | "\x38\x7d\x14\x8d\xab\x5d\xf9\xe8" | |
4171 | "\x3c\x0f\x2b\x0d\x2b\x08\xb4\x4b" | |
4172 | "\x6b\x0d\xc8\xa7\x84\xc2\x3a\x1a" | |
4173 | "\xb7\xbd\xda\x92\x29\xb8\x5b\x5a" | |
4174 | "\x63\xa5\x99\x82\x09\x72\x8f\xc6" | |
4175 | "\xa4\x62\x24\x69\x8c\x2d\x26\x00" | |
4176 | "\x99\x83\x91\xd6\xc6\xcf\x57\x67" | |
4177 | "\x38\xea\xf2\xfc\x29\xe0\x73\x39" | |
4178 | "\xf9\x13\x94\x6d\xe2\x58\x28\x75" | |
4179 | "\x3e\xae\x71\x90\x07\x70\x1c\x38" | |
4180 | "\x5b\x4c\x1e\xb5\xa5\x3b\x20\xef" | |
4181 | "\xb1\x4c\x3e\x1a\x72\x62\xbb\x22" | |
4182 | "\x82\x09\xe3\x18\x3f\x4f\x48\xfc" | |
4183 | "\xdd\xac\xfc\xb6\x09\xdb\xd2\x7b" | |
4184 | "\xd6\xb7\x7e\x41\x2f\x14\xf5\x0e" | |
4185 | "\xc3\xac\x4a\xed\xe7\x82\xef\x31" | |
4186 | "\x1f\x1a\x51\x1e\x29\x60\xc8\x98" | |
4187 | "\x93\x51\x1d\x3d\x62\x59\x83\x82" | |
4188 | "\x0c\xf1\xd7\x8d\xac\x33\x44\x81" | |
4189 | "\x3c\x59\xb7\xd4\x5b\x65\x82\xc4" | |
4190 | "\xec\xdc\x24\xfd\x0e\x1a\x79\x94" | |
4191 | "\x34\xb0\x62\xfa\x98\x49\x26\x1f" | |
4192 | "\xf4\x9e\x40\x44\x5b\x1f\xf8\xbe" | |
4193 | "\x36\xff\xc6\xc6\x9d\xf2\xd6\xcc" | |
4194 | "\x63\x93\x29\xb9\x0b\x6d\xd7\x6c" | |
4195 | "\xdb\xf6\x21\x80\xf7\x5a\x37\x15" | |
4196 | "\x0c\xe3\x36\xc8\x74\x75\x20\x91" | |
4197 | "\xdf\x52\x2d\x0c\xe7\x45\xff\x46" | |
4198 | "\xb3\xf4\xec\xc2\xbd\xd3\x37\xb6" | |
4199 | "\x26\xa2\x5d\x7d\x61\xbf\x10\x46" | |
4200 | "\x57\x8d\x05\x96\x70\x0b\xd6\x41" | |
4201 | "\x5c\xe9\xd3\x54\x81\x39\x3a\xdd" | |
4202 | "\x5f\x92\x81\x6e\x35\x03\xd4\x72" | |
4203 | "\x3d\x5a\xe7\xb9\x3b\x0c\x84\x23" | |
4204 | "\x45\x5d\xec\x72\xc1\x52\xef\x2e" | |
4205 | "\x81\x00\xd3\xfe\x4c\x3c\x05\x61" | |
4206 | "\x80\x18\xc4\x6c\x03\xd3\xb7\xba" | |
4207 | "\x11\xd7\xb8\x6e\xea\xe1\x80\x30", | |
4208 | .rlen = 512, | |
4209 | }, | |
4210 | }; | |
4211 | ||
4212 | static struct cipher_testvec tf_lrw_dec_tv_template[] = { | |
4213 | /* Generated from AES-LRW test vectors */ | |
4214 | /* same as enc vectors with input and result reversed */ | |
4215 | { | |
4216 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | |
4217 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | |
4218 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | |
4219 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | |
4220 | .klen = 32, | |
4221 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4222 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
4223 | .input = "\xa1\x6c\x50\x69\x26\xa4\xef\x7b" | |
4224 | "\x7c\xc6\x91\xeb\x72\xdd\x9b\xee", | |
4225 | .ilen = 16, | |
4226 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4227 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4228 | .rlen = 16, | |
4229 | }, { | |
4230 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | |
4231 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | |
4232 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | |
4233 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | |
4234 | .klen = 32, | |
4235 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4236 | "\x00\x00\x00\x00\x00\x00\x00\x02", | |
4237 | .input = "\xab\x72\x0a\xad\x3b\x0c\xf0\xc9" | |
4238 | "\x42\x2f\xf1\xae\xf1\x3c\xb1\xbd", | |
4239 | .ilen = 16, | |
4240 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4241 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4242 | .rlen = 16, | |
4243 | }, { | |
4244 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | |
4245 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | |
4246 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | |
4247 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | |
4248 | .klen = 32, | |
4249 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4250 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
4251 | .input = "\x85\xa7\x56\x67\x08\xfa\x42\xe1" | |
4252 | "\x22\xe6\x82\xfc\xd9\xb4\xd7\xd4", | |
4253 | .ilen = 16, | |
4254 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4255 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4256 | .rlen = 16, | |
4257 | }, { | |
4258 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | |
4259 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | |
4260 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | |
4261 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | |
4262 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | |
4263 | .klen = 40, | |
4264 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4265 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
4266 | .input = "\xd2\xaf\x69\x35\x24\x1d\x0e\x1c" | |
4267 | "\x84\x8b\x05\xe4\xa2\x2f\x16\xf5", | |
4268 | .ilen = 16, | |
4269 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4270 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4271 | .rlen = 16, | |
4272 | }, { | |
4273 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | |
4274 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | |
4275 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | |
4276 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | |
4277 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | |
4278 | .klen = 40, | |
4279 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4280 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
4281 | .input = "\x4a\x23\x56\xd7\xff\x90\xd0\x9a" | |
4282 | "\x0d\x7c\x26\xfc\xf0\xf0\xf6\xe4", | |
4283 | .ilen = 16, | |
4284 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4285 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4286 | .rlen = 16, | |
4287 | }, { | |
4288 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
4289 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
4290 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
4291 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
4292 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
4293 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
4294 | .klen = 48, | |
4295 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4296 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
4297 | .input = "\x30\xaf\x26\x05\x9d\x5d\x0a\x58" | |
4298 | "\xe2\xe7\xce\x8a\xb2\x56\x6d\x76", | |
4299 | .ilen = 16, | |
4300 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4301 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4302 | .rlen = 16, | |
4303 | }, { | |
4304 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | |
4305 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | |
4306 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | |
4307 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | |
4308 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | |
4309 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | |
4310 | .klen = 48, | |
4311 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4312 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
4313 | .input = "\xdf\xcf\xdc\xd2\xe1\xcf\x86\x75" | |
4314 | "\x17\x66\x5e\x0c\x14\xa1\x3d\x40", | |
4315 | .ilen = 16, | |
4316 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4317 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
4318 | .rlen = 16, | |
4319 | }, { | |
4320 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
4321 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
4322 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
4323 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
4324 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
4325 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
4326 | .klen = 48, | |
4327 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4328 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
4329 | .input = "\x30\x38\xeb\xaf\x12\x43\x1a\x89" | |
4330 | "\x62\xa2\x36\xe5\xcf\x77\x1e\xd9" | |
4331 | "\x08\xc3\x0d\xdd\x95\xab\x19\x96" | |
4332 | "\x27\x52\x41\xc3\xca\xfb\xf6\xee" | |
4333 | "\x40\x2d\xdf\xdd\x00\x0c\xb9\x0a" | |
4334 | "\x3a\xf0\xc0\xd1\xda\x63\x9e\x45" | |
4335 | "\x42\xe9\x29\xc0\xb4\x07\xb4\x31" | |
4336 | "\x66\x77\x72\xb5\xb6\xb3\x57\x46" | |
4337 | "\x34\x9a\xfe\x03\xaf\x6b\x36\x07" | |
4338 | "\x63\x8e\xc2\x5d\xa6\x0f\xb6\x7d" | |
4339 | "\xfb\x6d\x82\x51\xb6\x98\xd0\x71" | |
4340 | "\xe7\x10\x7a\xdf\xb2\xbd\xf1\x1d" | |
4341 | "\x72\x2b\x54\x13\xe3\x6d\x79\x37" | |
4342 | "\xa9\x39\x2c\xdf\x21\xab\x87\xd5" | |
4343 | "\xee\xef\x9a\x12\x50\x39\x2e\x1b" | |
4344 | "\x7d\xe6\x6a\x27\x48\xb9\xe7\xac" | |
4345 | "\xaa\xcd\x79\x5f\xf2\xf3\xa0\x08" | |
4346 | "\x6f\x2c\xf4\x0e\xd1\xb8\x89\x25" | |
4347 | "\x31\x9d\xef\xb1\x1d\x27\x55\x04" | |
4348 | "\xc9\x8c\xb7\x68\xdc\xb6\x67\x8a" | |
4349 | "\xdb\xcf\x22\xf2\x3b\x6f\xce\xbb" | |
4350 | "\x26\xbe\x4f\x27\x04\x42\xd1\x44" | |
4351 | "\x4c\x08\xa3\x95\x4c\x7f\x1a\xaf" | |
4352 | "\x1d\x28\x14\xfd\xb1\x1a\x34\x18" | |
4353 | "\xf5\x1e\x28\x69\x95\x6a\x5a\xba" | |
4354 | "\x8e\xb2\x58\x1d\x28\x17\x13\x3d" | |
4355 | "\x38\x7d\x14\x8d\xab\x5d\xf9\xe8" | |
4356 | "\x3c\x0f\x2b\x0d\x2b\x08\xb4\x4b" | |
4357 | "\x6b\x0d\xc8\xa7\x84\xc2\x3a\x1a" | |
4358 | "\xb7\xbd\xda\x92\x29\xb8\x5b\x5a" | |
4359 | "\x63\xa5\x99\x82\x09\x72\x8f\xc6" | |
4360 | "\xa4\x62\x24\x69\x8c\x2d\x26\x00" | |
4361 | "\x99\x83\x91\xd6\xc6\xcf\x57\x67" | |
4362 | "\x38\xea\xf2\xfc\x29\xe0\x73\x39" | |
4363 | "\xf9\x13\x94\x6d\xe2\x58\x28\x75" | |
4364 | "\x3e\xae\x71\x90\x07\x70\x1c\x38" | |
4365 | "\x5b\x4c\x1e\xb5\xa5\x3b\x20\xef" | |
4366 | "\xb1\x4c\x3e\x1a\x72\x62\xbb\x22" | |
4367 | "\x82\x09\xe3\x18\x3f\x4f\x48\xfc" | |
4368 | "\xdd\xac\xfc\xb6\x09\xdb\xd2\x7b" | |
4369 | "\xd6\xb7\x7e\x41\x2f\x14\xf5\x0e" | |
4370 | "\xc3\xac\x4a\xed\xe7\x82\xef\x31" | |
4371 | "\x1f\x1a\x51\x1e\x29\x60\xc8\x98" | |
4372 | "\x93\x51\x1d\x3d\x62\x59\x83\x82" | |
4373 | "\x0c\xf1\xd7\x8d\xac\x33\x44\x81" | |
4374 | "\x3c\x59\xb7\xd4\x5b\x65\x82\xc4" | |
4375 | "\xec\xdc\x24\xfd\x0e\x1a\x79\x94" | |
4376 | "\x34\xb0\x62\xfa\x98\x49\x26\x1f" | |
4377 | "\xf4\x9e\x40\x44\x5b\x1f\xf8\xbe" | |
4378 | "\x36\xff\xc6\xc6\x9d\xf2\xd6\xcc" | |
4379 | "\x63\x93\x29\xb9\x0b\x6d\xd7\x6c" | |
4380 | "\xdb\xf6\x21\x80\xf7\x5a\x37\x15" | |
4381 | "\x0c\xe3\x36\xc8\x74\x75\x20\x91" | |
4382 | "\xdf\x52\x2d\x0c\xe7\x45\xff\x46" | |
4383 | "\xb3\xf4\xec\xc2\xbd\xd3\x37\xb6" | |
4384 | "\x26\xa2\x5d\x7d\x61\xbf\x10\x46" | |
4385 | "\x57\x8d\x05\x96\x70\x0b\xd6\x41" | |
4386 | "\x5c\xe9\xd3\x54\x81\x39\x3a\xdd" | |
4387 | "\x5f\x92\x81\x6e\x35\x03\xd4\x72" | |
4388 | "\x3d\x5a\xe7\xb9\x3b\x0c\x84\x23" | |
4389 | "\x45\x5d\xec\x72\xc1\x52\xef\x2e" | |
4390 | "\x81\x00\xd3\xfe\x4c\x3c\x05\x61" | |
4391 | "\x80\x18\xc4\x6c\x03\xd3\xb7\xba" | |
4392 | "\x11\xd7\xb8\x6e\xea\xe1\x80\x30", | |
4393 | .ilen = 512, | |
4394 | .result = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
4395 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
4396 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
4397 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
4398 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
4399 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
4400 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
4401 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
4402 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
4403 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
4404 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
4405 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
4406 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
4407 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
4408 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
4409 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
4410 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
4411 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
4412 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
4413 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
4414 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
4415 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
4416 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
4417 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
4418 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
4419 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
4420 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
4421 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
4422 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
4423 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
4424 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
4425 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
4426 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
4427 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
4428 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
4429 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
4430 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
4431 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
4432 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
4433 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
4434 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
4435 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
4436 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
4437 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
4438 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
4439 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
4440 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
4441 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
4442 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
4443 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
4444 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
4445 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
4446 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
4447 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
4448 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
4449 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
4450 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
4451 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
4452 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
4453 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
4454 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
4455 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
4456 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
4457 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
4458 | .rlen = 512, | |
4459 | }, | |
4460 | }; | |
4461 | ||
aed265b9 JK |
4462 | static struct cipher_testvec tf_xts_enc_tv_template[] = { |
4463 | /* Generated from AES-XTS test vectors */ | |
4464 | { | |
4465 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4466 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4467 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4468 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4469 | .klen = 32, | |
4470 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4471 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4472 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4473 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4474 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4475 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4476 | .ilen = 32, | |
4477 | .result = "\x4b\xc9\x44\x4a\x11\xa3\xef\xac" | |
4478 | "\x30\x74\xe4\x44\x52\x77\x97\x43" | |
4479 | "\xa7\x60\xb2\x45\x2e\xf9\x00\x90" | |
4480 | "\x9f\xaa\xfd\x89\x6e\x9d\x4a\xe0", | |
4481 | .rlen = 32, | |
4482 | }, { | |
4483 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | |
4484 | "\x11\x11\x11\x11\x11\x11\x11\x11" | |
4485 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
4486 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
4487 | .klen = 32, | |
4488 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
4489 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4490 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4491 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4492 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4493 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
4494 | .ilen = 32, | |
4495 | .result = "\x57\x0e\x8f\xe5\x2a\x35\x61\x4f" | |
4496 | "\x32\xd3\xbd\x36\x05\x15\x44\x2c" | |
4497 | "\x58\x06\xf7\xf8\x00\xa8\xb6\xd5" | |
4498 | "\xc6\x28\x92\xdb\xd8\x34\xa2\xe9", | |
4499 | .rlen = 32, | |
4500 | }, { | |
4501 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | |
4502 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | |
4503 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
4504 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
4505 | .klen = 32, | |
4506 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
4507 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4508 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4509 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4510 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4511 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
4512 | .ilen = 32, | |
4513 | .result = "\x96\x45\x8f\x8d\x7a\x75\xb1\xde" | |
4514 | "\x40\x0c\x89\x56\xf6\x4d\xa7\x07" | |
4515 | "\x38\xbb\x5b\xe9\xcd\x84\xae\xb2" | |
4516 | "\x7b\x6a\x62\xf4\x8c\xb5\x37\xea", | |
4517 | .rlen = 32, | |
4518 | }, { | |
4519 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
4520 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
4521 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
4522 | "\x23\x84\x62\x64\x33\x83\x27\x95", | |
4523 | .klen = 32, | |
4524 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4525 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4526 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
4527 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
4528 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
4529 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
4530 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
4531 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
4532 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4533 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
4534 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
4535 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
4536 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
4537 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
4538 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
4539 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
4540 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
4541 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
4542 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
4543 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
4544 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
4545 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
4546 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
4547 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
4548 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
4549 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
4550 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
4551 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
4552 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
4553 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
4554 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
4555 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
4556 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
4557 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
4558 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
4559 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
4560 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
4561 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
4562 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
4563 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
4564 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4565 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
4566 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
4567 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
4568 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
4569 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
4570 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
4571 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
4572 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
4573 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
4574 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
4575 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
4576 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
4577 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
4578 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
4579 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
4580 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
4581 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
4582 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
4583 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
4584 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
4585 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
4586 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
4587 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
4588 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
4589 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
4590 | .ilen = 512, | |
4591 | .result = "\xa9\x78\xae\x1e\xea\xa2\x44\x4c" | |
4592 | "\xa2\x7a\x64\x1f\xaf\x46\xc1\xe0" | |
4593 | "\x6c\xb2\xf3\x92\x9a\xd6\x7d\x58" | |
4594 | "\xb8\x2d\xb9\x5d\x58\x07\x66\x50" | |
4595 | "\xea\x35\x35\x8c\xb2\x46\x61\x06" | |
4596 | "\x5d\x65\xfc\x57\x8f\x69\x74\xab" | |
4597 | "\x8a\x06\x69\xb5\x6c\xda\x66\xc7" | |
4598 | "\x52\x90\xbb\x8e\x6d\x8b\xb5\xa2" | |
4599 | "\x78\x1d\xc2\xa9\xc2\x73\x00\xc3" | |
4600 | "\x32\x36\x7c\x97\x6b\x4e\x8a\x50" | |
4601 | "\xe4\x91\x83\x96\x8f\xf4\x94\x1a" | |
4602 | "\xa6\x27\xe1\x33\xcb\x91\xc6\x5f" | |
4603 | "\x94\x75\xbc\xd7\x3e\x3e\x6f\x9e" | |
4604 | "\xa9\x31\x80\x5e\xe5\xdb\xc8\x53" | |
4605 | "\x01\x73\x68\x32\x25\x19\xfa\xfb" | |
4606 | "\xe4\xcf\xb9\x3e\xa2\xa0\x8f\x31" | |
4607 | "\xbf\x54\x06\x93\xa8\xb1\x0f\xb6" | |
4608 | "\x7c\x3c\xde\x6f\x0f\xfb\x0c\x11" | |
4609 | "\x39\x80\x39\x09\x97\x65\xf2\x83" | |
4610 | "\xae\xe6\xa1\x6f\x47\xb8\x49\xde" | |
4611 | "\x99\x36\x20\x7d\x97\x3b\xec\xfa" | |
4612 | "\xb4\x33\x6e\x7a\xc7\x46\x84\x49" | |
4613 | "\x91\xcd\xe1\x57\x0d\xed\x40\x08" | |
4614 | "\x13\xf1\x4e\x3e\xa4\xa4\x5c\xe6" | |
4615 | "\xd2\x0c\x20\x8f\x3e\xdf\x3f\x47" | |
4616 | "\x9a\x2f\xde\x6d\x66\xc9\x99\x4a" | |
4617 | "\x2d\x9e\x9d\x4b\x1a\x27\xa2\x12" | |
4618 | "\x99\xf0\xf8\xb1\xb6\xf6\x57\xc3" | |
4619 | "\xca\x1c\xa3\x8e\xed\x39\x28\xb5" | |
4620 | "\x10\x1b\x4b\x08\x42\x00\x4a\xd3" | |
4621 | "\xad\x5a\xc6\x8e\xc8\xbb\x95\xc4" | |
4622 | "\x4b\xaa\xfe\xd5\x42\xa8\xa3\x6d" | |
4623 | "\x3c\xf3\x34\x91\x2d\xb4\xdd\x20" | |
4624 | "\x0c\x90\x6d\xa3\x9b\x66\x9d\x24" | |
4625 | "\x02\xa6\xa9\x3f\x3f\x58\x5d\x47" | |
4626 | "\x24\x65\x63\x7e\xbd\x8c\xe6\x52" | |
4627 | "\x7d\xef\x33\x53\x63\xec\xaa\x0b" | |
4628 | "\x64\x15\xa9\xa6\x1f\x10\x00\x38" | |
4629 | "\x35\xa8\xe7\xbe\x23\x70\x22\xe0" | |
4630 | "\xd3\xb9\xe6\xfd\xe6\xaa\x03\x50" | |
4631 | "\xf3\x3c\x27\x36\x8b\xcc\xfe\x9c" | |
4632 | "\x9c\xa3\xb3\xe7\x68\x9b\xa2\x71" | |
4633 | "\xe0\x07\xd9\x1f\x68\x1f\xac\x5e" | |
4634 | "\x7a\x74\x85\xa9\x6a\x90\xab\x2c" | |
4635 | "\x38\x51\xbc\x1f\x43\x4a\x56\x1c" | |
4636 | "\xf8\x47\x03\x4e\x67\xa8\x1f\x99" | |
4637 | "\x04\x39\x73\x32\xb2\x86\x79\xe7" | |
4638 | "\x14\x28\x70\xb8\xe2\x7d\x69\x85" | |
4639 | "\xb6\x0f\xc5\xd0\xd0\x01\x5c\xe6" | |
4640 | "\x09\x0f\x75\xf7\xb6\x81\xd2\x11" | |
4641 | "\x20\x9c\xa1\xee\x11\x44\x79\xd0" | |
4642 | "\xb2\x34\x77\xda\x10\x9a\x6f\x6f" | |
4643 | "\xef\x7c\xd9\xdc\x35\xb7\x61\xdd" | |
4644 | "\xf1\xa4\xc6\x1c\xbf\x05\x22\xac" | |
4645 | "\xfe\x2f\x85\x00\x44\xdf\x33\x16" | |
4646 | "\x35\xb6\xa3\xd3\x70\xdf\x69\x35" | |
4647 | "\x6a\xc7\xb4\x99\x45\x27\xc8\x8e" | |
4648 | "\x5a\x14\x30\xd0\x55\x3e\x4f\x64" | |
4649 | "\x0d\x38\xe3\xdf\x8b\xa8\x93\x26" | |
4650 | "\x75\xae\xf6\xb5\x23\x0b\x17\x31" | |
4651 | "\xbf\x27\xb8\xb5\x94\x31\xa7\x8f" | |
4652 | "\x43\xc4\x46\x24\x22\x4f\x8f\x7e" | |
4653 | "\xe5\xf4\x6d\x1e\x0e\x18\x7a\xbb" | |
4654 | "\xa6\x8f\xfb\x49\x49\xd8\x7e\x5a", | |
4655 | .rlen = 512, | |
4656 | }, { | |
4657 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
4658 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
4659 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
4660 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
4661 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
4662 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
4663 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
4664 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
4665 | .klen = 64, | |
4666 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
4667 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4668 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
4669 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
4670 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
4671 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
4672 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
4673 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
4674 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4675 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
4676 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
4677 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
4678 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
4679 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
4680 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
4681 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
4682 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
4683 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
4684 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
4685 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
4686 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
4687 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
4688 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
4689 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
4690 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
4691 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
4692 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
4693 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
4694 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
4695 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
4696 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
4697 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
4698 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
4699 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
4700 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
4701 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
4702 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
4703 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
4704 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
4705 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
4706 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4707 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
4708 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
4709 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
4710 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
4711 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
4712 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
4713 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
4714 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
4715 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
4716 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
4717 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
4718 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
4719 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
4720 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
4721 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
4722 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
4723 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
4724 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
4725 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
4726 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
4727 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
4728 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
4729 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
4730 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
4731 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
4732 | .ilen = 512, | |
4733 | .result = "\xd7\x4b\x93\x7d\x13\xa2\xa2\xe1" | |
4734 | "\x35\x39\x71\x88\x76\x1e\xc9\xea" | |
4735 | "\x86\xad\xf3\x14\x48\x3d\x5e\xe9" | |
4736 | "\xe9\x2d\xb2\x56\x59\x35\x9d\xec" | |
4737 | "\x84\xfa\x7e\x9d\x6d\x33\x36\x8f" | |
4738 | "\xce\xf4\xa9\x21\x0b\x5f\x96\xec" | |
4739 | "\xcb\xf9\x57\x68\x33\x88\x39\xbf" | |
4740 | "\x2f\xbb\x59\x03\xbd\x66\x8b\x11" | |
4741 | "\x11\x65\x51\x2e\xb8\x67\x05\xd1" | |
4742 | "\x27\x11\x5c\xd4\xcc\x97\xc2\xb3" | |
4743 | "\xa9\x55\xaf\x07\x56\xd1\xdc\xf5" | |
4744 | "\x85\xdc\x46\xe6\xf0\x24\xeb\x93" | |
4745 | "\x4d\xf0\x9b\xf5\x73\x1c\xda\x03" | |
4746 | "\x22\xc8\x3a\x4f\xb4\x19\x91\x09" | |
4747 | "\x54\x0b\xf6\xfe\x17\x3d\x1a\x53" | |
4748 | "\x72\x60\x79\xcb\x0e\x32\x8a\x77" | |
4749 | "\xd5\xed\xdb\x33\xd7\x62\x16\x69" | |
4750 | "\x63\xe0\xab\xb5\xf6\x9c\x5f\x3d" | |
4751 | "\x69\x35\x61\x86\xf8\x86\xb9\x89" | |
4752 | "\x6e\x59\x35\xac\xf6\x6b\x33\xa0" | |
4753 | "\xea\xef\x96\x62\xd8\xa9\xcf\x56" | |
4754 | "\xbf\xdb\x8a\xfd\xa1\x82\x77\x73" | |
4755 | "\x3d\x94\x4a\x49\x42\x6d\x08\x60" | |
4756 | "\xa1\xea\xab\xb6\x88\x13\x94\xb8" | |
4757 | "\x51\x98\xdb\x35\x85\xdf\xf6\xb9" | |
4758 | "\x8f\xcd\xdf\x80\xd3\x40\x2d\x72" | |
4759 | "\xb8\xb2\x6c\x02\x43\x35\x22\x2a" | |
4760 | "\x31\xed\xcd\x16\x19\xdf\x62\x0f" | |
4761 | "\x29\xcf\x87\x04\xec\x02\x4f\xe4" | |
4762 | "\xa2\xed\x73\xc6\x69\xd3\x7e\x89" | |
4763 | "\x0b\x76\x10\x7c\xd6\xf9\x6a\x25" | |
4764 | "\xed\xcc\x60\x5d\x61\x20\xc1\x97" | |
4765 | "\x56\x91\x57\x28\xbe\x71\x0d\xcd" | |
4766 | "\xde\xc4\x9e\x55\x91\xbe\xd1\x28" | |
4767 | "\x9b\x90\xeb\x73\xf3\x68\x51\xc6" | |
4768 | "\xdf\x82\xcc\xd8\x1f\xce\x5b\x27" | |
4769 | "\xc0\x60\x5e\x33\xd6\xa7\x20\xea" | |
4770 | "\xb2\x54\xc7\x5d\x6a\x3b\x67\x47" | |
4771 | "\xcf\xa0\xe3\xab\x86\xaf\xc1\x42" | |
4772 | "\xe6\xb0\x23\x4a\xaf\x53\xdf\xa0" | |
4773 | "\xad\x12\x32\x31\x03\xf7\x21\xbe" | |
4774 | "\x2d\xd5\x82\x42\xb6\x4a\x3d\xcd" | |
4775 | "\xd8\x81\x77\xa9\x49\x98\x6c\x09" | |
4776 | "\xc5\xa3\x61\x12\x62\x85\x6b\xcd" | |
4777 | "\xb3\xf4\x20\x0c\x41\xc4\x05\x37" | |
4778 | "\x46\x5f\xeb\x71\x8b\xf1\xaf\x6e" | |
4779 | "\xba\xf3\x50\x2e\xfe\xa8\x37\xeb" | |
4780 | "\xe8\x8c\x4f\xa4\x0c\xf1\x31\xc8" | |
4781 | "\x6e\x71\x4f\xa5\xd7\x97\x73\xe0" | |
4782 | "\x93\x4a\x2f\xda\x7b\xe0\x20\x54" | |
4783 | "\x1f\x8d\x85\x79\x0b\x7b\x5e\x75" | |
4784 | "\xb9\x07\x67\xcc\xc8\xe7\x21\x15" | |
4785 | "\xa7\xc8\x98\xff\x4b\x80\x1c\x12" | |
4786 | "\xa8\x54\xe1\x38\x52\xe6\x74\x81" | |
4787 | "\x97\x47\xa1\x41\x0e\xc0\x50\xe3" | |
4788 | "\x55\x0e\xc3\xa7\x70\x77\xce\x07" | |
4789 | "\xed\x8c\x88\xe6\xa1\x5b\x14\xec" | |
4790 | "\xe6\xde\x06\x6d\x74\xc5\xd9\xfa" | |
4791 | "\xe5\x2f\x5a\xff\xc8\x05\xee\x27" | |
4792 | "\x35\x61\xbf\x0b\x19\x78\x9b\xd2" | |
4793 | "\x04\xc7\x05\xb1\x79\xb4\xff\x5f" | |
4794 | "\xf3\xea\x67\x52\x78\xc2\xce\x70" | |
4795 | "\xa4\x05\x0b\xb2\xb3\xa8\x30\x97" | |
4796 | "\x37\x30\xe1\x91\x8d\xb3\x2a\xff", | |
4797 | .rlen = 512, | |
4798 | }, | |
4799 | }; | |
4800 | ||
4801 | static struct cipher_testvec tf_xts_dec_tv_template[] = { | |
4802 | /* Generated from AES-XTS test vectors */ | |
4803 | /* same as enc vectors with input and result reversed */ | |
4804 | { | |
4805 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4806 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4807 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4808 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4809 | .klen = 32, | |
4810 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4811 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4812 | .input = "\x4b\xc9\x44\x4a\x11\xa3\xef\xac" | |
4813 | "\x30\x74\xe4\x44\x52\x77\x97\x43" | |
4814 | "\xa7\x60\xb2\x45\x2e\xf9\x00\x90" | |
4815 | "\x9f\xaa\xfd\x89\x6e\x9d\x4a\xe0", | |
4816 | .ilen = 32, | |
4817 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4818 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4819 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4820 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4821 | .rlen = 32, | |
4822 | }, { | |
4823 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | |
4824 | "\x11\x11\x11\x11\x11\x11\x11\x11" | |
4825 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
4826 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
4827 | .klen = 32, | |
4828 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
4829 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4830 | .input = "\x57\x0e\x8f\xe5\x2a\x35\x61\x4f" | |
4831 | "\x32\xd3\xbd\x36\x05\x15\x44\x2c" | |
4832 | "\x58\x06\xf7\xf8\x00\xa8\xb6\xd5" | |
4833 | "\xc6\x28\x92\xdb\xd8\x34\xa2\xe9", | |
4834 | .ilen = 32, | |
4835 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4836 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4837 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4838 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
4839 | .rlen = 32, | |
4840 | }, { | |
4841 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | |
4842 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | |
4843 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
4844 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
4845 | .klen = 32, | |
4846 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
4847 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4848 | .input = "\x96\x45\x8f\x8d\x7a\x75\xb1\xde" | |
4849 | "\x40\x0c\x89\x56\xf6\x4d\xa7\x07" | |
4850 | "\x38\xbb\x5b\xe9\xcd\x84\xae\xb2" | |
4851 | "\x7b\x6a\x62\xf4\x8c\xb5\x37\xea", | |
4852 | .ilen = 32, | |
4853 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4854 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4855 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
4856 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
4857 | .rlen = 32, | |
4858 | }, { | |
4859 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
4860 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
4861 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
4862 | "\x23\x84\x62\x64\x33\x83\x27\x95", | |
4863 | .klen = 32, | |
4864 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
4865 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
4866 | .input = "\xa9\x78\xae\x1e\xea\xa2\x44\x4c" | |
4867 | "\xa2\x7a\x64\x1f\xaf\x46\xc1\xe0" | |
4868 | "\x6c\xb2\xf3\x92\x9a\xd6\x7d\x58" | |
4869 | "\xb8\x2d\xb9\x5d\x58\x07\x66\x50" | |
4870 | "\xea\x35\x35\x8c\xb2\x46\x61\x06" | |
4871 | "\x5d\x65\xfc\x57\x8f\x69\x74\xab" | |
4872 | "\x8a\x06\x69\xb5\x6c\xda\x66\xc7" | |
4873 | "\x52\x90\xbb\x8e\x6d\x8b\xb5\xa2" | |
4874 | "\x78\x1d\xc2\xa9\xc2\x73\x00\xc3" | |
4875 | "\x32\x36\x7c\x97\x6b\x4e\x8a\x50" | |
4876 | "\xe4\x91\x83\x96\x8f\xf4\x94\x1a" | |
4877 | "\xa6\x27\xe1\x33\xcb\x91\xc6\x5f" | |
4878 | "\x94\x75\xbc\xd7\x3e\x3e\x6f\x9e" | |
4879 | "\xa9\x31\x80\x5e\xe5\xdb\xc8\x53" | |
4880 | "\x01\x73\x68\x32\x25\x19\xfa\xfb" | |
4881 | "\xe4\xcf\xb9\x3e\xa2\xa0\x8f\x31" | |
4882 | "\xbf\x54\x06\x93\xa8\xb1\x0f\xb6" | |
4883 | "\x7c\x3c\xde\x6f\x0f\xfb\x0c\x11" | |
4884 | "\x39\x80\x39\x09\x97\x65\xf2\x83" | |
4885 | "\xae\xe6\xa1\x6f\x47\xb8\x49\xde" | |
4886 | "\x99\x36\x20\x7d\x97\x3b\xec\xfa" | |
4887 | "\xb4\x33\x6e\x7a\xc7\x46\x84\x49" | |
4888 | "\x91\xcd\xe1\x57\x0d\xed\x40\x08" | |
4889 | "\x13\xf1\x4e\x3e\xa4\xa4\x5c\xe6" | |
4890 | "\xd2\x0c\x20\x8f\x3e\xdf\x3f\x47" | |
4891 | "\x9a\x2f\xde\x6d\x66\xc9\x99\x4a" | |
4892 | "\x2d\x9e\x9d\x4b\x1a\x27\xa2\x12" | |
4893 | "\x99\xf0\xf8\xb1\xb6\xf6\x57\xc3" | |
4894 | "\xca\x1c\xa3\x8e\xed\x39\x28\xb5" | |
4895 | "\x10\x1b\x4b\x08\x42\x00\x4a\xd3" | |
4896 | "\xad\x5a\xc6\x8e\xc8\xbb\x95\xc4" | |
4897 | "\x4b\xaa\xfe\xd5\x42\xa8\xa3\x6d" | |
4898 | "\x3c\xf3\x34\x91\x2d\xb4\xdd\x20" | |
4899 | "\x0c\x90\x6d\xa3\x9b\x66\x9d\x24" | |
4900 | "\x02\xa6\xa9\x3f\x3f\x58\x5d\x47" | |
4901 | "\x24\x65\x63\x7e\xbd\x8c\xe6\x52" | |
4902 | "\x7d\xef\x33\x53\x63\xec\xaa\x0b" | |
4903 | "\x64\x15\xa9\xa6\x1f\x10\x00\x38" | |
4904 | "\x35\xa8\xe7\xbe\x23\x70\x22\xe0" | |
4905 | "\xd3\xb9\xe6\xfd\xe6\xaa\x03\x50" | |
4906 | "\xf3\x3c\x27\x36\x8b\xcc\xfe\x9c" | |
4907 | "\x9c\xa3\xb3\xe7\x68\x9b\xa2\x71" | |
4908 | "\xe0\x07\xd9\x1f\x68\x1f\xac\x5e" | |
4909 | "\x7a\x74\x85\xa9\x6a\x90\xab\x2c" | |
4910 | "\x38\x51\xbc\x1f\x43\x4a\x56\x1c" | |
4911 | "\xf8\x47\x03\x4e\x67\xa8\x1f\x99" | |
4912 | "\x04\x39\x73\x32\xb2\x86\x79\xe7" | |
4913 | "\x14\x28\x70\xb8\xe2\x7d\x69\x85" | |
4914 | "\xb6\x0f\xc5\xd0\xd0\x01\x5c\xe6" | |
4915 | "\x09\x0f\x75\xf7\xb6\x81\xd2\x11" | |
4916 | "\x20\x9c\xa1\xee\x11\x44\x79\xd0" | |
4917 | "\xb2\x34\x77\xda\x10\x9a\x6f\x6f" | |
4918 | "\xef\x7c\xd9\xdc\x35\xb7\x61\xdd" | |
4919 | "\xf1\xa4\xc6\x1c\xbf\x05\x22\xac" | |
4920 | "\xfe\x2f\x85\x00\x44\xdf\x33\x16" | |
4921 | "\x35\xb6\xa3\xd3\x70\xdf\x69\x35" | |
4922 | "\x6a\xc7\xb4\x99\x45\x27\xc8\x8e" | |
4923 | "\x5a\x14\x30\xd0\x55\x3e\x4f\x64" | |
4924 | "\x0d\x38\xe3\xdf\x8b\xa8\x93\x26" | |
4925 | "\x75\xae\xf6\xb5\x23\x0b\x17\x31" | |
4926 | "\xbf\x27\xb8\xb5\x94\x31\xa7\x8f" | |
4927 | "\x43\xc4\x46\x24\x22\x4f\x8f\x7e" | |
4928 | "\xe5\xf4\x6d\x1e\x0e\x18\x7a\xbb" | |
4929 | "\xa6\x8f\xfb\x49\x49\xd8\x7e\x5a", | |
4930 | .ilen = 512, | |
4931 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
4932 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
4933 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
4934 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
4935 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
4936 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
4937 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4938 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
4939 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
4940 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
4941 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
4942 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
4943 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
4944 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
4945 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
4946 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
4947 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
4948 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
4949 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
4950 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
4951 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
4952 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
4953 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
4954 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
4955 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
4956 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
4957 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
4958 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
4959 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
4960 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
4961 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
4962 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
4963 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
4964 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
4965 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
4966 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
4967 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
4968 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
4969 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
4970 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
4971 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
4972 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
4973 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
4974 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
4975 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
4976 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
4977 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
4978 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
4979 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
4980 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
4981 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
4982 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
4983 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
4984 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
4985 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
4986 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
4987 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
4988 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
4989 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
4990 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
4991 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
4992 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
4993 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
4994 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
4995 | .rlen = 512, | |
4996 | }, { | |
4997 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
4998 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
4999 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
5000 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
5001 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
5002 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
5003 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
5004 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
5005 | .klen = 64, | |
5006 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
5007 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
5008 | .input = "\xd7\x4b\x93\x7d\x13\xa2\xa2\xe1" | |
5009 | "\x35\x39\x71\x88\x76\x1e\xc9\xea" | |
5010 | "\x86\xad\xf3\x14\x48\x3d\x5e\xe9" | |
5011 | "\xe9\x2d\xb2\x56\x59\x35\x9d\xec" | |
5012 | "\x84\xfa\x7e\x9d\x6d\x33\x36\x8f" | |
5013 | "\xce\xf4\xa9\x21\x0b\x5f\x96\xec" | |
5014 | "\xcb\xf9\x57\x68\x33\x88\x39\xbf" | |
5015 | "\x2f\xbb\x59\x03\xbd\x66\x8b\x11" | |
5016 | "\x11\x65\x51\x2e\xb8\x67\x05\xd1" | |
5017 | "\x27\x11\x5c\xd4\xcc\x97\xc2\xb3" | |
5018 | "\xa9\x55\xaf\x07\x56\xd1\xdc\xf5" | |
5019 | "\x85\xdc\x46\xe6\xf0\x24\xeb\x93" | |
5020 | "\x4d\xf0\x9b\xf5\x73\x1c\xda\x03" | |
5021 | "\x22\xc8\x3a\x4f\xb4\x19\x91\x09" | |
5022 | "\x54\x0b\xf6\xfe\x17\x3d\x1a\x53" | |
5023 | "\x72\x60\x79\xcb\x0e\x32\x8a\x77" | |
5024 | "\xd5\xed\xdb\x33\xd7\x62\x16\x69" | |
5025 | "\x63\xe0\xab\xb5\xf6\x9c\x5f\x3d" | |
5026 | "\x69\x35\x61\x86\xf8\x86\xb9\x89" | |
5027 | "\x6e\x59\x35\xac\xf6\x6b\x33\xa0" | |
5028 | "\xea\xef\x96\x62\xd8\xa9\xcf\x56" | |
5029 | "\xbf\xdb\x8a\xfd\xa1\x82\x77\x73" | |
5030 | "\x3d\x94\x4a\x49\x42\x6d\x08\x60" | |
5031 | "\xa1\xea\xab\xb6\x88\x13\x94\xb8" | |
5032 | "\x51\x98\xdb\x35\x85\xdf\xf6\xb9" | |
5033 | "\x8f\xcd\xdf\x80\xd3\x40\x2d\x72" | |
5034 | "\xb8\xb2\x6c\x02\x43\x35\x22\x2a" | |
5035 | "\x31\xed\xcd\x16\x19\xdf\x62\x0f" | |
5036 | "\x29\xcf\x87\x04\xec\x02\x4f\xe4" | |
5037 | "\xa2\xed\x73\xc6\x69\xd3\x7e\x89" | |
5038 | "\x0b\x76\x10\x7c\xd6\xf9\x6a\x25" | |
5039 | "\xed\xcc\x60\x5d\x61\x20\xc1\x97" | |
5040 | "\x56\x91\x57\x28\xbe\x71\x0d\xcd" | |
5041 | "\xde\xc4\x9e\x55\x91\xbe\xd1\x28" | |
5042 | "\x9b\x90\xeb\x73\xf3\x68\x51\xc6" | |
5043 | "\xdf\x82\xcc\xd8\x1f\xce\x5b\x27" | |
5044 | "\xc0\x60\x5e\x33\xd6\xa7\x20\xea" | |
5045 | "\xb2\x54\xc7\x5d\x6a\x3b\x67\x47" | |
5046 | "\xcf\xa0\xe3\xab\x86\xaf\xc1\x42" | |
5047 | "\xe6\xb0\x23\x4a\xaf\x53\xdf\xa0" | |
5048 | "\xad\x12\x32\x31\x03\xf7\x21\xbe" | |
5049 | "\x2d\xd5\x82\x42\xb6\x4a\x3d\xcd" | |
5050 | "\xd8\x81\x77\xa9\x49\x98\x6c\x09" | |
5051 | "\xc5\xa3\x61\x12\x62\x85\x6b\xcd" | |
5052 | "\xb3\xf4\x20\x0c\x41\xc4\x05\x37" | |
5053 | "\x46\x5f\xeb\x71\x8b\xf1\xaf\x6e" | |
5054 | "\xba\xf3\x50\x2e\xfe\xa8\x37\xeb" | |
5055 | "\xe8\x8c\x4f\xa4\x0c\xf1\x31\xc8" | |
5056 | "\x6e\x71\x4f\xa5\xd7\x97\x73\xe0" | |
5057 | "\x93\x4a\x2f\xda\x7b\xe0\x20\x54" | |
5058 | "\x1f\x8d\x85\x79\x0b\x7b\x5e\x75" | |
5059 | "\xb9\x07\x67\xcc\xc8\xe7\x21\x15" | |
5060 | "\xa7\xc8\x98\xff\x4b\x80\x1c\x12" | |
5061 | "\xa8\x54\xe1\x38\x52\xe6\x74\x81" | |
5062 | "\x97\x47\xa1\x41\x0e\xc0\x50\xe3" | |
5063 | "\x55\x0e\xc3\xa7\x70\x77\xce\x07" | |
5064 | "\xed\x8c\x88\xe6\xa1\x5b\x14\xec" | |
5065 | "\xe6\xde\x06\x6d\x74\xc5\xd9\xfa" | |
5066 | "\xe5\x2f\x5a\xff\xc8\x05\xee\x27" | |
5067 | "\x35\x61\xbf\x0b\x19\x78\x9b\xd2" | |
5068 | "\x04\xc7\x05\xb1\x79\xb4\xff\x5f" | |
5069 | "\xf3\xea\x67\x52\x78\xc2\xce\x70" | |
5070 | "\xa4\x05\x0b\xb2\xb3\xa8\x30\x97" | |
5071 | "\x37\x30\xe1\x91\x8d\xb3\x2a\xff", | |
5072 | .ilen = 512, | |
5073 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5074 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
5075 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
5076 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
5077 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
5078 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
5079 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5080 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
5081 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
5082 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
5083 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
5084 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
5085 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
5086 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
5087 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
5088 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
5089 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
5090 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
5091 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
5092 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
5093 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
5094 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
5095 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
5096 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
5097 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
5098 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
5099 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
5100 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
5101 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
5102 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
5103 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
5104 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
5105 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5106 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
5107 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
5108 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
5109 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
5110 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
5111 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5112 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
5113 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
5114 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
5115 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
5116 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
5117 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
5118 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
5119 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
5120 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
5121 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
5122 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
5123 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
5124 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
5125 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
5126 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
5127 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
5128 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
5129 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
5130 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
5131 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
5132 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
5133 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
5134 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
5135 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
5136 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
5137 | .rlen = 512, | |
5138 | }, | |
5139 | }; | |
5140 | ||
da7f033d HX |
5141 | /* |
5142 | * Serpent test vectors. These are backwards because Serpent writes | |
5143 | * octet sequences in right-to-left mode. | |
5144 | */ | |
9d25917d JK |
5145 | #define SERPENT_ENC_TEST_VECTORS 5 |
5146 | #define SERPENT_DEC_TEST_VECTORS 5 | |
da7f033d HX |
5147 | |
5148 | #define TNEPRES_ENC_TEST_VECTORS 4 | |
5149 | #define TNEPRES_DEC_TEST_VECTORS 4 | |
5150 | ||
9d25917d JK |
5151 | #define SERPENT_CBC_ENC_TEST_VECTORS 1 |
5152 | #define SERPENT_CBC_DEC_TEST_VECTORS 1 | |
5153 | ||
5154 | #define SERPENT_CTR_ENC_TEST_VECTORS 2 | |
5155 | #define SERPENT_CTR_DEC_TEST_VECTORS 2 | |
5156 | ||
d7bfc0fa JK |
5157 | #define SERPENT_LRW_ENC_TEST_VECTORS 8 |
5158 | #define SERPENT_LRW_DEC_TEST_VECTORS 8 | |
5159 | ||
18be20b9 JK |
5160 | #define SERPENT_XTS_ENC_TEST_VECTORS 5 |
5161 | #define SERPENT_XTS_DEC_TEST_VECTORS 5 | |
5162 | ||
da7f033d HX |
5163 | static struct cipher_testvec serpent_enc_tv_template[] = { |
5164 | { | |
5165 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5166 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5167 | .ilen = 16, | |
5168 | .result = "\x12\x07\xfc\xce\x9b\xd0\xd6\x47" | |
5169 | "\x6a\xe9\x8f\xbe\xd1\x43\xa0\xe2", | |
5170 | .rlen = 16, | |
5171 | }, { | |
5172 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5173 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5174 | .klen = 16, | |
5175 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5176 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5177 | .ilen = 16, | |
5178 | .result = "\x4c\x7d\x8a\x32\x80\x72\xa2\x2c" | |
5179 | "\x82\x3e\x4a\x1f\x3a\xcd\xa1\x6d", | |
5180 | .rlen = 16, | |
5181 | }, { | |
5182 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5183 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
5184 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
5185 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
5186 | .klen = 32, | |
5187 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5188 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5189 | .ilen = 16, | |
5190 | .result = "\xde\x26\x9f\xf8\x33\xe4\x32\xb8" | |
5191 | "\x5b\x2e\x88\xd2\x70\x1c\xe7\x5c", | |
5192 | .rlen = 16, | |
5193 | }, { | |
5194 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", | |
5195 | .klen = 16, | |
5196 | .input = zeroed_string, | |
5197 | .ilen = 16, | |
5198 | .result = "\xdd\xd2\x6b\x98\xa5\xff\xd8\x2c" | |
5199 | "\x05\x34\x5a\x9d\xad\xbf\xaf\x49", | |
5200 | .rlen = 16, | |
9d25917d JK |
5201 | }, { /* Generated with Crypto++ */ |
5202 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
5203 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
5204 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
5205 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
5206 | .klen = 32, | |
5207 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
5208 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
5209 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
5210 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
5211 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
5212 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
5213 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
5214 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
5215 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
5216 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
5217 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
5218 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
5219 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
5220 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
5221 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
5222 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
5223 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
5224 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", | |
5225 | .ilen = 144, | |
5226 | .result = "\xFB\xB0\x5D\xDE\xC0\xFE\xFC\xEB" | |
5227 | "\xB1\x80\x10\x43\xDE\x62\x70\xBD" | |
5228 | "\xFA\x8A\x93\xEA\x6B\xF7\xC5\xD7" | |
5229 | "\x0C\xD1\xBB\x29\x25\x14\x4C\x22" | |
5230 | "\x77\xA6\x38\x00\xDB\xB9\xE2\x07" | |
5231 | "\xD1\xAC\x82\xBA\xEA\x67\xAA\x39" | |
5232 | "\x99\x34\x89\x5B\x54\xE9\x12\x13" | |
5233 | "\x3B\x04\xE5\x12\x42\xC5\x79\xAB" | |
5234 | "\x0D\xC7\x3C\x58\x2D\xA3\x98\xF6" | |
5235 | "\xE4\x61\x9E\x17\x0B\xCE\xE8\xAA" | |
5236 | "\xB5\x6C\x1A\x3A\x67\x52\x81\x6A" | |
5237 | "\x04\xFF\x8A\x1B\x96\xFE\xE6\x87" | |
5238 | "\x3C\xD4\x39\x7D\x36\x9B\x03\xD5" | |
5239 | "\xB6\xA0\x75\x3C\x83\xE6\x1C\x73" | |
5240 | "\x9D\x74\x2B\x77\x53\x2D\xE5\xBD" | |
5241 | "\x69\xDA\x7A\x01\xF5\x6A\x70\x39" | |
5242 | "\x30\xD4\x2C\xF2\x8E\x06\x4B\x39" | |
5243 | "\xB3\x12\x1D\xB3\x17\x46\xE6\xD6", | |
5244 | .rlen = 144, | |
da7f033d HX |
5245 | }, |
5246 | }; | |
5247 | ||
5248 | static struct cipher_testvec tnepres_enc_tv_template[] = { | |
5249 | { /* KeySize=128, PT=0, I=1 */ | |
5250 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5251 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
5252 | .key = "\x80\x00\x00\x00\x00\x00\x00\x00" | |
5253 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
5254 | .klen = 16, | |
5255 | .ilen = 16, | |
5256 | .result = "\x49\xaf\xbf\xad\x9d\x5a\x34\x05" | |
5257 | "\x2c\xd8\xff\xa5\x98\x6b\xd2\xdd", | |
5258 | .rlen = 16, | |
5259 | }, { /* KeySize=192, PT=0, I=1 */ | |
5260 | .key = "\x80\x00\x00\x00\x00\x00\x00\x00" | |
5261 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5262 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
5263 | .klen = 24, | |
5264 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5265 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
5266 | .ilen = 16, | |
5267 | .result = "\xe7\x8e\x54\x02\xc7\x19\x55\x68" | |
5268 | "\xac\x36\x78\xf7\xa3\xf6\x0c\x66", | |
5269 | .rlen = 16, | |
5270 | }, { /* KeySize=256, PT=0, I=1 */ | |
5271 | .key = "\x80\x00\x00\x00\x00\x00\x00\x00" | |
5272 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5273 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5274 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
5275 | .klen = 32, | |
5276 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5277 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
5278 | .ilen = 16, | |
5279 | .result = "\xab\xed\x96\xe7\x66\xbf\x28\xcb" | |
5280 | "\xc0\xeb\xd2\x1a\x82\xef\x08\x19", | |
5281 | .rlen = 16, | |
5282 | }, { /* KeySize=256, I=257 */ | |
5283 | .key = "\x1f\x1e\x1d\x1c\x1b\x1a\x19\x18" | |
5284 | "\x17\x16\x15\x14\x13\x12\x11\x10" | |
5285 | "\x0f\x0e\x0d\x0c\x0b\x0a\x09\x08" | |
5286 | "\x07\x06\x05\x04\x03\x02\x01\x00", | |
5287 | .klen = 32, | |
5288 | .input = "\x0f\x0e\x0d\x0c\x0b\x0a\x09\x08" | |
5289 | "\x07\x06\x05\x04\x03\x02\x01\x00", | |
5290 | .ilen = 16, | |
5291 | .result = "\x5c\xe7\x1c\x70\xd2\x88\x2e\x5b" | |
5292 | "\xb8\x32\xe4\x33\xf8\x9f\x26\xde", | |
5293 | .rlen = 16, | |
5294 | }, | |
5295 | }; | |
5296 | ||
5297 | ||
5298 | static struct cipher_testvec serpent_dec_tv_template[] = { | |
5299 | { | |
5300 | .input = "\x12\x07\xfc\xce\x9b\xd0\xd6\x47" | |
5301 | "\x6a\xe9\x8f\xbe\xd1\x43\xa0\xe2", | |
5302 | .ilen = 16, | |
5303 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5304 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5305 | .rlen = 16, | |
5306 | }, { | |
5307 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5308 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5309 | .klen = 16, | |
5310 | .input = "\x4c\x7d\x8a\x32\x80\x72\xa2\x2c" | |
5311 | "\x82\x3e\x4a\x1f\x3a\xcd\xa1\x6d", | |
5312 | .ilen = 16, | |
5313 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5314 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5315 | .rlen = 16, | |
5316 | }, { | |
5317 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5318 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
5319 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
5320 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
5321 | .klen = 32, | |
5322 | .input = "\xde\x26\x9f\xf8\x33\xe4\x32\xb8" | |
5323 | "\x5b\x2e\x88\xd2\x70\x1c\xe7\x5c", | |
5324 | .ilen = 16, | |
5325 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5326 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5327 | .rlen = 16, | |
5328 | }, { | |
5329 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", | |
5330 | .klen = 16, | |
5331 | .input = "\xdd\xd2\x6b\x98\xa5\xff\xd8\x2c" | |
5332 | "\x05\x34\x5a\x9d\xad\xbf\xaf\x49", | |
5333 | .ilen = 16, | |
5334 | .result = zeroed_string, | |
5335 | .rlen = 16, | |
9d25917d JK |
5336 | }, { /* Generated with Crypto++ */ |
5337 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
5338 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
5339 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
5340 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
5341 | .klen = 32, | |
5342 | .input = "\xFB\xB0\x5D\xDE\xC0\xFE\xFC\xEB" | |
5343 | "\xB1\x80\x10\x43\xDE\x62\x70\xBD" | |
5344 | "\xFA\x8A\x93\xEA\x6B\xF7\xC5\xD7" | |
5345 | "\x0C\xD1\xBB\x29\x25\x14\x4C\x22" | |
5346 | "\x77\xA6\x38\x00\xDB\xB9\xE2\x07" | |
5347 | "\xD1\xAC\x82\xBA\xEA\x67\xAA\x39" | |
5348 | "\x99\x34\x89\x5B\x54\xE9\x12\x13" | |
5349 | "\x3B\x04\xE5\x12\x42\xC5\x79\xAB" | |
5350 | "\x0D\xC7\x3C\x58\x2D\xA3\x98\xF6" | |
5351 | "\xE4\x61\x9E\x17\x0B\xCE\xE8\xAA" | |
5352 | "\xB5\x6C\x1A\x3A\x67\x52\x81\x6A" | |
5353 | "\x04\xFF\x8A\x1B\x96\xFE\xE6\x87" | |
5354 | "\x3C\xD4\x39\x7D\x36\x9B\x03\xD5" | |
5355 | "\xB6\xA0\x75\x3C\x83\xE6\x1C\x73" | |
5356 | "\x9D\x74\x2B\x77\x53\x2D\xE5\xBD" | |
5357 | "\x69\xDA\x7A\x01\xF5\x6A\x70\x39" | |
5358 | "\x30\xD4\x2C\xF2\x8E\x06\x4B\x39" | |
5359 | "\xB3\x12\x1D\xB3\x17\x46\xE6\xD6", | |
5360 | .ilen = 144, | |
5361 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
5362 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
5363 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
5364 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
5365 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
5366 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
5367 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
5368 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
5369 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
5370 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
5371 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
5372 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
5373 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
5374 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
5375 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
5376 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
5377 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
5378 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", | |
5379 | .rlen = 144, | |
da7f033d HX |
5380 | }, |
5381 | }; | |
5382 | ||
5383 | static struct cipher_testvec tnepres_dec_tv_template[] = { | |
5384 | { | |
5385 | .input = "\x41\xcc\x6b\x31\x59\x31\x45\x97" | |
5386 | "\x6d\x6f\xbb\x38\x4b\x37\x21\x28", | |
5387 | .ilen = 16, | |
5388 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5389 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5390 | .rlen = 16, | |
5391 | }, { | |
5392 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5393 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5394 | .klen = 16, | |
5395 | .input = "\xea\xf4\xd7\xfc\xd8\x01\x34\x47" | |
5396 | "\x81\x45\x0b\xfa\x0c\xd6\xad\x6e", | |
5397 | .ilen = 16, | |
5398 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5399 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5400 | .rlen = 16, | |
5401 | }, { | |
5402 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5403 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
5404 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
5405 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
5406 | .klen = 32, | |
5407 | .input = "\x64\xa9\x1a\x37\xed\x9f\xe7\x49" | |
5408 | "\xa8\x4e\x76\xd6\xf5\x0d\x78\xee", | |
5409 | .ilen = 16, | |
5410 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
5411 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
5412 | .rlen = 16, | |
5413 | }, { /* KeySize=128, I=121 */ | |
5414 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", | |
5415 | .klen = 16, | |
5416 | .input = "\x3d\xda\xbf\xc0\x06\xda\xab\x06" | |
5417 | "\x46\x2a\xf4\xef\x81\x54\x4e\x26", | |
5418 | .ilen = 16, | |
5419 | .result = zeroed_string, | |
5420 | .rlen = 16, | |
5421 | }, | |
5422 | }; | |
5423 | ||
9d25917d JK |
5424 | static struct cipher_testvec serpent_cbc_enc_tv_template[] = { |
5425 | { /* Generated with Crypto++ */ | |
5426 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
5427 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
5428 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
5429 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
5430 | .klen = 32, | |
5431 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
5432 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
5433 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
5434 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
5435 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
5436 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
5437 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
5438 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
5439 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
5440 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
5441 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
5442 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
5443 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
5444 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
5445 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
5446 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
5447 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
5448 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
5449 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
5450 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", | |
5451 | .ilen = 144, | |
5452 | .result = "\x80\xCF\x11\x41\x1A\xB9\x4B\x9C" | |
5453 | "\xFF\xB7\x6C\xEA\xF0\xAF\x77\x6E" | |
5454 | "\x71\x75\x95\x9D\x4E\x1C\xCF\xAD" | |
5455 | "\x81\x34\xE9\x8F\xAE\x5A\x91\x1C" | |
5456 | "\x38\x63\x35\x7E\x79\x18\x0A\xE8" | |
5457 | "\x67\x06\x76\xD5\xFF\x22\x2F\xDA" | |
5458 | "\xB6\x2D\x57\x13\xB6\x3C\xBC\x97" | |
5459 | "\xFE\x53\x75\x35\x97\x7F\x51\xEA" | |
5460 | "\xDF\x5D\xE8\x9D\xCC\xD9\xAE\xE7" | |
5461 | "\x62\x67\xFF\x04\xC2\x18\x22\x5F" | |
5462 | "\x2E\x06\xC1\xE2\x26\xCD\xC6\x1E" | |
5463 | "\xE5\x2C\x4E\x87\x23\xDD\xF0\x41" | |
5464 | "\x08\xA5\xB4\x3E\x07\x1E\x0B\xBB" | |
5465 | "\x72\x84\xF8\x0A\x3F\x38\x5E\x91" | |
5466 | "\x15\x26\xE1\xDB\xA4\x3D\x74\xD2" | |
5467 | "\x41\x1E\x3F\xA9\xC6\x7D\x2A\xAB" | |
5468 | "\x27\xDF\x89\x1D\x86\x3E\xF7\x5A" | |
5469 | "\xF6\xE3\x0F\xC7\x6B\x4C\x96\x7C", | |
5470 | .rlen = 144, | |
5471 | }, | |
5472 | }; | |
5473 | ||
5474 | static struct cipher_testvec serpent_cbc_dec_tv_template[] = { | |
5475 | { /* Generated with Crypto++ */ | |
5476 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
5477 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
5478 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
5479 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
5480 | .klen = 32, | |
5481 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
5482 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
5483 | .input = "\x80\xCF\x11\x41\x1A\xB9\x4B\x9C" | |
5484 | "\xFF\xB7\x6C\xEA\xF0\xAF\x77\x6E" | |
5485 | "\x71\x75\x95\x9D\x4E\x1C\xCF\xAD" | |
5486 | "\x81\x34\xE9\x8F\xAE\x5A\x91\x1C" | |
5487 | "\x38\x63\x35\x7E\x79\x18\x0A\xE8" | |
5488 | "\x67\x06\x76\xD5\xFF\x22\x2F\xDA" | |
5489 | "\xB6\x2D\x57\x13\xB6\x3C\xBC\x97" | |
5490 | "\xFE\x53\x75\x35\x97\x7F\x51\xEA" | |
5491 | "\xDF\x5D\xE8\x9D\xCC\xD9\xAE\xE7" | |
5492 | "\x62\x67\xFF\x04\xC2\x18\x22\x5F" | |
5493 | "\x2E\x06\xC1\xE2\x26\xCD\xC6\x1E" | |
5494 | "\xE5\x2C\x4E\x87\x23\xDD\xF0\x41" | |
5495 | "\x08\xA5\xB4\x3E\x07\x1E\x0B\xBB" | |
5496 | "\x72\x84\xF8\x0A\x3F\x38\x5E\x91" | |
5497 | "\x15\x26\xE1\xDB\xA4\x3D\x74\xD2" | |
5498 | "\x41\x1E\x3F\xA9\xC6\x7D\x2A\xAB" | |
5499 | "\x27\xDF\x89\x1D\x86\x3E\xF7\x5A" | |
5500 | "\xF6\xE3\x0F\xC7\x6B\x4C\x96\x7C", | |
5501 | .ilen = 144, | |
5502 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
5503 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
5504 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
5505 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
5506 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
5507 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
5508 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
5509 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
5510 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
5511 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
5512 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
5513 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
5514 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
5515 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
5516 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
5517 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
5518 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
5519 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", | |
5520 | .rlen = 144, | |
5521 | }, | |
5522 | }; | |
5523 | ||
5524 | static struct cipher_testvec serpent_ctr_enc_tv_template[] = { | |
5525 | { /* Generated with Crypto++ */ | |
5526 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
5527 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
5528 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
5529 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
5530 | .klen = 32, | |
5531 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
5532 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
5533 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
5534 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
5535 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
5536 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
5537 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
5538 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
5539 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
5540 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
5541 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
5542 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
5543 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
5544 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
5545 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
5546 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
5547 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
5548 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
5549 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
5550 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", | |
5551 | .ilen = 144, | |
5552 | .result = "\x84\x68\xEC\xF2\x1C\x88\x20\xCA" | |
5553 | "\x37\x69\xE3\x3A\x22\x85\x48\x46" | |
5554 | "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E" | |
5555 | "\x8D\x15\x2B\x98\xDF\x7B\x6D\xB9" | |
5556 | "\xE0\x4A\x73\x00\x65\xB6\x1A\x0D" | |
5557 | "\x5C\x60\xDF\x34\xDC\x60\x4C\xDF" | |
5558 | "\xB5\x1F\x26\x8C\xDA\xC1\x11\xA8" | |
5559 | "\x80\xFA\x37\x7A\x89\xAA\xAE\x7B" | |
5560 | "\x92\x6E\xB9\xDC\xC9\x62\x4F\x88" | |
5561 | "\x0A\x5D\x97\x2F\x6B\xAC\x03\x7C" | |
5562 | "\x22\xF6\x55\x5A\xFA\x35\xA5\x17" | |
5563 | "\xA1\x5C\x5E\x2B\x63\x2D\xB9\x91" | |
5564 | "\x3E\x83\x26\x00\x4E\xD5\xBE\xCE" | |
5565 | "\x79\xC4\x3D\xFC\x70\xA0\xAD\x96" | |
5566 | "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5" | |
5567 | "\x7C\xB5\x12\x89\xED\xBF\xB6\x09" | |
5568 | "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC" | |
5569 | "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9", | |
5570 | .rlen = 144, | |
5571 | }, { /* Generated with Crypto++ */ | |
5572 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
5573 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
5574 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
5575 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
5576 | .klen = 32, | |
5577 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
5578 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
5579 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
5580 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
5581 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
5582 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
5583 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
5584 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
5585 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
5586 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
5587 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
5588 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
5589 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
5590 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
5591 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
5592 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
5593 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
5594 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
5595 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
5596 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
5597 | "\xF1\x65\xFC", | |
5598 | .ilen = 147, | |
5599 | .result = "\x84\x68\xEC\xF2\x1C\x88\x20\xCA" | |
5600 | "\x37\x69\xE3\x3A\x22\x85\x48\x46" | |
5601 | "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E" | |
5602 | "\x8D\x15\x2B\x98\xDF\x7B\x6D\xB9" | |
5603 | "\xE0\x4A\x73\x00\x65\xB6\x1A\x0D" | |
5604 | "\x5C\x60\xDF\x34\xDC\x60\x4C\xDF" | |
5605 | "\xB5\x1F\x26\x8C\xDA\xC1\x11\xA8" | |
5606 | "\x80\xFA\x37\x7A\x89\xAA\xAE\x7B" | |
5607 | "\x92\x6E\xB9\xDC\xC9\x62\x4F\x88" | |
5608 | "\x0A\x5D\x97\x2F\x6B\xAC\x03\x7C" | |
5609 | "\x22\xF6\x55\x5A\xFA\x35\xA5\x17" | |
5610 | "\xA1\x5C\x5E\x2B\x63\x2D\xB9\x91" | |
5611 | "\x3E\x83\x26\x00\x4E\xD5\xBE\xCE" | |
5612 | "\x79\xC4\x3D\xFC\x70\xA0\xAD\x96" | |
5613 | "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5" | |
5614 | "\x7C\xB5\x12\x89\xED\xBF\xB6\x09" | |
5615 | "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC" | |
5616 | "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9" | |
5617 | "\xE6\xD0\x97", | |
5618 | .rlen = 147, | |
5619 | }, | |
5620 | }; | |
5621 | ||
5622 | static struct cipher_testvec serpent_ctr_dec_tv_template[] = { | |
5623 | { /* Generated with Crypto++ */ | |
5624 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
5625 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
5626 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
5627 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
5628 | .klen = 32, | |
5629 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
5630 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
5631 | .input = "\x84\x68\xEC\xF2\x1C\x88\x20\xCA" | |
5632 | "\x37\x69\xE3\x3A\x22\x85\x48\x46" | |
5633 | "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E" | |
5634 | "\x8D\x15\x2B\x98\xDF\x7B\x6D\xB9" | |
5635 | "\xE0\x4A\x73\x00\x65\xB6\x1A\x0D" | |
5636 | "\x5C\x60\xDF\x34\xDC\x60\x4C\xDF" | |
5637 | "\xB5\x1F\x26\x8C\xDA\xC1\x11\xA8" | |
5638 | "\x80\xFA\x37\x7A\x89\xAA\xAE\x7B" | |
5639 | "\x92\x6E\xB9\xDC\xC9\x62\x4F\x88" | |
5640 | "\x0A\x5D\x97\x2F\x6B\xAC\x03\x7C" | |
5641 | "\x22\xF6\x55\x5A\xFA\x35\xA5\x17" | |
5642 | "\xA1\x5C\x5E\x2B\x63\x2D\xB9\x91" | |
5643 | "\x3E\x83\x26\x00\x4E\xD5\xBE\xCE" | |
5644 | "\x79\xC4\x3D\xFC\x70\xA0\xAD\x96" | |
5645 | "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5" | |
5646 | "\x7C\xB5\x12\x89\xED\xBF\xB6\x09" | |
5647 | "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC" | |
5648 | "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9", | |
5649 | .ilen = 144, | |
5650 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
5651 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
5652 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
5653 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
5654 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
5655 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
5656 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
5657 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
5658 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
5659 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
5660 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
5661 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
5662 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
5663 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
5664 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
5665 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
5666 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
5667 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A", | |
5668 | .rlen = 144, | |
5669 | }, { /* Generated with Crypto++ */ | |
5670 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
5671 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
5672 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
5673 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
5674 | .klen = 32, | |
5675 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
5676 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
5677 | .input = "\x84\x68\xEC\xF2\x1C\x88\x20\xCA" | |
5678 | "\x37\x69\xE3\x3A\x22\x85\x48\x46" | |
5679 | "\x70\xAA\x25\xB4\xCD\x8B\x04\x4E" | |
5680 | "\x8D\x15\x2B\x98\xDF\x7B\x6D\xB9" | |
5681 | "\xE0\x4A\x73\x00\x65\xB6\x1A\x0D" | |
5682 | "\x5C\x60\xDF\x34\xDC\x60\x4C\xDF" | |
5683 | "\xB5\x1F\x26\x8C\xDA\xC1\x11\xA8" | |
5684 | "\x80\xFA\x37\x7A\x89\xAA\xAE\x7B" | |
5685 | "\x92\x6E\xB9\xDC\xC9\x62\x4F\x88" | |
5686 | "\x0A\x5D\x97\x2F\x6B\xAC\x03\x7C" | |
5687 | "\x22\xF6\x55\x5A\xFA\x35\xA5\x17" | |
5688 | "\xA1\x5C\x5E\x2B\x63\x2D\xB9\x91" | |
5689 | "\x3E\x83\x26\x00\x4E\xD5\xBE\xCE" | |
5690 | "\x79\xC4\x3D\xFC\x70\xA0\xAD\x96" | |
5691 | "\xBA\x58\x2A\x1C\xDF\xC2\x3A\xA5" | |
5692 | "\x7C\xB5\x12\x89\xED\xBF\xB6\x09" | |
5693 | "\x13\x4F\x7D\x61\x3C\x5C\x27\xFC" | |
5694 | "\x5D\xE1\x4F\xA1\xEA\xB3\xCA\xB9" | |
5695 | "\xE6\xD0\x97", | |
5696 | .ilen = 147, | |
5697 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
5698 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
5699 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
5700 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
5701 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
5702 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
5703 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
5704 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
5705 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
5706 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
5707 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
5708 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
5709 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
5710 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
5711 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
5712 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
5713 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
5714 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
5715 | "\xF1\x65\xFC", | |
5716 | .rlen = 147, | |
5717 | }, | |
5718 | }; | |
da7f033d | 5719 | |
d7bfc0fa JK |
5720 | static struct cipher_testvec serpent_lrw_enc_tv_template[] = { |
5721 | /* Generated from AES-LRW test vectors */ | |
5722 | { | |
5723 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | |
5724 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | |
5725 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | |
5726 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | |
5727 | .klen = 32, | |
5728 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5729 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
5730 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5731 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
5732 | .ilen = 16, | |
5733 | .result = "\x6f\xbf\xd4\xa4\x5d\x71\x16\x79" | |
5734 | "\x63\x9c\xa6\x8e\x40\xbe\x0d\x8a", | |
5735 | .rlen = 16, | |
5736 | }, { | |
5737 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | |
5738 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | |
5739 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | |
5740 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | |
5741 | .klen = 32, | |
5742 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5743 | "\x00\x00\x00\x00\x00\x00\x00\x02", | |
5744 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5745 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
5746 | .ilen = 16, | |
5747 | .result = "\xfd\xb2\x66\x98\x80\x96\x55\xad" | |
5748 | "\x08\x94\x54\x9c\x21\x7c\x69\xe3", | |
5749 | .rlen = 16, | |
5750 | }, { | |
5751 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | |
5752 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | |
5753 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | |
5754 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | |
5755 | .klen = 32, | |
5756 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5757 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
5758 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5759 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
5760 | .ilen = 16, | |
5761 | .result = "\x14\x5e\x3d\x70\xc0\x6e\x9c\x34" | |
5762 | "\x5b\x5e\xcf\x0f\xe4\x8c\x21\x5c", | |
5763 | .rlen = 16, | |
5764 | }, { | |
5765 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | |
5766 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | |
5767 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | |
5768 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | |
5769 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | |
5770 | .klen = 40, | |
5771 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5772 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
5773 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5774 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
5775 | .ilen = 16, | |
5776 | .result = "\x25\x39\xaa\xa5\xf0\x65\xc8\xdc" | |
5777 | "\x5d\x45\x95\x30\x8f\xff\x2f\x1b", | |
5778 | .rlen = 16, | |
5779 | }, { | |
5780 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | |
5781 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | |
5782 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | |
5783 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | |
5784 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | |
5785 | .klen = 40, | |
5786 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5787 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
5788 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5789 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
5790 | .ilen = 16, | |
5791 | .result = "\x0c\x20\x20\x63\xd6\x8b\xfc\x8f" | |
5792 | "\xc0\xe2\x17\xbb\xd2\x59\x6f\x26", | |
5793 | .rlen = 16, | |
5794 | }, { | |
5795 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
5796 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
5797 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
5798 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
5799 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
5800 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
5801 | .klen = 48, | |
5802 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5803 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
5804 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5805 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
5806 | .ilen = 16, | |
5807 | .result = "\xc1\x35\x2e\x53\xf0\x96\x4d\x9c" | |
5808 | "\x2e\x18\xe6\x99\xcd\xd3\x15\x68", | |
5809 | .rlen = 16, | |
5810 | }, { | |
5811 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | |
5812 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | |
5813 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | |
5814 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | |
5815 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | |
5816 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | |
5817 | .klen = 48, | |
5818 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5819 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
5820 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5821 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
5822 | .ilen = 16, | |
5823 | .result = "\x86\x0a\xc6\xa9\x1a\x9f\xe7\xe6" | |
5824 | "\x64\x3b\x33\xd6\xd5\x84\xd6\xdf", | |
5825 | .rlen = 16, | |
5826 | }, { | |
5827 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
5828 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
5829 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
5830 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
5831 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
5832 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
5833 | .klen = 48, | |
5834 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5835 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
5836 | .input = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
5837 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
5838 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
5839 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
5840 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
5841 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
5842 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
5843 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
5844 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
5845 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
5846 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
5847 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
5848 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
5849 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
5850 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
5851 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
5852 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
5853 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
5854 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
5855 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
5856 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
5857 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
5858 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
5859 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
5860 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
5861 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
5862 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
5863 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
5864 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
5865 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
5866 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
5867 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
5868 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
5869 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
5870 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
5871 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
5872 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
5873 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
5874 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
5875 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
5876 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
5877 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
5878 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
5879 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
5880 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
5881 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
5882 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
5883 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
5884 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
5885 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
5886 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
5887 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
5888 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
5889 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
5890 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
5891 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
5892 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
5893 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
5894 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
5895 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
5896 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
5897 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
5898 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
5899 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
5900 | .ilen = 512, | |
5901 | .result = "\xe3\x5a\x38\x0f\x4d\x92\x3a\x74" | |
5902 | "\x15\xb1\x50\x8c\x9a\xd8\x99\x1d" | |
5903 | "\x82\xec\xf1\x5f\x03\x6d\x02\x58" | |
5904 | "\x90\x67\xfc\xdd\x8d\xe1\x38\x08" | |
5905 | "\x7b\xc9\x9b\x4b\x04\x09\x50\x15" | |
5906 | "\xce\xab\xda\x33\x30\x20\x12\xfa" | |
5907 | "\x83\xc4\xa6\x9a\x2e\x7d\x90\xd9" | |
5908 | "\xa6\xa6\x67\x43\xb4\xa7\xa8\x5c" | |
5909 | "\xbb\x6a\x49\x2b\x8b\xf8\xd0\x22" | |
5910 | "\xe5\x9e\xba\xe8\x8c\x67\xb8\x5b" | |
5911 | "\x60\xbc\xf5\xa4\x95\x4e\x66\xe5" | |
5912 | "\x6d\x8e\xa9\xf6\x65\x2e\x04\xf5" | |
5913 | "\xba\xb5\xdb\x88\xc2\xf6\x7a\x4b" | |
5914 | "\x89\x58\x7c\x9a\xae\x26\xe8\xb7" | |
5915 | "\xb7\x28\xcc\xd6\xcc\xa5\x98\x4d" | |
5916 | "\xb9\x91\xcb\xb4\xe4\x8b\x96\x47" | |
5917 | "\x5f\x03\x8b\xdd\x94\xd1\xee\x12" | |
5918 | "\xa7\x83\x80\xf2\xc1\x15\x74\x4f" | |
5919 | "\x49\xf9\xb0\x7e\x6f\xdc\x73\x2f" | |
5920 | "\xe2\xcf\xe0\x1b\x34\xa5\xa0\x52" | |
5921 | "\xfb\x3c\x5d\x85\x91\xe6\x6d\x98" | |
5922 | "\x04\xd6\xdd\x4c\x00\x64\xd9\x54" | |
5923 | "\x5c\x3c\x08\x1d\x4c\x06\x9f\xb8" | |
5924 | "\x1c\x4d\x8d\xdc\xa4\x3c\xb9\x3b" | |
5925 | "\x9e\x85\xce\xc3\xa8\x4a\x0c\xd9" | |
5926 | "\x04\xc3\x6f\x17\x66\xa9\x1f\x59" | |
5927 | "\xd9\xe2\x19\x36\xa3\x88\xb8\x0b" | |
5928 | "\x0f\x4a\x4d\xf8\xc8\x6f\xd5\x43" | |
5929 | "\xeb\xa0\xab\x1f\x61\xc0\x06\xeb" | |
5930 | "\x93\xb7\xb8\x6f\x0d\xbd\x07\x49" | |
5931 | "\xb3\xac\x5d\xcf\x31\xa0\x27\x26" | |
5932 | "\x21\xbe\x94\x2e\x19\xea\xf4\xee" | |
5933 | "\xb5\x13\x89\xf7\x94\x0b\xef\x59" | |
5934 | "\x44\xc5\x78\x8b\x3c\x3b\x71\x20" | |
5935 | "\xf9\x35\x0c\x70\x74\xdc\x5b\xc2" | |
5936 | "\xb4\x11\x0e\x2c\x61\xa1\x52\x46" | |
5937 | "\x18\x11\x16\xc6\x86\x44\xa7\xaf" | |
5938 | "\xd5\x0c\x7d\xa6\x9e\x25\x2d\x1b" | |
5939 | "\x9a\x8f\x0f\xf8\x6a\x61\xa0\xea" | |
5940 | "\x3f\x0e\x90\xd6\x8f\x83\x30\x64" | |
5941 | "\xb5\x51\x2d\x08\x3c\xcd\x99\x36" | |
5942 | "\x96\xd4\xb1\xb5\x48\x30\xca\x48" | |
5943 | "\xf7\x11\xa8\xf5\x97\x8a\x6a\x6d" | |
5944 | "\x12\x33\x2f\xc0\xe8\xda\xec\x8a" | |
5945 | "\xe1\x88\x72\x63\xde\x20\xa3\xe1" | |
5946 | "\x8e\xac\x84\x37\x35\xf5\xf7\x3f" | |
5947 | "\x00\x02\x0e\xe4\xc1\x53\x68\x3f" | |
5948 | "\xaa\xd5\xac\x52\x3d\x20\x2f\x4d" | |
5949 | "\x7c\x83\xd0\xbd\xaa\x97\x35\x36" | |
5950 | "\x98\x88\x59\x5d\xe7\x24\xe3\x90" | |
5951 | "\x9d\x30\x47\xa7\xc3\x60\x35\xf4" | |
5952 | "\xd5\xdb\x0e\x4d\x44\xc1\x81\x8b" | |
5953 | "\xfd\xbd\xc3\x2b\xba\x68\xfe\x8d" | |
5954 | "\x49\x5a\x3c\x8a\xa3\x01\xae\x25" | |
5955 | "\x42\xab\xd2\x87\x1b\x35\xd6\xd2" | |
5956 | "\xd7\x70\x1c\x1f\x72\xd1\xe1\x39" | |
5957 | "\x1c\x58\xa2\xb4\xd0\x78\x55\x72" | |
5958 | "\x76\x59\xea\xd9\xd7\x6e\x63\x8b" | |
5959 | "\xcc\x9b\xa7\x74\x89\xfc\xa3\x68" | |
5960 | "\x86\x28\xd1\xbb\x54\x8d\x66\xad" | |
5961 | "\x2a\x92\xf9\x4e\x04\x3d\xae\xfd" | |
5962 | "\x1b\x2b\x7f\xc3\x2f\x1a\x78\x0a" | |
5963 | "\x5c\xc6\x84\xfe\x7c\xcb\x26\xfd" | |
5964 | "\xd9\x51\x0f\xd7\x94\x2f\xc5\xa7", | |
5965 | .rlen = 512, | |
5966 | }, | |
5967 | }; | |
5968 | ||
5969 | static struct cipher_testvec serpent_lrw_dec_tv_template[] = { | |
5970 | /* Generated from AES-LRW test vectors */ | |
5971 | /* same as enc vectors with input and result reversed */ | |
5972 | { | |
5973 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | |
5974 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | |
5975 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | |
5976 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | |
5977 | .klen = 32, | |
5978 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5979 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
5980 | .input = "\x6f\xbf\xd4\xa4\x5d\x71\x16\x79" | |
5981 | "\x63\x9c\xa6\x8e\x40\xbe\x0d\x8a", | |
5982 | .ilen = 16, | |
5983 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5984 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
5985 | .rlen = 16, | |
5986 | }, { | |
5987 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | |
5988 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | |
5989 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | |
5990 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | |
5991 | .klen = 32, | |
5992 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
5993 | "\x00\x00\x00\x00\x00\x00\x00\x02", | |
5994 | .input = "\xfd\xb2\x66\x98\x80\x96\x55\xad" | |
5995 | "\x08\x94\x54\x9c\x21\x7c\x69\xe3", | |
5996 | .ilen = 16, | |
5997 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
5998 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
5999 | .rlen = 16, | |
6000 | }, { | |
6001 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | |
6002 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | |
6003 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | |
6004 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | |
6005 | .klen = 32, | |
6006 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6007 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
6008 | .input = "\x14\x5e\x3d\x70\xc0\x6e\x9c\x34" | |
6009 | "\x5b\x5e\xcf\x0f\xe4\x8c\x21\x5c", | |
6010 | .ilen = 16, | |
6011 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6012 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
6013 | .rlen = 16, | |
6014 | }, { | |
6015 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | |
6016 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | |
6017 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | |
6018 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | |
6019 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | |
6020 | .klen = 40, | |
6021 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6022 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
6023 | .input = "\x25\x39\xaa\xa5\xf0\x65\xc8\xdc" | |
6024 | "\x5d\x45\x95\x30\x8f\xff\x2f\x1b", | |
6025 | .ilen = 16, | |
6026 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6027 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
6028 | .rlen = 16, | |
6029 | }, { | |
6030 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | |
6031 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | |
6032 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | |
6033 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | |
6034 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | |
6035 | .klen = 40, | |
6036 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6037 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
6038 | .input = "\x0c\x20\x20\x63\xd6\x8b\xfc\x8f" | |
6039 | "\xc0\xe2\x17\xbb\xd2\x59\x6f\x26", | |
6040 | .ilen = 16, | |
6041 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6042 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
6043 | .rlen = 16, | |
6044 | }, { | |
6045 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
6046 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
6047 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
6048 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
6049 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
6050 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
6051 | .klen = 48, | |
6052 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6053 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
6054 | .input = "\xc1\x35\x2e\x53\xf0\x96\x4d\x9c" | |
6055 | "\x2e\x18\xe6\x99\xcd\xd3\x15\x68", | |
6056 | .ilen = 16, | |
6057 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6058 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
6059 | .rlen = 16, | |
6060 | }, { | |
6061 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | |
6062 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | |
6063 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | |
6064 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | |
6065 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | |
6066 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | |
6067 | .klen = 48, | |
6068 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6069 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
6070 | .input = "\x86\x0a\xc6\xa9\x1a\x9f\xe7\xe6" | |
6071 | "\x64\x3b\x33\xd6\xd5\x84\xd6\xdf", | |
6072 | .ilen = 16, | |
6073 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6074 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
6075 | .rlen = 16, | |
6076 | }, { | |
6077 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
6078 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
6079 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
6080 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
6081 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
6082 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
6083 | .klen = 48, | |
6084 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6085 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
6086 | .input = "\xe3\x5a\x38\x0f\x4d\x92\x3a\x74" | |
6087 | "\x15\xb1\x50\x8c\x9a\xd8\x99\x1d" | |
6088 | "\x82\xec\xf1\x5f\x03\x6d\x02\x58" | |
6089 | "\x90\x67\xfc\xdd\x8d\xe1\x38\x08" | |
6090 | "\x7b\xc9\x9b\x4b\x04\x09\x50\x15" | |
6091 | "\xce\xab\xda\x33\x30\x20\x12\xfa" | |
6092 | "\x83\xc4\xa6\x9a\x2e\x7d\x90\xd9" | |
6093 | "\xa6\xa6\x67\x43\xb4\xa7\xa8\x5c" | |
6094 | "\xbb\x6a\x49\x2b\x8b\xf8\xd0\x22" | |
6095 | "\xe5\x9e\xba\xe8\x8c\x67\xb8\x5b" | |
6096 | "\x60\xbc\xf5\xa4\x95\x4e\x66\xe5" | |
6097 | "\x6d\x8e\xa9\xf6\x65\x2e\x04\xf5" | |
6098 | "\xba\xb5\xdb\x88\xc2\xf6\x7a\x4b" | |
6099 | "\x89\x58\x7c\x9a\xae\x26\xe8\xb7" | |
6100 | "\xb7\x28\xcc\xd6\xcc\xa5\x98\x4d" | |
6101 | "\xb9\x91\xcb\xb4\xe4\x8b\x96\x47" | |
6102 | "\x5f\x03\x8b\xdd\x94\xd1\xee\x12" | |
6103 | "\xa7\x83\x80\xf2\xc1\x15\x74\x4f" | |
6104 | "\x49\xf9\xb0\x7e\x6f\xdc\x73\x2f" | |
6105 | "\xe2\xcf\xe0\x1b\x34\xa5\xa0\x52" | |
6106 | "\xfb\x3c\x5d\x85\x91\xe6\x6d\x98" | |
6107 | "\x04\xd6\xdd\x4c\x00\x64\xd9\x54" | |
6108 | "\x5c\x3c\x08\x1d\x4c\x06\x9f\xb8" | |
6109 | "\x1c\x4d\x8d\xdc\xa4\x3c\xb9\x3b" | |
6110 | "\x9e\x85\xce\xc3\xa8\x4a\x0c\xd9" | |
6111 | "\x04\xc3\x6f\x17\x66\xa9\x1f\x59" | |
6112 | "\xd9\xe2\x19\x36\xa3\x88\xb8\x0b" | |
6113 | "\x0f\x4a\x4d\xf8\xc8\x6f\xd5\x43" | |
6114 | "\xeb\xa0\xab\x1f\x61\xc0\x06\xeb" | |
6115 | "\x93\xb7\xb8\x6f\x0d\xbd\x07\x49" | |
6116 | "\xb3\xac\x5d\xcf\x31\xa0\x27\x26" | |
6117 | "\x21\xbe\x94\x2e\x19\xea\xf4\xee" | |
6118 | "\xb5\x13\x89\xf7\x94\x0b\xef\x59" | |
6119 | "\x44\xc5\x78\x8b\x3c\x3b\x71\x20" | |
6120 | "\xf9\x35\x0c\x70\x74\xdc\x5b\xc2" | |
6121 | "\xb4\x11\x0e\x2c\x61\xa1\x52\x46" | |
6122 | "\x18\x11\x16\xc6\x86\x44\xa7\xaf" | |
6123 | "\xd5\x0c\x7d\xa6\x9e\x25\x2d\x1b" | |
6124 | "\x9a\x8f\x0f\xf8\x6a\x61\xa0\xea" | |
6125 | "\x3f\x0e\x90\xd6\x8f\x83\x30\x64" | |
6126 | "\xb5\x51\x2d\x08\x3c\xcd\x99\x36" | |
6127 | "\x96\xd4\xb1\xb5\x48\x30\xca\x48" | |
6128 | "\xf7\x11\xa8\xf5\x97\x8a\x6a\x6d" | |
6129 | "\x12\x33\x2f\xc0\xe8\xda\xec\x8a" | |
6130 | "\xe1\x88\x72\x63\xde\x20\xa3\xe1" | |
6131 | "\x8e\xac\x84\x37\x35\xf5\xf7\x3f" | |
6132 | "\x00\x02\x0e\xe4\xc1\x53\x68\x3f" | |
6133 | "\xaa\xd5\xac\x52\x3d\x20\x2f\x4d" | |
6134 | "\x7c\x83\xd0\xbd\xaa\x97\x35\x36" | |
6135 | "\x98\x88\x59\x5d\xe7\x24\xe3\x90" | |
6136 | "\x9d\x30\x47\xa7\xc3\x60\x35\xf4" | |
6137 | "\xd5\xdb\x0e\x4d\x44\xc1\x81\x8b" | |
6138 | "\xfd\xbd\xc3\x2b\xba\x68\xfe\x8d" | |
6139 | "\x49\x5a\x3c\x8a\xa3\x01\xae\x25" | |
6140 | "\x42\xab\xd2\x87\x1b\x35\xd6\xd2" | |
6141 | "\xd7\x70\x1c\x1f\x72\xd1\xe1\x39" | |
6142 | "\x1c\x58\xa2\xb4\xd0\x78\x55\x72" | |
6143 | "\x76\x59\xea\xd9\xd7\x6e\x63\x8b" | |
6144 | "\xcc\x9b\xa7\x74\x89\xfc\xa3\x68" | |
6145 | "\x86\x28\xd1\xbb\x54\x8d\x66\xad" | |
6146 | "\x2a\x92\xf9\x4e\x04\x3d\xae\xfd" | |
6147 | "\x1b\x2b\x7f\xc3\x2f\x1a\x78\x0a" | |
6148 | "\x5c\xc6\x84\xfe\x7c\xcb\x26\xfd" | |
6149 | "\xd9\x51\x0f\xd7\x94\x2f\xc5\xa7", | |
6150 | .ilen = 512, | |
6151 | .result = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
6152 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
6153 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
6154 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
6155 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
6156 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
6157 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
6158 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
6159 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
6160 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
6161 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
6162 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
6163 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
6164 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
6165 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
6166 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
6167 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
6168 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
6169 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
6170 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
6171 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
6172 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
6173 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
6174 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
6175 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
6176 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
6177 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
6178 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
6179 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
6180 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
6181 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
6182 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
6183 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
6184 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
6185 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
6186 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
6187 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
6188 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
6189 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
6190 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
6191 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
6192 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
6193 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
6194 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
6195 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
6196 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
6197 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
6198 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
6199 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
6200 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
6201 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
6202 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
6203 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
6204 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
6205 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
6206 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
6207 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
6208 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
6209 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
6210 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
6211 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
6212 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
6213 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
6214 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
6215 | .rlen = 512, | |
6216 | }, | |
6217 | }; | |
6218 | ||
18be20b9 JK |
6219 | static struct cipher_testvec serpent_xts_enc_tv_template[] = { |
6220 | /* Generated from AES-XTS test vectors */ | |
6221 | { | |
6222 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6223 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6224 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6225 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6226 | .klen = 32, | |
6227 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6228 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6229 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6230 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6231 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6232 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6233 | .ilen = 32, | |
6234 | .result = "\xe1\x08\xb8\x1d\x2c\xf5\x33\x64" | |
6235 | "\xc8\x12\x04\xc7\xb3\x70\xe8\xc4" | |
6236 | "\x6a\x31\xc5\xf3\x00\xca\xb9\x16" | |
6237 | "\xde\xe2\x77\x66\xf7\xfe\x62\x08", | |
6238 | .rlen = 32, | |
6239 | }, { | |
6240 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | |
6241 | "\x11\x11\x11\x11\x11\x11\x11\x11" | |
6242 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
6243 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
6244 | .klen = 32, | |
6245 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
6246 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6247 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6248 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6249 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6250 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
6251 | .ilen = 32, | |
6252 | .result = "\x1a\x0a\x09\x5f\xcd\x07\x07\x98" | |
6253 | "\x41\x86\x12\xaf\xb3\xd7\x68\x13" | |
6254 | "\xed\x81\xcd\x06\x87\x43\x1a\xbb" | |
6255 | "\x13\x3d\xd6\x1e\x2b\xe1\x77\xbe", | |
6256 | .rlen = 32, | |
6257 | }, { | |
6258 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | |
6259 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | |
6260 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
6261 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
6262 | .klen = 32, | |
6263 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
6264 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6265 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6266 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6267 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6268 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
6269 | .ilen = 32, | |
6270 | .result = "\xf9\x9b\x28\xb8\x5c\xaf\x8c\x61" | |
6271 | "\xb6\x1c\x81\x8f\x2c\x87\x60\x89" | |
6272 | "\x0d\x8d\x7a\xe8\x60\x48\xcc\x86" | |
6273 | "\xc1\x68\x45\xaa\x00\xe9\x24\xc5", | |
6274 | .rlen = 32, | |
6275 | }, { | |
6276 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
6277 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
6278 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
6279 | "\x23\x84\x62\x64\x33\x83\x27\x95", | |
6280 | .klen = 32, | |
6281 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6282 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6283 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
6284 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
6285 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
6286 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
6287 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
6288 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
6289 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6290 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
6291 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
6292 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
6293 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
6294 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
6295 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
6296 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
6297 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
6298 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
6299 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
6300 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
6301 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
6302 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
6303 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
6304 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
6305 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
6306 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
6307 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
6308 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
6309 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
6310 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
6311 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
6312 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
6313 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
6314 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
6315 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
6316 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
6317 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
6318 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
6319 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
6320 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
6321 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6322 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
6323 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
6324 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
6325 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
6326 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
6327 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
6328 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
6329 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
6330 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
6331 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
6332 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
6333 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
6334 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
6335 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
6336 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
6337 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
6338 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
6339 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
6340 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
6341 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
6342 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
6343 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
6344 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
6345 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
6346 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
6347 | .ilen = 512, | |
6348 | .result = "\xfe\x47\x4a\xc8\x60\x7e\xb4\x8b" | |
6349 | "\x0d\x10\xf4\xb0\x0d\xba\xf8\x53" | |
6350 | "\x65\x6e\x38\x4b\xdb\xaa\xb1\x9e" | |
6351 | "\x28\xca\xb0\x22\xb3\x85\x75\xf4" | |
6352 | "\x00\x5c\x75\x14\x06\xd6\x25\x82" | |
6353 | "\xe6\xcb\x08\xf7\x29\x90\x23\x8e" | |
6354 | "\xa4\x68\x57\xe4\xf0\xd8\x32\xf3" | |
6355 | "\x80\x51\x67\xb5\x0b\x85\x69\xe8" | |
6356 | "\x19\xfe\xc4\xc7\x3e\xea\x90\xd3" | |
6357 | "\x8f\xa3\xf2\x0a\xac\x17\x4b\xa0" | |
6358 | "\x63\x5a\x16\x0f\xf0\xce\x66\x1f" | |
6359 | "\x2c\x21\x07\xf1\xa4\x03\xa3\x44" | |
6360 | "\x41\x61\x87\x5d\x6b\xb3\xef\xd4" | |
6361 | "\xfc\xaa\x32\x7e\x55\x58\x04\x41" | |
6362 | "\xc9\x07\x33\xc6\xa2\x68\xd6\x5a" | |
6363 | "\x55\x79\x4b\x6f\xcf\x89\xb9\x19" | |
6364 | "\xe5\x54\x13\x15\xb2\x1a\xfa\x15" | |
6365 | "\xc2\xf0\x06\x59\xfa\xa0\x25\x05" | |
6366 | "\x58\xfa\x43\x91\x16\x85\x40\xbb" | |
6367 | "\x0d\x34\x4d\xc5\x1e\x20\xd5\x08" | |
6368 | "\xcd\x22\x22\x41\x11\x9f\x6c\x7c" | |
6369 | "\x8d\x57\xc9\xba\x57\xe8\x2c\xf7" | |
6370 | "\xa0\x42\xa8\xde\xfc\xa3\xca\x98" | |
6371 | "\x4b\x43\xb1\xce\x4b\xbf\x01\x67" | |
6372 | "\x6e\x29\x60\xbd\x10\x14\x84\x82" | |
6373 | "\x83\x82\x0c\x63\x73\x92\x02\x7c" | |
6374 | "\x55\x37\x20\x80\x17\x51\xc8\xbc" | |
6375 | "\x46\x02\xcb\x38\x07\x6d\xe2\x85" | |
6376 | "\xaa\x29\xaf\x24\x58\x0d\xf0\x75" | |
6377 | "\x08\x0a\xa5\x34\x25\x16\xf3\x74" | |
6378 | "\xa7\x0b\x97\xbe\xc1\xa9\xdc\x29" | |
6379 | "\x1a\x0a\x56\xc1\x1a\x91\x97\x8c" | |
6380 | "\x0b\xc7\x16\xed\x5a\x22\xa6\x2e" | |
6381 | "\x8c\x2b\x4f\x54\x76\x47\x53\x8e" | |
6382 | "\xe8\x00\xec\x92\xb9\x55\xe6\xa2" | |
6383 | "\xf3\xe2\x4f\x6a\x66\x60\xd0\x87" | |
6384 | "\xe6\xd1\xcc\xe3\x6a\xc5\x2d\x21" | |
6385 | "\xcc\x9d\x6a\xb6\x75\xaa\xe2\x19" | |
6386 | "\x21\x9f\xa1\x5e\x4c\xfd\x72\xf9" | |
6387 | "\x94\x4e\x63\xc7\xae\xfc\xed\x47" | |
6388 | "\xe2\xfe\x7a\x63\x77\xfe\x97\x82" | |
6389 | "\xb1\x10\x6e\x36\x1d\xe1\xc4\x80" | |
6390 | "\xec\x69\x41\xec\xa7\x8a\xe0\x2f" | |
6391 | "\xe3\x49\x26\xa2\x41\xb2\x08\x0f" | |
6392 | "\x28\xb4\xa7\x39\xa1\x99\x2d\x1e" | |
6393 | "\x43\x42\x35\xd0\xcf\xec\x77\x67" | |
6394 | "\xb2\x3b\x9e\x1c\x35\xde\x4f\x5e" | |
6395 | "\x73\x3f\x5d\x6f\x07\x4b\x2e\x50" | |
6396 | "\xab\x6c\x6b\xff\xea\x00\x67\xaa" | |
6397 | "\x0e\x82\x32\xdd\x3d\xb5\xe5\x76" | |
6398 | "\x2b\x77\x3f\xbe\x12\x75\xfb\x92" | |
6399 | "\xc6\x89\x67\x4d\xca\xf7\xd4\x50" | |
6400 | "\xc0\x74\x47\xcc\xd9\x0a\xd4\xc6" | |
6401 | "\x3b\x17\x2e\xe3\x35\xbb\x53\xb5" | |
6402 | "\x86\xad\x51\xcc\xd5\x96\xb8\xdc" | |
6403 | "\x03\x57\xe6\x98\x52\x2f\x61\x62" | |
6404 | "\xc4\x5c\x9c\x36\x71\x07\xfb\x94" | |
6405 | "\xe3\x02\xc4\x2b\x08\x75\xc7\x35" | |
6406 | "\xfb\x2e\x88\x7b\xbb\x67\x00\xe1" | |
6407 | "\xc9\xdd\x99\xb2\x13\x53\x1a\x4e" | |
6408 | "\x76\x87\x19\x04\x1a\x2f\x38\x3e" | |
6409 | "\xef\x91\x64\x1d\x18\x07\x4e\x31" | |
6410 | "\x88\x21\x7c\xb0\xa5\x12\x4c\x3c" | |
6411 | "\xb0\x20\xbd\xda\xdf\xf9\x7c\xdd", | |
6412 | .rlen = 512, | |
6413 | }, { | |
6414 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
6415 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
6416 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
6417 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
6418 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
6419 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
6420 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
6421 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
6422 | .klen = 64, | |
6423 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
6424 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6425 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
6426 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
6427 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
6428 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
6429 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
6430 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
6431 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6432 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
6433 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
6434 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
6435 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
6436 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
6437 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
6438 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
6439 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
6440 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
6441 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
6442 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
6443 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
6444 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
6445 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
6446 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
6447 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
6448 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
6449 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
6450 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
6451 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
6452 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
6453 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
6454 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
6455 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
6456 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
6457 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
6458 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
6459 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
6460 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
6461 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
6462 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
6463 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6464 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
6465 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
6466 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
6467 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
6468 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
6469 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
6470 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
6471 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
6472 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
6473 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
6474 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
6475 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
6476 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
6477 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
6478 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
6479 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
6480 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
6481 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
6482 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
6483 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
6484 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
6485 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
6486 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
6487 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
6488 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
6489 | .ilen = 512, | |
6490 | .result = "\x2b\xc9\xb4\x6b\x10\x94\xa9\x32" | |
6491 | "\xaa\xb0\x20\xc6\x44\x3d\x74\x1f" | |
6492 | "\x75\x01\xa7\xf6\xf5\xf7\x62\x1b" | |
6493 | "\x80\x1b\x82\xcb\x01\x59\x91\x7f" | |
6494 | "\x80\x3a\x98\xf0\xd2\xca\xc4\xc3" | |
6495 | "\x34\xfd\xe6\x11\xf9\x33\x45\x12" | |
6496 | "\x48\xc5\x8c\x25\xf1\xc5\xc5\x23" | |
6497 | "\xd3\x44\xb4\x73\xd5\x04\xc0\xb7" | |
6498 | "\xca\x2f\xf5\xcd\xc5\xb4\xdd\xb0" | |
6499 | "\xf4\x60\xe8\xfb\xc6\x9c\xc5\x78" | |
6500 | "\xcd\xec\x7d\xdc\x19\x9c\x72\x64" | |
6501 | "\x63\x0b\x38\x2e\x76\xdd\x2d\x36" | |
6502 | "\x49\xb0\x1d\xea\x78\x9e\x00\xca" | |
6503 | "\x20\xcc\x1b\x1e\x98\x74\xab\xed" | |
6504 | "\x79\xf7\xd0\x6c\xd8\x93\x80\x29" | |
6505 | "\xac\xa5\x5e\x34\xa9\xab\xa0\x55" | |
6506 | "\x9a\xea\xaa\x95\x4d\x7b\xfe\x46" | |
6507 | "\x26\x8a\xfd\x88\xa2\xa8\xa6\xae" | |
6508 | "\x25\x42\x17\xbf\x76\x8f\x1c\x3d" | |
6509 | "\xec\x9a\xda\x64\x96\xb5\x61\xff" | |
6510 | "\x99\xeb\x12\x96\x85\x82\x9d\xd5" | |
6511 | "\x81\x85\x14\xa8\x59\xac\x8c\x94" | |
6512 | "\xbb\x3b\x85\x2b\xdf\xb3\x0c\xba" | |
6513 | "\x82\xc6\x4d\xca\x86\xea\x53\x28" | |
6514 | "\x4c\xe0\x4e\x31\xe3\x73\x2f\x79" | |
6515 | "\x9d\x42\xe1\x03\xe3\x8b\xc4\xff" | |
6516 | "\x05\xca\x81\x7b\xda\xa2\xde\x63" | |
6517 | "\x3a\x10\xbe\xc2\xac\x32\xc4\x05" | |
6518 | "\x47\x7e\xef\x67\xe2\x5f\x5b\xae" | |
6519 | "\xed\xf1\x70\x34\x16\x9a\x07\x7b" | |
6520 | "\xf2\x25\x2b\xb0\xf8\x3c\x15\x9a" | |
6521 | "\xa6\x59\x55\x5f\xc1\xf4\x1e\xcd" | |
6522 | "\x93\x1f\x06\xba\xd4\x9a\x22\x69" | |
6523 | "\xfa\x8e\x95\x0d\xf3\x23\x59\x2c" | |
6524 | "\xfe\x00\xba\xf0\x0e\xbc\x6d\xd6" | |
6525 | "\x62\xf0\x7a\x0e\x83\x3e\xdb\x32" | |
6526 | "\xfd\x43\x7d\xda\x42\x51\x87\x43" | |
6527 | "\x9d\xf9\xef\xf4\x30\x97\xf8\x09" | |
6528 | "\x88\xfc\x3f\x93\x70\xc1\x4a\xec" | |
6529 | "\x27\x5f\x11\xac\x71\xc7\x48\x46" | |
6530 | "\x2f\xf9\xdf\x8d\x9f\xf7\x2e\x56" | |
6531 | "\x0d\x4e\xb0\x32\x76\xce\x86\x81" | |
6532 | "\xcd\xdf\xe4\x00\xbf\xfd\x5f\x24" | |
6533 | "\xaf\xf7\x9a\xde\xff\x18\xac\x14" | |
6534 | "\x90\xc5\x01\x39\x34\x0f\x24\xf3" | |
6535 | "\x13\x2f\x5e\x4f\x30\x9a\x36\x40" | |
6536 | "\xec\xea\xbc\xcd\x9e\x0e\x5b\x23" | |
6537 | "\x50\x88\x97\x40\x69\xb1\x37\xf5" | |
6538 | "\xc3\x15\xf9\x3f\xb7\x79\x64\xe8" | |
6539 | "\x7b\x10\x20\xb9\x2b\x46\x83\x5b" | |
6540 | "\xd8\x39\xfc\xe4\xfa\x88\x52\xf2" | |
6541 | "\x72\xb0\x97\x4e\x89\xb3\x48\x00" | |
6542 | "\xc1\x16\x73\x50\x77\xba\xa6\x65" | |
6543 | "\x20\x2d\xb0\x02\x27\x89\xda\x99" | |
6544 | "\x45\xfb\xe9\xd3\x1d\x39\x2f\xd6" | |
6545 | "\x2a\xda\x09\x12\x11\xaf\xe6\x57" | |
6546 | "\x01\x04\x8a\xff\x86\x8b\xac\xf8" | |
6547 | "\xee\xe4\x1c\x98\x5b\xcf\x6b\x76" | |
6548 | "\xa3\x0e\x33\x74\x40\x18\x39\x72" | |
6549 | "\x66\x50\x31\xfd\x70\xdf\xe8\x51" | |
6550 | "\x96\x21\x36\xb2\x9b\xfa\x85\xd1" | |
6551 | "\x30\x05\xc8\x92\x98\x80\xff\x7a" | |
6552 | "\xaf\x43\x0b\xc5\x20\x41\x92\x20" | |
6553 | "\xd4\xa0\x91\x98\x11\x5f\x4d\xb1", | |
6554 | .rlen = 512, | |
6555 | }, | |
6556 | }; | |
6557 | ||
6558 | static struct cipher_testvec serpent_xts_dec_tv_template[] = { | |
6559 | /* Generated from AES-XTS test vectors */ | |
6560 | /* same as enc vectors with input and result reversed */ | |
6561 | { | |
6562 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6563 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6564 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6565 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6566 | .klen = 32, | |
6567 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6568 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6569 | .input = "\xe1\x08\xb8\x1d\x2c\xf5\x33\x64" | |
6570 | "\xc8\x12\x04\xc7\xb3\x70\xe8\xc4" | |
6571 | "\x6a\x31\xc5\xf3\x00\xca\xb9\x16" | |
6572 | "\xde\xe2\x77\x66\xf7\xfe\x62\x08", | |
6573 | .ilen = 32, | |
6574 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6575 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6576 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6577 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6578 | .rlen = 32, | |
6579 | }, { | |
6580 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | |
6581 | "\x11\x11\x11\x11\x11\x11\x11\x11" | |
6582 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
6583 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
6584 | .klen = 32, | |
6585 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
6586 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6587 | .input = "\x1a\x0a\x09\x5f\xcd\x07\x07\x98" | |
6588 | "\x41\x86\x12\xaf\xb3\xd7\x68\x13" | |
6589 | "\xed\x81\xcd\x06\x87\x43\x1a\xbb" | |
6590 | "\x13\x3d\xd6\x1e\x2b\xe1\x77\xbe", | |
6591 | .ilen = 32, | |
6592 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6593 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6594 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6595 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
6596 | .rlen = 32, | |
6597 | }, { | |
6598 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | |
6599 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | |
6600 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
6601 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
6602 | .klen = 32, | |
6603 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
6604 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6605 | .input = "\xf9\x9b\x28\xb8\x5c\xaf\x8c\x61" | |
6606 | "\xb6\x1c\x81\x8f\x2c\x87\x60\x89" | |
6607 | "\x0d\x8d\x7a\xe8\x60\x48\xcc\x86" | |
6608 | "\xc1\x68\x45\xaa\x00\xe9\x24\xc5", | |
6609 | .ilen = 32, | |
6610 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6611 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6612 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
6613 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
6614 | .rlen = 32, | |
6615 | }, { | |
6616 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
6617 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
6618 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
6619 | "\x23\x84\x62\x64\x33\x83\x27\x95", | |
6620 | .klen = 32, | |
6621 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
6622 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6623 | .input = "\xfe\x47\x4a\xc8\x60\x7e\xb4\x8b" | |
6624 | "\x0d\x10\xf4\xb0\x0d\xba\xf8\x53" | |
6625 | "\x65\x6e\x38\x4b\xdb\xaa\xb1\x9e" | |
6626 | "\x28\xca\xb0\x22\xb3\x85\x75\xf4" | |
6627 | "\x00\x5c\x75\x14\x06\xd6\x25\x82" | |
6628 | "\xe6\xcb\x08\xf7\x29\x90\x23\x8e" | |
6629 | "\xa4\x68\x57\xe4\xf0\xd8\x32\xf3" | |
6630 | "\x80\x51\x67\xb5\x0b\x85\x69\xe8" | |
6631 | "\x19\xfe\xc4\xc7\x3e\xea\x90\xd3" | |
6632 | "\x8f\xa3\xf2\x0a\xac\x17\x4b\xa0" | |
6633 | "\x63\x5a\x16\x0f\xf0\xce\x66\x1f" | |
6634 | "\x2c\x21\x07\xf1\xa4\x03\xa3\x44" | |
6635 | "\x41\x61\x87\x5d\x6b\xb3\xef\xd4" | |
6636 | "\xfc\xaa\x32\x7e\x55\x58\x04\x41" | |
6637 | "\xc9\x07\x33\xc6\xa2\x68\xd6\x5a" | |
6638 | "\x55\x79\x4b\x6f\xcf\x89\xb9\x19" | |
6639 | "\xe5\x54\x13\x15\xb2\x1a\xfa\x15" | |
6640 | "\xc2\xf0\x06\x59\xfa\xa0\x25\x05" | |
6641 | "\x58\xfa\x43\x91\x16\x85\x40\xbb" | |
6642 | "\x0d\x34\x4d\xc5\x1e\x20\xd5\x08" | |
6643 | "\xcd\x22\x22\x41\x11\x9f\x6c\x7c" | |
6644 | "\x8d\x57\xc9\xba\x57\xe8\x2c\xf7" | |
6645 | "\xa0\x42\xa8\xde\xfc\xa3\xca\x98" | |
6646 | "\x4b\x43\xb1\xce\x4b\xbf\x01\x67" | |
6647 | "\x6e\x29\x60\xbd\x10\x14\x84\x82" | |
6648 | "\x83\x82\x0c\x63\x73\x92\x02\x7c" | |
6649 | "\x55\x37\x20\x80\x17\x51\xc8\xbc" | |
6650 | "\x46\x02\xcb\x38\x07\x6d\xe2\x85" | |
6651 | "\xaa\x29\xaf\x24\x58\x0d\xf0\x75" | |
6652 | "\x08\x0a\xa5\x34\x25\x16\xf3\x74" | |
6653 | "\xa7\x0b\x97\xbe\xc1\xa9\xdc\x29" | |
6654 | "\x1a\x0a\x56\xc1\x1a\x91\x97\x8c" | |
6655 | "\x0b\xc7\x16\xed\x5a\x22\xa6\x2e" | |
6656 | "\x8c\x2b\x4f\x54\x76\x47\x53\x8e" | |
6657 | "\xe8\x00\xec\x92\xb9\x55\xe6\xa2" | |
6658 | "\xf3\xe2\x4f\x6a\x66\x60\xd0\x87" | |
6659 | "\xe6\xd1\xcc\xe3\x6a\xc5\x2d\x21" | |
6660 | "\xcc\x9d\x6a\xb6\x75\xaa\xe2\x19" | |
6661 | "\x21\x9f\xa1\x5e\x4c\xfd\x72\xf9" | |
6662 | "\x94\x4e\x63\xc7\xae\xfc\xed\x47" | |
6663 | "\xe2\xfe\x7a\x63\x77\xfe\x97\x82" | |
6664 | "\xb1\x10\x6e\x36\x1d\xe1\xc4\x80" | |
6665 | "\xec\x69\x41\xec\xa7\x8a\xe0\x2f" | |
6666 | "\xe3\x49\x26\xa2\x41\xb2\x08\x0f" | |
6667 | "\x28\xb4\xa7\x39\xa1\x99\x2d\x1e" | |
6668 | "\x43\x42\x35\xd0\xcf\xec\x77\x67" | |
6669 | "\xb2\x3b\x9e\x1c\x35\xde\x4f\x5e" | |
6670 | "\x73\x3f\x5d\x6f\x07\x4b\x2e\x50" | |
6671 | "\xab\x6c\x6b\xff\xea\x00\x67\xaa" | |
6672 | "\x0e\x82\x32\xdd\x3d\xb5\xe5\x76" | |
6673 | "\x2b\x77\x3f\xbe\x12\x75\xfb\x92" | |
6674 | "\xc6\x89\x67\x4d\xca\xf7\xd4\x50" | |
6675 | "\xc0\x74\x47\xcc\xd9\x0a\xd4\xc6" | |
6676 | "\x3b\x17\x2e\xe3\x35\xbb\x53\xb5" | |
6677 | "\x86\xad\x51\xcc\xd5\x96\xb8\xdc" | |
6678 | "\x03\x57\xe6\x98\x52\x2f\x61\x62" | |
6679 | "\xc4\x5c\x9c\x36\x71\x07\xfb\x94" | |
6680 | "\xe3\x02\xc4\x2b\x08\x75\xc7\x35" | |
6681 | "\xfb\x2e\x88\x7b\xbb\x67\x00\xe1" | |
6682 | "\xc9\xdd\x99\xb2\x13\x53\x1a\x4e" | |
6683 | "\x76\x87\x19\x04\x1a\x2f\x38\x3e" | |
6684 | "\xef\x91\x64\x1d\x18\x07\x4e\x31" | |
6685 | "\x88\x21\x7c\xb0\xa5\x12\x4c\x3c" | |
6686 | "\xb0\x20\xbd\xda\xdf\xf9\x7c\xdd", | |
6687 | .ilen = 512, | |
6688 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
6689 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
6690 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
6691 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
6692 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
6693 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
6694 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6695 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
6696 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
6697 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
6698 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
6699 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
6700 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
6701 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
6702 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
6703 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
6704 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
6705 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
6706 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
6707 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
6708 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
6709 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
6710 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
6711 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
6712 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
6713 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
6714 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
6715 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
6716 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
6717 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
6718 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
6719 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
6720 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
6721 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
6722 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
6723 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
6724 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
6725 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
6726 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6727 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
6728 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
6729 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
6730 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
6731 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
6732 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
6733 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
6734 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
6735 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
6736 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
6737 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
6738 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
6739 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
6740 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
6741 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
6742 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
6743 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
6744 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
6745 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
6746 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
6747 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
6748 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
6749 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
6750 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
6751 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
6752 | .rlen = 512, | |
6753 | }, { | |
6754 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
6755 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
6756 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
6757 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
6758 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
6759 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
6760 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
6761 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
6762 | .klen = 64, | |
6763 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
6764 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
6765 | .input = "\x2b\xc9\xb4\x6b\x10\x94\xa9\x32" | |
6766 | "\xaa\xb0\x20\xc6\x44\x3d\x74\x1f" | |
6767 | "\x75\x01\xa7\xf6\xf5\xf7\x62\x1b" | |
6768 | "\x80\x1b\x82\xcb\x01\x59\x91\x7f" | |
6769 | "\x80\x3a\x98\xf0\xd2\xca\xc4\xc3" | |
6770 | "\x34\xfd\xe6\x11\xf9\x33\x45\x12" | |
6771 | "\x48\xc5\x8c\x25\xf1\xc5\xc5\x23" | |
6772 | "\xd3\x44\xb4\x73\xd5\x04\xc0\xb7" | |
6773 | "\xca\x2f\xf5\xcd\xc5\xb4\xdd\xb0" | |
6774 | "\xf4\x60\xe8\xfb\xc6\x9c\xc5\x78" | |
6775 | "\xcd\xec\x7d\xdc\x19\x9c\x72\x64" | |
6776 | "\x63\x0b\x38\x2e\x76\xdd\x2d\x36" | |
6777 | "\x49\xb0\x1d\xea\x78\x9e\x00\xca" | |
6778 | "\x20\xcc\x1b\x1e\x98\x74\xab\xed" | |
6779 | "\x79\xf7\xd0\x6c\xd8\x93\x80\x29" | |
6780 | "\xac\xa5\x5e\x34\xa9\xab\xa0\x55" | |
6781 | "\x9a\xea\xaa\x95\x4d\x7b\xfe\x46" | |
6782 | "\x26\x8a\xfd\x88\xa2\xa8\xa6\xae" | |
6783 | "\x25\x42\x17\xbf\x76\x8f\x1c\x3d" | |
6784 | "\xec\x9a\xda\x64\x96\xb5\x61\xff" | |
6785 | "\x99\xeb\x12\x96\x85\x82\x9d\xd5" | |
6786 | "\x81\x85\x14\xa8\x59\xac\x8c\x94" | |
6787 | "\xbb\x3b\x85\x2b\xdf\xb3\x0c\xba" | |
6788 | "\x82\xc6\x4d\xca\x86\xea\x53\x28" | |
6789 | "\x4c\xe0\x4e\x31\xe3\x73\x2f\x79" | |
6790 | "\x9d\x42\xe1\x03\xe3\x8b\xc4\xff" | |
6791 | "\x05\xca\x81\x7b\xda\xa2\xde\x63" | |
6792 | "\x3a\x10\xbe\xc2\xac\x32\xc4\x05" | |
6793 | "\x47\x7e\xef\x67\xe2\x5f\x5b\xae" | |
6794 | "\xed\xf1\x70\x34\x16\x9a\x07\x7b" | |
6795 | "\xf2\x25\x2b\xb0\xf8\x3c\x15\x9a" | |
6796 | "\xa6\x59\x55\x5f\xc1\xf4\x1e\xcd" | |
6797 | "\x93\x1f\x06\xba\xd4\x9a\x22\x69" | |
6798 | "\xfa\x8e\x95\x0d\xf3\x23\x59\x2c" | |
6799 | "\xfe\x00\xba\xf0\x0e\xbc\x6d\xd6" | |
6800 | "\x62\xf0\x7a\x0e\x83\x3e\xdb\x32" | |
6801 | "\xfd\x43\x7d\xda\x42\x51\x87\x43" | |
6802 | "\x9d\xf9\xef\xf4\x30\x97\xf8\x09" | |
6803 | "\x88\xfc\x3f\x93\x70\xc1\x4a\xec" | |
6804 | "\x27\x5f\x11\xac\x71\xc7\x48\x46" | |
6805 | "\x2f\xf9\xdf\x8d\x9f\xf7\x2e\x56" | |
6806 | "\x0d\x4e\xb0\x32\x76\xce\x86\x81" | |
6807 | "\xcd\xdf\xe4\x00\xbf\xfd\x5f\x24" | |
6808 | "\xaf\xf7\x9a\xde\xff\x18\xac\x14" | |
6809 | "\x90\xc5\x01\x39\x34\x0f\x24\xf3" | |
6810 | "\x13\x2f\x5e\x4f\x30\x9a\x36\x40" | |
6811 | "\xec\xea\xbc\xcd\x9e\x0e\x5b\x23" | |
6812 | "\x50\x88\x97\x40\x69\xb1\x37\xf5" | |
6813 | "\xc3\x15\xf9\x3f\xb7\x79\x64\xe8" | |
6814 | "\x7b\x10\x20\xb9\x2b\x46\x83\x5b" | |
6815 | "\xd8\x39\xfc\xe4\xfa\x88\x52\xf2" | |
6816 | "\x72\xb0\x97\x4e\x89\xb3\x48\x00" | |
6817 | "\xc1\x16\x73\x50\x77\xba\xa6\x65" | |
6818 | "\x20\x2d\xb0\x02\x27\x89\xda\x99" | |
6819 | "\x45\xfb\xe9\xd3\x1d\x39\x2f\xd6" | |
6820 | "\x2a\xda\x09\x12\x11\xaf\xe6\x57" | |
6821 | "\x01\x04\x8a\xff\x86\x8b\xac\xf8" | |
6822 | "\xee\xe4\x1c\x98\x5b\xcf\x6b\x76" | |
6823 | "\xa3\x0e\x33\x74\x40\x18\x39\x72" | |
6824 | "\x66\x50\x31\xfd\x70\xdf\xe8\x51" | |
6825 | "\x96\x21\x36\xb2\x9b\xfa\x85\xd1" | |
6826 | "\x30\x05\xc8\x92\x98\x80\xff\x7a" | |
6827 | "\xaf\x43\x0b\xc5\x20\x41\x92\x20" | |
6828 | "\xd4\xa0\x91\x98\x11\x5f\x4d\xb1", | |
6829 | .ilen = 512, | |
6830 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
6831 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
6832 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
6833 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
6834 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
6835 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
6836 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6837 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
6838 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
6839 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
6840 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
6841 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
6842 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
6843 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
6844 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
6845 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
6846 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
6847 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
6848 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
6849 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
6850 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
6851 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
6852 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
6853 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
6854 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
6855 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
6856 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
6857 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
6858 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
6859 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
6860 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
6861 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
6862 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
6863 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
6864 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
6865 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
6866 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
6867 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
6868 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
6869 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
6870 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
6871 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
6872 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
6873 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
6874 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
6875 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
6876 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
6877 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
6878 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
6879 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
6880 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
6881 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
6882 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
6883 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
6884 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
6885 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
6886 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
6887 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
6888 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
6889 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
6890 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
6891 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
6892 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
6893 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
6894 | .rlen = 512, | |
6895 | }, | |
6896 | }; | |
6897 | ||
da7f033d | 6898 | /* Cast6 test vectors from RFC 2612 */ |
9b8b0405 JG |
6899 | #define CAST6_ENC_TEST_VECTORS 4 |
6900 | #define CAST6_DEC_TEST_VECTORS 4 | |
6901 | #define CAST6_CBC_ENC_TEST_VECTORS 1 | |
6902 | #define CAST6_CBC_DEC_TEST_VECTORS 1 | |
6903 | #define CAST6_CTR_ENC_TEST_VECTORS 1 | |
6904 | #define CAST6_CTR_DEC_TEST_VECTORS 1 | |
6905 | #define CAST6_LRW_ENC_TEST_VECTORS 1 | |
6906 | #define CAST6_LRW_DEC_TEST_VECTORS 1 | |
6907 | #define CAST6_XTS_ENC_TEST_VECTORS 1 | |
6908 | #define CAST6_XTS_DEC_TEST_VECTORS 1 | |
da7f033d HX |
6909 | |
6910 | static struct cipher_testvec cast6_enc_tv_template[] = { | |
6911 | { | |
6912 | .key = "\x23\x42\xbb\x9e\xfa\x38\x54\x2c" | |
6913 | "\x0a\xf7\x56\x47\xf2\x9f\x61\x5d", | |
6914 | .klen = 16, | |
6915 | .input = zeroed_string, | |
6916 | .ilen = 16, | |
6917 | .result = "\xc8\x42\xa0\x89\x72\xb4\x3d\x20" | |
6918 | "\x83\x6c\x91\xd1\xb7\x53\x0f\x6b", | |
6919 | .rlen = 16, | |
6920 | }, { | |
6921 | .key = "\x23\x42\xbb\x9e\xfa\x38\x54\x2c" | |
6922 | "\xbe\xd0\xac\x83\x94\x0a\xc2\x98" | |
6923 | "\xba\xc7\x7a\x77\x17\x94\x28\x63", | |
6924 | .klen = 24, | |
6925 | .input = zeroed_string, | |
6926 | .ilen = 16, | |
6927 | .result = "\x1b\x38\x6c\x02\x10\xdc\xad\xcb" | |
6928 | "\xdd\x0e\x41\xaa\x08\xa7\xa7\xe8", | |
6929 | .rlen = 16, | |
6930 | }, { | |
6931 | .key = "\x23\x42\xbb\x9e\xfa\x38\x54\x2c" | |
6932 | "\xbe\xd0\xac\x83\x94\x0a\xc2\x98" | |
6933 | "\x8d\x7c\x47\xce\x26\x49\x08\x46" | |
6934 | "\x1c\xc1\xb5\x13\x7a\xe6\xb6\x04", | |
6935 | .klen = 32, | |
6936 | .input = zeroed_string, | |
6937 | .ilen = 16, | |
6938 | .result = "\x4f\x6a\x20\x38\x28\x68\x97\xb9" | |
6939 | "\xc9\x87\x01\x36\x55\x33\x17\xfa", | |
6940 | .rlen = 16, | |
9b8b0405 JG |
6941 | }, { /* Generated from TF test vectors */ |
6942 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
6943 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
6944 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
6945 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
6946 | .klen = 32, | |
6947 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
6948 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
6949 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
6950 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
6951 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
6952 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
6953 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
6954 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
6955 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
6956 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
6957 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
6958 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
6959 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
6960 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
6961 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
6962 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
6963 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
6964 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
6965 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
6966 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
6967 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
6968 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
6969 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
6970 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
6971 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
6972 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
6973 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
6974 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
6975 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
6976 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
6977 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
6978 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
6979 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
6980 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
6981 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
6982 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
6983 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
6984 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
6985 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
6986 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
6987 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
6988 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
6989 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
6990 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
6991 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
6992 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
6993 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
6994 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
6995 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
6996 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
6997 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
6998 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
6999 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
7000 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
7001 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
7002 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
7003 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
7004 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
7005 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
7006 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
7007 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
7008 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
7009 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
7010 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
7011 | .ilen = 496, | |
7012 | .result = "\xC3\x70\x22\x32\xF5\x80\xCB\x54" | |
7013 | "\xFC\x30\xE0\xF6\xEB\x39\x57\xA6" | |
7014 | "\xB6\xB9\xC5\xA4\x91\x55\x14\x97" | |
7015 | "\xC1\x20\xFF\x6C\x5C\xF0\x67\xEA" | |
7016 | "\x2F\xED\xD8\xC9\xFB\x38\x3F\xFE" | |
7017 | "\x93\xBE\xDC\x00\xD3\x7F\xAD\x4C" | |
7018 | "\x5A\x08\x92\xD1\x47\x0C\xFA\x6C" | |
7019 | "\xD0\x6A\x99\x10\x72\xF8\x47\x62" | |
7020 | "\x81\x42\xF8\xD8\xF5\xBB\x94\x08" | |
7021 | "\xAA\x97\xA2\x8B\x69\xB3\xD2\x7E" | |
7022 | "\xBC\xB5\x00\x0C\xE5\x44\x4B\x58" | |
7023 | "\xE8\x63\xDC\xB3\xC4\xE5\x23\x12" | |
7024 | "\x5A\x72\x85\x47\x8B\xEC\x9F\x26" | |
7025 | "\x84\xB6\xED\x10\x33\x63\x9B\x5F" | |
7026 | "\x4D\x53\xEE\x94\x45\x8B\x60\x58" | |
7027 | "\x86\x20\xF9\x1E\x82\x08\x3E\x58" | |
7028 | "\x60\x1B\x34\x19\x02\xBE\x4E\x09" | |
7029 | "\xBB\x7C\x15\xCC\x60\x27\x55\x7A" | |
7030 | "\x12\xB8\xD8\x08\x89\x3C\xA6\xF3" | |
7031 | "\xF1\xDD\xA7\x07\xA3\x12\x85\x28" | |
7032 | "\xE9\x57\xAC\x80\x0C\x5C\x0F\x3A" | |
7033 | "\x5D\xC2\x91\xC7\x90\xE4\x8C\x43" | |
7034 | "\x92\xE4\x7C\x26\x69\x4D\x83\x68" | |
7035 | "\x14\x96\x42\x47\xBD\xA9\xE4\x8A" | |
7036 | "\x33\x19\xEB\x54\x8E\x0D\x4B\x6E" | |
7037 | "\x91\x51\xB5\x36\x08\xDE\x1C\x06" | |
7038 | "\x03\xBD\xDE\x81\x26\xF7\x99\xC2" | |
7039 | "\xBA\xF7\x6D\x87\x0D\xE4\xA6\xCF" | |
7040 | "\xC1\xF5\x27\x05\xB8\x02\x57\x72" | |
7041 | "\xE6\x42\x13\x0B\xC6\x47\x05\x74" | |
7042 | "\x24\x15\xF7\x0D\xC2\x23\x9D\xB9" | |
7043 | "\x3C\x77\x18\x93\xBA\xB4\xFC\x8C" | |
7044 | "\x98\x82\x67\x67\xB4\xD7\xD3\x43" | |
7045 | "\x23\x08\x02\xB7\x9B\x99\x05\xFB" | |
7046 | "\xD3\xB5\x00\x0A\xA9\x9D\x66\xD6" | |
7047 | "\x2E\x49\x58\xD0\xA8\x57\x29\x7F" | |
7048 | "\x0A\x0E\x7D\xFC\x92\x83\xCC\x67" | |
7049 | "\xA2\xB1\x70\x3A\x8F\x87\x4A\x8D" | |
7050 | "\x17\xE2\x58\x2B\x88\x0D\x68\x62" | |
7051 | "\xBF\x35\xD1\x6F\xC0\xF0\x18\x62" | |
7052 | "\xB2\xC7\x2D\x58\xC7\x16\xDE\x08" | |
7053 | "\xEB\x84\x1D\x25\xA7\x38\x94\x06" | |
7054 | "\x93\x9D\xF8\xFE\x88\x71\xE7\x84" | |
7055 | "\x2C\xA0\x38\xA3\x1D\x48\xCF\x29" | |
7056 | "\x0B\xBC\xD8\x50\x99\x1A\x26\xFB" | |
7057 | "\x8E\x75\x3D\x73\xEB\x6A\xED\x29" | |
7058 | "\xE0\x8E\xED\xFC\xFE\x6F\xF6\xBA" | |
7059 | "\x41\xE2\x10\x4C\x01\x8B\x69\x2B" | |
7060 | "\x25\x3F\x4D\x70\x7B\x92\xD6\x3B" | |
7061 | "\xAC\xF9\x77\x18\xD9\x6A\x30\xA6" | |
7062 | "\x2E\xFA\x30\xFF\xC8\xD5\x1D\x06" | |
7063 | "\x59\x28\x1D\x86\x43\x04\x5D\x3B" | |
7064 | "\x99\x4C\x04\x5A\x21\x17\x8B\x76" | |
7065 | "\x8F\x72\xCB\xA1\x9C\x29\x4C\xC3" | |
7066 | "\x65\xA2\x58\x2A\xC5\x66\x24\xBF" | |
7067 | "\xBA\xE6\x0C\xDD\x34\x24\x74\xC8" | |
7068 | "\x84\x0A\x66\x2C\xBE\x8F\x32\xA9" | |
7069 | "\xE7\xE4\xA1\xD7\xDA\xAB\x23\x1E" | |
7070 | "\xEB\xEE\x6C\x94\x6F\x9C\x2E\xD1" | |
7071 | "\x49\x2C\xF3\xD4\x90\xCC\x93\x4C" | |
7072 | "\x84\x52\x6D\x68\xDE\xC6\x64\xB2" | |
7073 | "\x11\x74\x93\x57\xB4\x7E\xC6\x00", | |
7074 | .rlen = 496, | |
da7f033d HX |
7075 | }, |
7076 | }; | |
7077 | ||
7078 | static struct cipher_testvec cast6_dec_tv_template[] = { | |
7079 | { | |
7080 | .key = "\x23\x42\xbb\x9e\xfa\x38\x54\x2c" | |
7081 | "\x0a\xf7\x56\x47\xf2\x9f\x61\x5d", | |
7082 | .klen = 16, | |
7083 | .input = "\xc8\x42\xa0\x89\x72\xb4\x3d\x20" | |
7084 | "\x83\x6c\x91\xd1\xb7\x53\x0f\x6b", | |
7085 | .ilen = 16, | |
7086 | .result = zeroed_string, | |
7087 | .rlen = 16, | |
7088 | }, { | |
7089 | .key = "\x23\x42\xbb\x9e\xfa\x38\x54\x2c" | |
7090 | "\xbe\xd0\xac\x83\x94\x0a\xc2\x98" | |
7091 | "\xba\xc7\x7a\x77\x17\x94\x28\x63", | |
7092 | .klen = 24, | |
7093 | .input = "\x1b\x38\x6c\x02\x10\xdc\xad\xcb" | |
7094 | "\xdd\x0e\x41\xaa\x08\xa7\xa7\xe8", | |
7095 | .ilen = 16, | |
7096 | .result = zeroed_string, | |
7097 | .rlen = 16, | |
7098 | }, { | |
7099 | .key = "\x23\x42\xbb\x9e\xfa\x38\x54\x2c" | |
7100 | "\xbe\xd0\xac\x83\x94\x0a\xc2\x98" | |
7101 | "\x8d\x7c\x47\xce\x26\x49\x08\x46" | |
7102 | "\x1c\xc1\xb5\x13\x7a\xe6\xb6\x04", | |
7103 | .klen = 32, | |
7104 | .input = "\x4f\x6a\x20\x38\x28\x68\x97\xb9" | |
7105 | "\xc9\x87\x01\x36\x55\x33\x17\xfa", | |
7106 | .ilen = 16, | |
7107 | .result = zeroed_string, | |
7108 | .rlen = 16, | |
9b8b0405 JG |
7109 | }, { /* Generated from TF test vectors */ |
7110 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
7111 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
7112 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
7113 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
7114 | .klen = 32, | |
7115 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
7116 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
7117 | .input = "\xC3\x70\x22\x32\xF5\x80\xCB\x54" | |
7118 | "\xFC\x30\xE0\xF6\xEB\x39\x57\xA6" | |
7119 | "\xB6\xB9\xC5\xA4\x91\x55\x14\x97" | |
7120 | "\xC1\x20\xFF\x6C\x5C\xF0\x67\xEA" | |
7121 | "\x2F\xED\xD8\xC9\xFB\x38\x3F\xFE" | |
7122 | "\x93\xBE\xDC\x00\xD3\x7F\xAD\x4C" | |
7123 | "\x5A\x08\x92\xD1\x47\x0C\xFA\x6C" | |
7124 | "\xD0\x6A\x99\x10\x72\xF8\x47\x62" | |
7125 | "\x81\x42\xF8\xD8\xF5\xBB\x94\x08" | |
7126 | "\xAA\x97\xA2\x8B\x69\xB3\xD2\x7E" | |
7127 | "\xBC\xB5\x00\x0C\xE5\x44\x4B\x58" | |
7128 | "\xE8\x63\xDC\xB3\xC4\xE5\x23\x12" | |
7129 | "\x5A\x72\x85\x47\x8B\xEC\x9F\x26" | |
7130 | "\x84\xB6\xED\x10\x33\x63\x9B\x5F" | |
7131 | "\x4D\x53\xEE\x94\x45\x8B\x60\x58" | |
7132 | "\x86\x20\xF9\x1E\x82\x08\x3E\x58" | |
7133 | "\x60\x1B\x34\x19\x02\xBE\x4E\x09" | |
7134 | "\xBB\x7C\x15\xCC\x60\x27\x55\x7A" | |
7135 | "\x12\xB8\xD8\x08\x89\x3C\xA6\xF3" | |
7136 | "\xF1\xDD\xA7\x07\xA3\x12\x85\x28" | |
7137 | "\xE9\x57\xAC\x80\x0C\x5C\x0F\x3A" | |
7138 | "\x5D\xC2\x91\xC7\x90\xE4\x8C\x43" | |
7139 | "\x92\xE4\x7C\x26\x69\x4D\x83\x68" | |
7140 | "\x14\x96\x42\x47\xBD\xA9\xE4\x8A" | |
7141 | "\x33\x19\xEB\x54\x8E\x0D\x4B\x6E" | |
7142 | "\x91\x51\xB5\x36\x08\xDE\x1C\x06" | |
7143 | "\x03\xBD\xDE\x81\x26\xF7\x99\xC2" | |
7144 | "\xBA\xF7\x6D\x87\x0D\xE4\xA6\xCF" | |
7145 | "\xC1\xF5\x27\x05\xB8\x02\x57\x72" | |
7146 | "\xE6\x42\x13\x0B\xC6\x47\x05\x74" | |
7147 | "\x24\x15\xF7\x0D\xC2\x23\x9D\xB9" | |
7148 | "\x3C\x77\x18\x93\xBA\xB4\xFC\x8C" | |
7149 | "\x98\x82\x67\x67\xB4\xD7\xD3\x43" | |
7150 | "\x23\x08\x02\xB7\x9B\x99\x05\xFB" | |
7151 | "\xD3\xB5\x00\x0A\xA9\x9D\x66\xD6" | |
7152 | "\x2E\x49\x58\xD0\xA8\x57\x29\x7F" | |
7153 | "\x0A\x0E\x7D\xFC\x92\x83\xCC\x67" | |
7154 | "\xA2\xB1\x70\x3A\x8F\x87\x4A\x8D" | |
7155 | "\x17\xE2\x58\x2B\x88\x0D\x68\x62" | |
7156 | "\xBF\x35\xD1\x6F\xC0\xF0\x18\x62" | |
7157 | "\xB2\xC7\x2D\x58\xC7\x16\xDE\x08" | |
7158 | "\xEB\x84\x1D\x25\xA7\x38\x94\x06" | |
7159 | "\x93\x9D\xF8\xFE\x88\x71\xE7\x84" | |
7160 | "\x2C\xA0\x38\xA3\x1D\x48\xCF\x29" | |
7161 | "\x0B\xBC\xD8\x50\x99\x1A\x26\xFB" | |
7162 | "\x8E\x75\x3D\x73\xEB\x6A\xED\x29" | |
7163 | "\xE0\x8E\xED\xFC\xFE\x6F\xF6\xBA" | |
7164 | "\x41\xE2\x10\x4C\x01\x8B\x69\x2B" | |
7165 | "\x25\x3F\x4D\x70\x7B\x92\xD6\x3B" | |
7166 | "\xAC\xF9\x77\x18\xD9\x6A\x30\xA6" | |
7167 | "\x2E\xFA\x30\xFF\xC8\xD5\x1D\x06" | |
7168 | "\x59\x28\x1D\x86\x43\x04\x5D\x3B" | |
7169 | "\x99\x4C\x04\x5A\x21\x17\x8B\x76" | |
7170 | "\x8F\x72\xCB\xA1\x9C\x29\x4C\xC3" | |
7171 | "\x65\xA2\x58\x2A\xC5\x66\x24\xBF" | |
7172 | "\xBA\xE6\x0C\xDD\x34\x24\x74\xC8" | |
7173 | "\x84\x0A\x66\x2C\xBE\x8F\x32\xA9" | |
7174 | "\xE7\xE4\xA1\xD7\xDA\xAB\x23\x1E" | |
7175 | "\xEB\xEE\x6C\x94\x6F\x9C\x2E\xD1" | |
7176 | "\x49\x2C\xF3\xD4\x90\xCC\x93\x4C" | |
7177 | "\x84\x52\x6D\x68\xDE\xC6\x64\xB2" | |
7178 | "\x11\x74\x93\x57\xB4\x7E\xC6\x00", | |
7179 | .ilen = 496, | |
7180 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
7181 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
7182 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
7183 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
7184 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
7185 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
7186 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
7187 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
7188 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
7189 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
7190 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
7191 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
7192 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
7193 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
7194 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
7195 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
7196 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
7197 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
7198 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
7199 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
7200 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
7201 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
7202 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
7203 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
7204 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
7205 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
7206 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
7207 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
7208 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
7209 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
7210 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
7211 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
7212 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
7213 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
7214 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
7215 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
7216 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
7217 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
7218 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
7219 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
7220 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
7221 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
7222 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
7223 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
7224 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
7225 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
7226 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
7227 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
7228 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
7229 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
7230 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
7231 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
7232 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
7233 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
7234 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
7235 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
7236 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
7237 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
7238 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
7239 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
7240 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
7241 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
7242 | .rlen = 496, | |
7243 | }, | |
7244 | }; | |
7245 | ||
7246 | static struct cipher_testvec cast6_cbc_enc_tv_template[] = { | |
7247 | { /* Generated from TF test vectors */ | |
7248 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
7249 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
7250 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
7251 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
7252 | .klen = 32, | |
7253 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
7254 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
7255 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
7256 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
7257 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
7258 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
7259 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
7260 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
7261 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
7262 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
7263 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
7264 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
7265 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
7266 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
7267 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
7268 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
7269 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
7270 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
7271 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
7272 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
7273 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
7274 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
7275 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
7276 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
7277 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
7278 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
7279 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
7280 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
7281 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
7282 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
7283 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
7284 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
7285 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
7286 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
7287 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
7288 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
7289 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
7290 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
7291 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
7292 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
7293 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
7294 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
7295 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
7296 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
7297 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
7298 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
7299 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
7300 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
7301 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
7302 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
7303 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
7304 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
7305 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
7306 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
7307 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
7308 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
7309 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
7310 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
7311 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
7312 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
7313 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
7314 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
7315 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
7316 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
7317 | .ilen = 496, | |
7318 | .result = "\xDF\x77\x68\x96\xC7\xBA\xF8\xE2" | |
7319 | "\x0E\x24\x99\x1A\xAA\xF3\xC6\x9F" | |
7320 | "\xA0\x73\xB3\x70\xC3\x68\x64\x70" | |
7321 | "\xAD\x33\x02\xFB\x88\x74\xAA\x78" | |
7322 | "\xC7\x47\x1A\x18\x61\x2D\xAC\x9F" | |
7323 | "\x7E\x6F\xDF\x05\x13\x76\xA6\x72" | |
7324 | "\xB7\x13\x09\x0F\x7D\x38\xDF\x25" | |
7325 | "\x4E\xFD\x50\x45\xFA\x35\x6A\xC0" | |
7326 | "\x57\x95\xE1\x21\x26\x10\x9A\x21" | |
7327 | "\xA1\x8A\x51\x05\xD1\xB1\x78\x35" | |
7328 | "\x98\xF5\xAE\xC0\xC1\x8B\x94\xFF" | |
7329 | "\xD0\x69\x3F\x42\xC2\x01\xA7\x9B" | |
7330 | "\x23\x16\x47\x72\x81\x13\x3A\x72" | |
7331 | "\xEC\xD9\x40\x88\x00\x9C\xB0\xA8" | |
7332 | "\x9C\xAC\xCE\x11\x73\x7B\x63\x3E" | |
7333 | "\xA3\x63\x98\x7D\x35\xE4\xD9\x83" | |
7334 | "\xE2\xD0\x52\x87\x0C\x1F\xB0\xB3" | |
7335 | "\x41\x1A\x93\x8D\x76\x31\x9F\xF2" | |
7336 | "\xFE\x09\xA3\x8F\x22\x6A\x3B\xB9" | |
7337 | "\x6C\x9E\xE4\xA1\xA0\xC4\xE7\xA1" | |
7338 | "\x21\x9C\x1A\xCA\x65\xDE\x44\x03" | |
7339 | "\x99\xF2\xD2\x39\xE3\x3F\x0F\x37" | |
7340 | "\x53\x50\x23\xA4\x81\x6E\xDA\xFB" | |
7341 | "\xF8\x7B\x01\xD7\xB2\x32\x9C\xB8" | |
7342 | "\xB1\x0E\x99\x17\xB5\x38\xF9\xD7" | |
7343 | "\x86\x2D\x6E\x94\x5C\x99\x9D\xB3" | |
7344 | "\xD3\x63\x4B\x2A\x7D\x44\x6A\xB2" | |
7345 | "\xC1\x03\xE6\x5A\x37\xD8\x64\x18" | |
7346 | "\xAA\x32\xCE\x29\xED\xC0\xA2\xCB" | |
7347 | "\x8D\xAF\xCD\xBE\x8F\xB6\xEC\xB4" | |
7348 | "\x89\x05\x81\x6E\x71\x4F\xC3\x28" | |
7349 | "\x10\xC1\x62\xC4\x41\xE9\xD2\x39" | |
7350 | "\xF3\x22\x39\x12\x2C\xC2\x95\x2D" | |
7351 | "\xBF\x93\x58\x4B\x04\xD1\x8D\x57" | |
7352 | "\xAE\xEB\x60\x03\x56\x35\xAD\x5A" | |
7353 | "\xE9\xC3\xFF\x4E\x31\xE1\x37\xF8" | |
7354 | "\x7D\xEE\x65\x8A\xB6\x88\x1A\x3E" | |
7355 | "\x07\x09\x82\xBA\xF0\x80\x8A\xD0" | |
7356 | "\xA0\x3F\x6A\xE9\x24\x87\x19\x65" | |
7357 | "\x73\x3F\x12\x91\x47\x54\xBA\x39" | |
7358 | "\x30\x5B\x1E\xE5\xC2\xF9\x3F\xEF" | |
7359 | "\xD6\x75\xF9\xB8\x7C\x8B\x05\x76" | |
7360 | "\xEE\xB7\x08\x25\x4B\xB6\x7B\x47" | |
7361 | "\x72\xC0\x4C\xD4\xDA\xE0\x75\xF1" | |
7362 | "\x7C\xE8\x94\x9E\x16\x6E\xB8\x12" | |
7363 | "\xA1\xC1\x6E\x3B\x1C\x59\x41\x2D" | |
7364 | "\x23\xFA\x7D\x77\xB8\x46\x75\xFE" | |
7365 | "\x4F\x10\xD3\x09\x60\xA1\x36\x96" | |
7366 | "\x5B\xC2\xDC\x6E\x84\x7D\x9B\x14" | |
7367 | "\x80\x21\x83\x58\x3C\x76\xFD\x28" | |
7368 | "\x1D\xF9\x93\x13\xD7\x0E\x62\x14" | |
7369 | "\x5A\xC5\x4E\x08\xA5\x56\xA4\x3C" | |
7370 | "\x68\x93\x44\x70\xDF\xCF\x4A\x51" | |
7371 | "\x0B\x81\x29\x41\xE5\x62\x4D\x36" | |
7372 | "\xB3\xEA\x94\xA6\xB9\xDD\x3F\x09" | |
7373 | "\x62\x34\xA0\x6A\x7E\x7D\xF5\xF6" | |
7374 | "\x01\x91\xB4\x27\xDA\x59\xD6\x17" | |
7375 | "\x56\x4D\x82\x62\x37\xA3\x48\x01" | |
7376 | "\x99\x91\x77\xB2\x08\x6B\x2C\x37" | |
7377 | "\xC5\x5C\xAD\xB6\x07\xB6\x84\xF3" | |
7378 | "\x4D\x59\x7D\xC5\x28\x69\xFA\x92" | |
7379 | "\x22\x46\x89\x2D\x0F\x2B\x08\x24", | |
7380 | .rlen = 496, | |
7381 | }, | |
7382 | }; | |
7383 | ||
7384 | static struct cipher_testvec cast6_cbc_dec_tv_template[] = { | |
7385 | { /* Generated from TF test vectors */ | |
7386 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
7387 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
7388 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
7389 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
7390 | .klen = 32, | |
7391 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
7392 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
7393 | .input = "\xDF\x77\x68\x96\xC7\xBA\xF8\xE2" | |
7394 | "\x0E\x24\x99\x1A\xAA\xF3\xC6\x9F" | |
7395 | "\xA0\x73\xB3\x70\xC3\x68\x64\x70" | |
7396 | "\xAD\x33\x02\xFB\x88\x74\xAA\x78" | |
7397 | "\xC7\x47\x1A\x18\x61\x2D\xAC\x9F" | |
7398 | "\x7E\x6F\xDF\x05\x13\x76\xA6\x72" | |
7399 | "\xB7\x13\x09\x0F\x7D\x38\xDF\x25" | |
7400 | "\x4E\xFD\x50\x45\xFA\x35\x6A\xC0" | |
7401 | "\x57\x95\xE1\x21\x26\x10\x9A\x21" | |
7402 | "\xA1\x8A\x51\x05\xD1\xB1\x78\x35" | |
7403 | "\x98\xF5\xAE\xC0\xC1\x8B\x94\xFF" | |
7404 | "\xD0\x69\x3F\x42\xC2\x01\xA7\x9B" | |
7405 | "\x23\x16\x47\x72\x81\x13\x3A\x72" | |
7406 | "\xEC\xD9\x40\x88\x00\x9C\xB0\xA8" | |
7407 | "\x9C\xAC\xCE\x11\x73\x7B\x63\x3E" | |
7408 | "\xA3\x63\x98\x7D\x35\xE4\xD9\x83" | |
7409 | "\xE2\xD0\x52\x87\x0C\x1F\xB0\xB3" | |
7410 | "\x41\x1A\x93\x8D\x76\x31\x9F\xF2" | |
7411 | "\xFE\x09\xA3\x8F\x22\x6A\x3B\xB9" | |
7412 | "\x6C\x9E\xE4\xA1\xA0\xC4\xE7\xA1" | |
7413 | "\x21\x9C\x1A\xCA\x65\xDE\x44\x03" | |
7414 | "\x99\xF2\xD2\x39\xE3\x3F\x0F\x37" | |
7415 | "\x53\x50\x23\xA4\x81\x6E\xDA\xFB" | |
7416 | "\xF8\x7B\x01\xD7\xB2\x32\x9C\xB8" | |
7417 | "\xB1\x0E\x99\x17\xB5\x38\xF9\xD7" | |
7418 | "\x86\x2D\x6E\x94\x5C\x99\x9D\xB3" | |
7419 | "\xD3\x63\x4B\x2A\x7D\x44\x6A\xB2" | |
7420 | "\xC1\x03\xE6\x5A\x37\xD8\x64\x18" | |
7421 | "\xAA\x32\xCE\x29\xED\xC0\xA2\xCB" | |
7422 | "\x8D\xAF\xCD\xBE\x8F\xB6\xEC\xB4" | |
7423 | "\x89\x05\x81\x6E\x71\x4F\xC3\x28" | |
7424 | "\x10\xC1\x62\xC4\x41\xE9\xD2\x39" | |
7425 | "\xF3\x22\x39\x12\x2C\xC2\x95\x2D" | |
7426 | "\xBF\x93\x58\x4B\x04\xD1\x8D\x57" | |
7427 | "\xAE\xEB\x60\x03\x56\x35\xAD\x5A" | |
7428 | "\xE9\xC3\xFF\x4E\x31\xE1\x37\xF8" | |
7429 | "\x7D\xEE\x65\x8A\xB6\x88\x1A\x3E" | |
7430 | "\x07\x09\x82\xBA\xF0\x80\x8A\xD0" | |
7431 | "\xA0\x3F\x6A\xE9\x24\x87\x19\x65" | |
7432 | "\x73\x3F\x12\x91\x47\x54\xBA\x39" | |
7433 | "\x30\x5B\x1E\xE5\xC2\xF9\x3F\xEF" | |
7434 | "\xD6\x75\xF9\xB8\x7C\x8B\x05\x76" | |
7435 | "\xEE\xB7\x08\x25\x4B\xB6\x7B\x47" | |
7436 | "\x72\xC0\x4C\xD4\xDA\xE0\x75\xF1" | |
7437 | "\x7C\xE8\x94\x9E\x16\x6E\xB8\x12" | |
7438 | "\xA1\xC1\x6E\x3B\x1C\x59\x41\x2D" | |
7439 | "\x23\xFA\x7D\x77\xB8\x46\x75\xFE" | |
7440 | "\x4F\x10\xD3\x09\x60\xA1\x36\x96" | |
7441 | "\x5B\xC2\xDC\x6E\x84\x7D\x9B\x14" | |
7442 | "\x80\x21\x83\x58\x3C\x76\xFD\x28" | |
7443 | "\x1D\xF9\x93\x13\xD7\x0E\x62\x14" | |
7444 | "\x5A\xC5\x4E\x08\xA5\x56\xA4\x3C" | |
7445 | "\x68\x93\x44\x70\xDF\xCF\x4A\x51" | |
7446 | "\x0B\x81\x29\x41\xE5\x62\x4D\x36" | |
7447 | "\xB3\xEA\x94\xA6\xB9\xDD\x3F\x09" | |
7448 | "\x62\x34\xA0\x6A\x7E\x7D\xF5\xF6" | |
7449 | "\x01\x91\xB4\x27\xDA\x59\xD6\x17" | |
7450 | "\x56\x4D\x82\x62\x37\xA3\x48\x01" | |
7451 | "\x99\x91\x77\xB2\x08\x6B\x2C\x37" | |
7452 | "\xC5\x5C\xAD\xB6\x07\xB6\x84\xF3" | |
7453 | "\x4D\x59\x7D\xC5\x28\x69\xFA\x92" | |
7454 | "\x22\x46\x89\x2D\x0F\x2B\x08\x24", | |
7455 | .ilen = 496, | |
7456 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
7457 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
7458 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
7459 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
7460 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
7461 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
7462 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
7463 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
7464 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
7465 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
7466 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
7467 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
7468 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
7469 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
7470 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
7471 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
7472 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
7473 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
7474 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
7475 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
7476 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
7477 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
7478 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
7479 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
7480 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
7481 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
7482 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
7483 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
7484 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
7485 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
7486 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
7487 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
7488 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
7489 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
7490 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
7491 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
7492 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
7493 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
7494 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
7495 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
7496 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
7497 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
7498 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
7499 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
7500 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
7501 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
7502 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
7503 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
7504 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
7505 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
7506 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
7507 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
7508 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
7509 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
7510 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
7511 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
7512 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
7513 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
7514 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
7515 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
7516 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
7517 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
7518 | .rlen = 496, | |
7519 | }, | |
7520 | }; | |
7521 | ||
7522 | static struct cipher_testvec cast6_ctr_enc_tv_template[] = { | |
7523 | { /* Generated from TF test vectors */ | |
7524 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
7525 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
7526 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
7527 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
7528 | .klen = 32, | |
7529 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
7530 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
7531 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
7532 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
7533 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
7534 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
7535 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
7536 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
7537 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
7538 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
7539 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
7540 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
7541 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
7542 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
7543 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
7544 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
7545 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
7546 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
7547 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
7548 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
7549 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
7550 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
7551 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
7552 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
7553 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
7554 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
7555 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
7556 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
7557 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
7558 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
7559 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
7560 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
7561 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
7562 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
7563 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
7564 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
7565 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
7566 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
7567 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
7568 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
7569 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
7570 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
7571 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
7572 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
7573 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
7574 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
7575 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
7576 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
7577 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
7578 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
7579 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
7580 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
7581 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
7582 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
7583 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
7584 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
7585 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
7586 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
7587 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
7588 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
7589 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
7590 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
7591 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
7592 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
7593 | .ilen = 496, | |
7594 | .result = "\x26\x0A\xF1\xE2\x3F\x8A\xEF\xA3" | |
7595 | "\x53\x9A\x5E\x1B\x2A\x1A\xC6\x0A" | |
7596 | "\x57\xA3\xEF\x47\x2A\xE8\x88\xA7" | |
7597 | "\x3C\xD0\xEC\xB9\x94\x50\x7D\x56" | |
7598 | "\xBC\xE1\xC1\xF5\xE1\xEE\x12\xF8" | |
7599 | "\x4F\x03\x82\x3A\x93\x6B\x4C\xD3" | |
7600 | "\xE3\xF3\xFA\xC2\x23\x55\x98\x20" | |
7601 | "\x49\x76\x9B\x6B\xC1\x23\xBF\xE5" | |
7602 | "\xD4\xC4\x2F\x61\xE1\x67\x2A\x30" | |
7603 | "\x6F\x29\xCA\x54\xF8\x1B\xA6\x7D" | |
7604 | "\x66\x45\xEE\xC8\x19\xBE\x50\xF0" | |
7605 | "\x5F\x65\xF8\x1E\x4D\x07\x87\xD9" | |
7606 | "\xD3\xD9\x1B\x09\x89\xFD\x42\xC5" | |
7607 | "\xDB\xEB\x86\xF1\x67\x04\x0F\x5C" | |
7608 | "\x81\xDF\x82\x12\xC7\x4C\x1B\x07" | |
7609 | "\xDE\xE6\xFA\x29\x86\xD1\xB0\xBA" | |
7610 | "\x3D\x6A\x69\x76\xEC\x0F\xB4\xE6" | |
7611 | "\xCD\xA7\xF8\xA8\xB8\xE0\x33\xF5" | |
7612 | "\x49\x61\x22\x52\x64\x8C\x46\x41" | |
7613 | "\x1F\x48\x5F\x4F\xA2\x89\x36\x17" | |
7614 | "\x20\xF8\x2F\x8F\x4B\xFA\xF2\xC0" | |
7615 | "\x1E\x18\xA2\xF8\xB7\x6D\x98\xE3" | |
7616 | "\x00\x14\x15\x59\xC1\x30\x64\xAF" | |
7617 | "\xA8\x01\x38\xAB\xD4\x8B\xEC\x7C" | |
7618 | "\x44\x9A\xC6\x2C\x2E\x2B\x2B\xF4" | |
7619 | "\x02\x37\xC4\x69\xEF\x36\xC1\xF3" | |
7620 | "\xA0\xFB\xFE\x29\xAD\x39\xCF\xD0" | |
7621 | "\x51\x73\xA3\x22\x42\x41\xAB\xD2" | |
7622 | "\x0F\x50\x14\xB9\x54\xD3\xD4\xFA" | |
7623 | "\xBF\xC9\xBB\xCE\xC4\x1D\x2D\xAF" | |
7624 | "\xC9\x3F\x07\x87\x42\x4B\x3A\x54" | |
7625 | "\x34\x8E\x37\xA3\x03\x6F\x65\x66" | |
7626 | "\xDB\x44\xC3\xE8\xD7\xDD\x7D\xDD" | |
7627 | "\x61\xB4\x2B\x80\xA3\x98\x13\xF5" | |
7628 | "\x5A\xD3\x34\x58\xC3\x6E\xF6\xB8" | |
7629 | "\x0A\xC6\x50\x01\x8E\xD5\x6C\x7D" | |
7630 | "\xFE\x16\xB6\xCF\xFC\x51\x40\xAE" | |
7631 | "\xB3\x15\xAC\x90\x6F\x0B\x28\x3A" | |
7632 | "\x60\x40\x38\x90\x20\x46\xC7\xB3" | |
7633 | "\x0B\x12\x6D\x3B\x15\x14\xF9\xF4" | |
7634 | "\x11\x41\x76\x6B\xB3\x60\x82\x3C" | |
7635 | "\x84\xFB\x08\x2E\x92\x25\xCB\x79" | |
7636 | "\x6F\x58\xC5\x94\x00\x00\x47\xB6" | |
7637 | "\x9E\xDC\x0F\x29\x70\x46\x20\x76" | |
7638 | "\x65\x75\x66\x5C\x00\x96\xB3\xE1" | |
7639 | "\x0B\xA7\x11\x8B\x2E\x61\x4E\x45" | |
7640 | "\x73\xFC\x91\xAB\x79\x41\x23\x14" | |
7641 | "\x13\xB6\x72\x6C\x46\xB3\x03\x11" | |
7642 | "\xE4\xF1\xEE\xC9\x7A\xCF\x96\x32" | |
7643 | "\xB6\xF0\x8B\x97\xB4\xCF\x82\xB7" | |
7644 | "\x15\x48\x44\x99\x09\xF6\xE0\xD7" | |
7645 | "\xBC\xF1\x5B\x91\x4F\x30\x22\xA2" | |
7646 | "\x45\xC4\x68\x55\xC2\xBE\xA7\xD2" | |
7647 | "\x12\x53\x35\x9C\xF9\xE7\x35\x5D" | |
7648 | "\x81\xE4\x86\x42\xC3\x58\xFB\xF0" | |
7649 | "\x38\x9B\x8E\x5A\xEF\x83\x33\x0F" | |
7650 | "\x00\x4E\x3F\x9F\xF5\x84\x62\xC4" | |
7651 | "\x19\x35\x88\x22\x45\x59\x0E\x8F" | |
7652 | "\xEC\x27\xDD\x4A\xA4\x1F\xBC\x41" | |
7653 | "\x9B\x66\x8D\x32\xBA\x81\x34\x87" | |
7654 | "\x0E\x74\x33\x30\x62\xB9\x89\xDF" | |
7655 | "\xF9\xC5\xDD\x27\xB3\x39\xCB\xCB", | |
7656 | .rlen = 496, | |
7657 | }, | |
7658 | }; | |
7659 | ||
7660 | static struct cipher_testvec cast6_ctr_dec_tv_template[] = { | |
7661 | { /* Generated from TF test vectors */ | |
7662 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
7663 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
7664 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
7665 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
7666 | .klen = 32, | |
7667 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
7668 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
7669 | .input = "\x26\x0A\xF1\xE2\x3F\x8A\xEF\xA3" | |
7670 | "\x53\x9A\x5E\x1B\x2A\x1A\xC6\x0A" | |
7671 | "\x57\xA3\xEF\x47\x2A\xE8\x88\xA7" | |
7672 | "\x3C\xD0\xEC\xB9\x94\x50\x7D\x56" | |
7673 | "\xBC\xE1\xC1\xF5\xE1\xEE\x12\xF8" | |
7674 | "\x4F\x03\x82\x3A\x93\x6B\x4C\xD3" | |
7675 | "\xE3\xF3\xFA\xC2\x23\x55\x98\x20" | |
7676 | "\x49\x76\x9B\x6B\xC1\x23\xBF\xE5" | |
7677 | "\xD4\xC4\x2F\x61\xE1\x67\x2A\x30" | |
7678 | "\x6F\x29\xCA\x54\xF8\x1B\xA6\x7D" | |
7679 | "\x66\x45\xEE\xC8\x19\xBE\x50\xF0" | |
7680 | "\x5F\x65\xF8\x1E\x4D\x07\x87\xD9" | |
7681 | "\xD3\xD9\x1B\x09\x89\xFD\x42\xC5" | |
7682 | "\xDB\xEB\x86\xF1\x67\x04\x0F\x5C" | |
7683 | "\x81\xDF\x82\x12\xC7\x4C\x1B\x07" | |
7684 | "\xDE\xE6\xFA\x29\x86\xD1\xB0\xBA" | |
7685 | "\x3D\x6A\x69\x76\xEC\x0F\xB4\xE6" | |
7686 | "\xCD\xA7\xF8\xA8\xB8\xE0\x33\xF5" | |
7687 | "\x49\x61\x22\x52\x64\x8C\x46\x41" | |
7688 | "\x1F\x48\x5F\x4F\xA2\x89\x36\x17" | |
7689 | "\x20\xF8\x2F\x8F\x4B\xFA\xF2\xC0" | |
7690 | "\x1E\x18\xA2\xF8\xB7\x6D\x98\xE3" | |
7691 | "\x00\x14\x15\x59\xC1\x30\x64\xAF" | |
7692 | "\xA8\x01\x38\xAB\xD4\x8B\xEC\x7C" | |
7693 | "\x44\x9A\xC6\x2C\x2E\x2B\x2B\xF4" | |
7694 | "\x02\x37\xC4\x69\xEF\x36\xC1\xF3" | |
7695 | "\xA0\xFB\xFE\x29\xAD\x39\xCF\xD0" | |
7696 | "\x51\x73\xA3\x22\x42\x41\xAB\xD2" | |
7697 | "\x0F\x50\x14\xB9\x54\xD3\xD4\xFA" | |
7698 | "\xBF\xC9\xBB\xCE\xC4\x1D\x2D\xAF" | |
7699 | "\xC9\x3F\x07\x87\x42\x4B\x3A\x54" | |
7700 | "\x34\x8E\x37\xA3\x03\x6F\x65\x66" | |
7701 | "\xDB\x44\xC3\xE8\xD7\xDD\x7D\xDD" | |
7702 | "\x61\xB4\x2B\x80\xA3\x98\x13\xF5" | |
7703 | "\x5A\xD3\x34\x58\xC3\x6E\xF6\xB8" | |
7704 | "\x0A\xC6\x50\x01\x8E\xD5\x6C\x7D" | |
7705 | "\xFE\x16\xB6\xCF\xFC\x51\x40\xAE" | |
7706 | "\xB3\x15\xAC\x90\x6F\x0B\x28\x3A" | |
7707 | "\x60\x40\x38\x90\x20\x46\xC7\xB3" | |
7708 | "\x0B\x12\x6D\x3B\x15\x14\xF9\xF4" | |
7709 | "\x11\x41\x76\x6B\xB3\x60\x82\x3C" | |
7710 | "\x84\xFB\x08\x2E\x92\x25\xCB\x79" | |
7711 | "\x6F\x58\xC5\x94\x00\x00\x47\xB6" | |
7712 | "\x9E\xDC\x0F\x29\x70\x46\x20\x76" | |
7713 | "\x65\x75\x66\x5C\x00\x96\xB3\xE1" | |
7714 | "\x0B\xA7\x11\x8B\x2E\x61\x4E\x45" | |
7715 | "\x73\xFC\x91\xAB\x79\x41\x23\x14" | |
7716 | "\x13\xB6\x72\x6C\x46\xB3\x03\x11" | |
7717 | "\xE4\xF1\xEE\xC9\x7A\xCF\x96\x32" | |
7718 | "\xB6\xF0\x8B\x97\xB4\xCF\x82\xB7" | |
7719 | "\x15\x48\x44\x99\x09\xF6\xE0\xD7" | |
7720 | "\xBC\xF1\x5B\x91\x4F\x30\x22\xA2" | |
7721 | "\x45\xC4\x68\x55\xC2\xBE\xA7\xD2" | |
7722 | "\x12\x53\x35\x9C\xF9\xE7\x35\x5D" | |
7723 | "\x81\xE4\x86\x42\xC3\x58\xFB\xF0" | |
7724 | "\x38\x9B\x8E\x5A\xEF\x83\x33\x0F" | |
7725 | "\x00\x4E\x3F\x9F\xF5\x84\x62\xC4" | |
7726 | "\x19\x35\x88\x22\x45\x59\x0E\x8F" | |
7727 | "\xEC\x27\xDD\x4A\xA4\x1F\xBC\x41" | |
7728 | "\x9B\x66\x8D\x32\xBA\x81\x34\x87" | |
7729 | "\x0E\x74\x33\x30\x62\xB9\x89\xDF" | |
7730 | "\xF9\xC5\xDD\x27\xB3\x39\xCB\xCB", | |
7731 | .ilen = 496, | |
7732 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
7733 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
7734 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
7735 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
7736 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
7737 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
7738 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
7739 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
7740 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
7741 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
7742 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
7743 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
7744 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
7745 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
7746 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
7747 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
7748 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
7749 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
7750 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
7751 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
7752 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
7753 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
7754 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
7755 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
7756 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
7757 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
7758 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
7759 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
7760 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
7761 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
7762 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
7763 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
7764 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
7765 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
7766 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
7767 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
7768 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
7769 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
7770 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
7771 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
7772 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
7773 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
7774 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
7775 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
7776 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
7777 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
7778 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
7779 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
7780 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
7781 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
7782 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
7783 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
7784 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
7785 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
7786 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
7787 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
7788 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
7789 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
7790 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
7791 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
7792 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
7793 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
7794 | .rlen = 496, | |
7795 | }, | |
7796 | }; | |
7797 | ||
7798 | static struct cipher_testvec cast6_lrw_enc_tv_template[] = { | |
7799 | { /* Generated from TF test vectors */ | |
7800 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
7801 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
7802 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
7803 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
7804 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
7805 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
7806 | .klen = 48, | |
7807 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
7808 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
7809 | .input = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
7810 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
7811 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
7812 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
7813 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
7814 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
7815 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
7816 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
7817 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
7818 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
7819 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
7820 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
7821 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
7822 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
7823 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
7824 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
7825 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
7826 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
7827 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
7828 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
7829 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
7830 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
7831 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
7832 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
7833 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
7834 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
7835 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
7836 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
7837 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
7838 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
7839 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
7840 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
7841 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
7842 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
7843 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
7844 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
7845 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
7846 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
7847 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
7848 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
7849 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
7850 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
7851 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
7852 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
7853 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
7854 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
7855 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
7856 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
7857 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
7858 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
7859 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
7860 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
7861 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
7862 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
7863 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
7864 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
7865 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
7866 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
7867 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
7868 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
7869 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
7870 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
7871 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
7872 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
7873 | .ilen = 512, | |
7874 | .result = "\x55\x25\x09\x8B\xB5\xD5\xF8\xBF" | |
7875 | "\x37\x4A\xFE\x3C\x47\xD8\xE6\xEB" | |
7876 | "\xCA\xA4\x9B\xB0\xAB\x6D\x64\xCA" | |
7877 | "\x58\xB6\x73\xF0\xD7\x52\x34\xEF" | |
7878 | "\xFB\x3E\x96\x81\xB7\x71\x34\xA4" | |
7879 | "\x55\x20\xBE\x39\x5A\x2B\xF9\xD1" | |
7880 | "\x65\x0B\xDA\xD3\x7E\xB3\xA6\xF7" | |
7881 | "\x2E\x0B\x5A\x52\xDB\x39\x8C\x9B" | |
7882 | "\x61\x17\x5F\xAF\xB6\x5A\xC8\x08" | |
7883 | "\xA7\xB7\x2A\x11\x7C\x97\x38\x9D" | |
7884 | "\x59\x0E\x66\x59\x5E\xD8\x8B\xCE" | |
7885 | "\x70\xE0\xC3\x42\xB0\x8C\x0F\xBA" | |
7886 | "\xB2\x0D\x81\xB6\xBE\x61\x1C\x2D" | |
7887 | "\x7E\xEA\x91\x25\xAC\xEC\xF8\x28" | |
7888 | "\x80\x1D\xF0\x30\xBA\x62\x77\x7D" | |
7889 | "\xDB\x15\x69\xDF\xFA\x2A\x81\x64" | |
7890 | "\x95\x5B\xA4\x7F\x3E\x4F\xE3\x30" | |
7891 | "\xB0\x5C\xC2\x05\xF8\xF0\x29\xE7" | |
7892 | "\x0A\xA0\x66\xB2\x5D\x0F\x39\x2B" | |
7893 | "\xB4\xB3\x00\xA9\xD0\xAB\x63\x61" | |
7894 | "\x5E\xDB\xFC\x11\x74\x25\x96\x65" | |
7895 | "\xE8\xE2\x34\x57\x77\x15\x5E\x70" | |
7896 | "\xFF\x10\x90\xC3\x64\xF0\x11\x0A" | |
7897 | "\x63\x3A\xD3\x55\x92\x15\x4B\x0C" | |
7898 | "\xC7\x08\x89\x17\x3B\x99\xAD\x63" | |
7899 | "\xE7\x06\xDF\x52\xBC\x15\x64\x45" | |
7900 | "\x9D\x7A\xFB\x69\xBC\x2D\x6E\xA9" | |
7901 | "\x35\xD9\xD8\xF5\x0C\xC4\xA2\x23" | |
7902 | "\x9C\x18\x8B\xA8\x8C\xFE\xF8\x0E" | |
7903 | "\xBD\xAB\x60\x1A\x51\x17\x54\x27" | |
7904 | "\xB6\xE8\xBE\x0F\xA9\xA5\x82\x19" | |
7905 | "\x2F\x6F\x20\xA7\x47\xED\x74\x6C" | |
7906 | "\x4E\xC1\xF8\x8C\x14\xF3\xBB\x1F" | |
7907 | "\xED\x4D\x8F\x7C\x37\xEF\x19\xA1" | |
7908 | "\x07\x16\xDE\x76\xCC\x5E\x94\x02" | |
7909 | "\xFB\xBF\xE4\x81\x50\xCE\xFC\x0F" | |
7910 | "\x9E\xCF\x3D\xF6\x67\x00\xBF\xA7" | |
7911 | "\x6E\x21\x58\x36\x06\xDE\xB3\xD4" | |
7912 | "\xA2\xFA\xD8\x4E\xE0\xB9\x7F\x23" | |
7913 | "\x51\x21\x2B\x32\x68\xAA\xF8\xA8" | |
7914 | "\x93\x08\xB5\x6D\xE6\x43\x2C\xB7" | |
7915 | "\x31\xB2\x0F\xD0\xA2\x51\xC0\x25" | |
7916 | "\x30\xC7\x10\x3F\x97\x27\x01\x8E" | |
7917 | "\xFA\xD8\x4F\x78\xD8\x2E\x1D\xEB" | |
7918 | "\xA1\x37\x52\x0F\x7B\x5E\x87\xA8" | |
7919 | "\x22\xE2\xE6\x92\xA7\x5F\x11\x32" | |
7920 | "\xCC\x93\x34\xFC\xD1\x7E\xAE\x54" | |
7921 | "\xBC\x6A\x1B\x91\xD1\x2E\x21\xEC" | |
7922 | "\x5D\xF1\xC4\xF1\x55\x20\xBF\xE5" | |
7923 | "\x96\x3D\x69\x91\x20\x4E\xF2\x61" | |
7924 | "\xDA\x77\xFE\xEE\xC3\x74\x57\x2A" | |
7925 | "\x78\x39\xB0\xE0\xCF\x12\x56\xD6" | |
7926 | "\x05\xDC\xF9\x19\x66\x44\x1D\xF9" | |
7927 | "\x82\x37\xD4\xC2\x60\xB6\x31\xDF" | |
7928 | "\x0C\xAF\xBC\x8B\x55\x9A\xC8\x2D" | |
7929 | "\xAB\xA7\x88\x7B\x41\xE8\x29\xC9" | |
7930 | "\x9B\x8D\xA7\x00\x86\x25\xB6\x14" | |
7931 | "\xF5\x13\x73\xD7\x4B\x6B\x83\xF3" | |
7932 | "\xAF\x96\x00\xE4\xB7\x3C\x65\xA6" | |
7933 | "\x15\xB7\x94\x7D\x4E\x70\x4C\x75" | |
7934 | "\xF3\xB4\x02\xA9\x17\x1C\x7A\x0A" | |
7935 | "\xC0\xD5\x33\x11\x56\xDE\xDC\xF5" | |
7936 | "\x8D\xD9\xCD\x3B\x22\x67\x18\xC7" | |
7937 | "\xC4\xF5\x99\x61\xBC\xBB\x5B\x46", | |
7938 | .rlen = 512, | |
7939 | }, | |
7940 | }; | |
7941 | ||
7942 | static struct cipher_testvec cast6_lrw_dec_tv_template[] = { | |
7943 | { /* Generated from TF test vectors */ | |
7944 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
7945 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
7946 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
7947 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
7948 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
7949 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
7950 | .klen = 48, | |
7951 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
7952 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
7953 | .input = "\x55\x25\x09\x8B\xB5\xD5\xF8\xBF" | |
7954 | "\x37\x4A\xFE\x3C\x47\xD8\xE6\xEB" | |
7955 | "\xCA\xA4\x9B\xB0\xAB\x6D\x64\xCA" | |
7956 | "\x58\xB6\x73\xF0\xD7\x52\x34\xEF" | |
7957 | "\xFB\x3E\x96\x81\xB7\x71\x34\xA4" | |
7958 | "\x55\x20\xBE\x39\x5A\x2B\xF9\xD1" | |
7959 | "\x65\x0B\xDA\xD3\x7E\xB3\xA6\xF7" | |
7960 | "\x2E\x0B\x5A\x52\xDB\x39\x8C\x9B" | |
7961 | "\x61\x17\x5F\xAF\xB6\x5A\xC8\x08" | |
7962 | "\xA7\xB7\x2A\x11\x7C\x97\x38\x9D" | |
7963 | "\x59\x0E\x66\x59\x5E\xD8\x8B\xCE" | |
7964 | "\x70\xE0\xC3\x42\xB0\x8C\x0F\xBA" | |
7965 | "\xB2\x0D\x81\xB6\xBE\x61\x1C\x2D" | |
7966 | "\x7E\xEA\x91\x25\xAC\xEC\xF8\x28" | |
7967 | "\x80\x1D\xF0\x30\xBA\x62\x77\x7D" | |
7968 | "\xDB\x15\x69\xDF\xFA\x2A\x81\x64" | |
7969 | "\x95\x5B\xA4\x7F\x3E\x4F\xE3\x30" | |
7970 | "\xB0\x5C\xC2\x05\xF8\xF0\x29\xE7" | |
7971 | "\x0A\xA0\x66\xB2\x5D\x0F\x39\x2B" | |
7972 | "\xB4\xB3\x00\xA9\xD0\xAB\x63\x61" | |
7973 | "\x5E\xDB\xFC\x11\x74\x25\x96\x65" | |
7974 | "\xE8\xE2\x34\x57\x77\x15\x5E\x70" | |
7975 | "\xFF\x10\x90\xC3\x64\xF0\x11\x0A" | |
7976 | "\x63\x3A\xD3\x55\x92\x15\x4B\x0C" | |
7977 | "\xC7\x08\x89\x17\x3B\x99\xAD\x63" | |
7978 | "\xE7\x06\xDF\x52\xBC\x15\x64\x45" | |
7979 | "\x9D\x7A\xFB\x69\xBC\x2D\x6E\xA9" | |
7980 | "\x35\xD9\xD8\xF5\x0C\xC4\xA2\x23" | |
7981 | "\x9C\x18\x8B\xA8\x8C\xFE\xF8\x0E" | |
7982 | "\xBD\xAB\x60\x1A\x51\x17\x54\x27" | |
7983 | "\xB6\xE8\xBE\x0F\xA9\xA5\x82\x19" | |
7984 | "\x2F\x6F\x20\xA7\x47\xED\x74\x6C" | |
7985 | "\x4E\xC1\xF8\x8C\x14\xF3\xBB\x1F" | |
7986 | "\xED\x4D\x8F\x7C\x37\xEF\x19\xA1" | |
7987 | "\x07\x16\xDE\x76\xCC\x5E\x94\x02" | |
7988 | "\xFB\xBF\xE4\x81\x50\xCE\xFC\x0F" | |
7989 | "\x9E\xCF\x3D\xF6\x67\x00\xBF\xA7" | |
7990 | "\x6E\x21\x58\x36\x06\xDE\xB3\xD4" | |
7991 | "\xA2\xFA\xD8\x4E\xE0\xB9\x7F\x23" | |
7992 | "\x51\x21\x2B\x32\x68\xAA\xF8\xA8" | |
7993 | "\x93\x08\xB5\x6D\xE6\x43\x2C\xB7" | |
7994 | "\x31\xB2\x0F\xD0\xA2\x51\xC0\x25" | |
7995 | "\x30\xC7\x10\x3F\x97\x27\x01\x8E" | |
7996 | "\xFA\xD8\x4F\x78\xD8\x2E\x1D\xEB" | |
7997 | "\xA1\x37\x52\x0F\x7B\x5E\x87\xA8" | |
7998 | "\x22\xE2\xE6\x92\xA7\x5F\x11\x32" | |
7999 | "\xCC\x93\x34\xFC\xD1\x7E\xAE\x54" | |
8000 | "\xBC\x6A\x1B\x91\xD1\x2E\x21\xEC" | |
8001 | "\x5D\xF1\xC4\xF1\x55\x20\xBF\xE5" | |
8002 | "\x96\x3D\x69\x91\x20\x4E\xF2\x61" | |
8003 | "\xDA\x77\xFE\xEE\xC3\x74\x57\x2A" | |
8004 | "\x78\x39\xB0\xE0\xCF\x12\x56\xD6" | |
8005 | "\x05\xDC\xF9\x19\x66\x44\x1D\xF9" | |
8006 | "\x82\x37\xD4\xC2\x60\xB6\x31\xDF" | |
8007 | "\x0C\xAF\xBC\x8B\x55\x9A\xC8\x2D" | |
8008 | "\xAB\xA7\x88\x7B\x41\xE8\x29\xC9" | |
8009 | "\x9B\x8D\xA7\x00\x86\x25\xB6\x14" | |
8010 | "\xF5\x13\x73\xD7\x4B\x6B\x83\xF3" | |
8011 | "\xAF\x96\x00\xE4\xB7\x3C\x65\xA6" | |
8012 | "\x15\xB7\x94\x7D\x4E\x70\x4C\x75" | |
8013 | "\xF3\xB4\x02\xA9\x17\x1C\x7A\x0A" | |
8014 | "\xC0\xD5\x33\x11\x56\xDE\xDC\xF5" | |
8015 | "\x8D\xD9\xCD\x3B\x22\x67\x18\xC7" | |
8016 | "\xC4\xF5\x99\x61\xBC\xBB\x5B\x46", | |
8017 | .ilen = 512, | |
8018 | .result = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
8019 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
8020 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
8021 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
8022 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
8023 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
8024 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
8025 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
8026 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
8027 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
8028 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
8029 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
8030 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
8031 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
8032 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
8033 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
8034 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
8035 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
8036 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
8037 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
8038 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
8039 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
8040 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
8041 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
8042 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
8043 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
8044 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
8045 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
8046 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
8047 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
8048 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
8049 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
8050 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
8051 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
8052 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
8053 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
8054 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
8055 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
8056 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
8057 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
8058 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
8059 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
8060 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
8061 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
8062 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
8063 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
8064 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
8065 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
8066 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
8067 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
8068 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
8069 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
8070 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
8071 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
8072 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
8073 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
8074 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
8075 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
8076 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
8077 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
8078 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
8079 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
8080 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
8081 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
8082 | .rlen = 512, | |
8083 | }, | |
8084 | }; | |
8085 | ||
8086 | static struct cipher_testvec cast6_xts_enc_tv_template[] = { | |
8087 | { /* Generated from TF test vectors */ | |
8088 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
8089 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
8090 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
8091 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
8092 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
8093 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
8094 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
8095 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
8096 | .klen = 64, | |
8097 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
8098 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
8099 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8100 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8101 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8102 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
8103 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
8104 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
8105 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
8106 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
8107 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
8108 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
8109 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
8110 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
8111 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
8112 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
8113 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
8114 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
8115 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
8116 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
8117 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
8118 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
8119 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
8120 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
8121 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
8122 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
8123 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
8124 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
8125 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
8126 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
8127 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
8128 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
8129 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
8130 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
8131 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8132 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8133 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8134 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
8135 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
8136 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
8137 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
8138 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
8139 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
8140 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
8141 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
8142 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
8143 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
8144 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
8145 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
8146 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
8147 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
8148 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
8149 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
8150 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
8151 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
8152 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
8153 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
8154 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
8155 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
8156 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
8157 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
8158 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
8159 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
8160 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
8161 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
8162 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
8163 | .ilen = 512, | |
8164 | .result = "\xDE\x6F\x22\xA5\xE8\x39\xE8\x78" | |
8165 | "\x88\x5A\x4F\x8D\x82\x76\x52\x6D" | |
8166 | "\xB2\x41\x16\xF4\x2B\xA6\xEB\xF6" | |
8167 | "\xE2\xC5\x62\x8D\x61\xA1\x01\xED" | |
8168 | "\xD9\x38\x01\xC1\x43\x63\x4E\x88" | |
8169 | "\xC9\x4B\x5A\x88\x80\xB7\x5C\x71" | |
8170 | "\x47\xEE\x11\xD8\xB7\x2D\x5D\x13" | |
8171 | "\x1A\xB1\x68\x5B\x61\xA7\xA9\x81" | |
8172 | "\x8B\x83\xA1\x6A\xAA\x36\xD6\xB6" | |
8173 | "\x60\x54\x09\x32\xFE\x6A\x76\x2E" | |
8174 | "\x28\xFF\xD5\xD6\xDD\x1D\x45\x7D" | |
8175 | "\xF0\x8B\xF3\x32\x4E\x6C\x12\xCB" | |
8176 | "\xB8\x25\x70\xF8\x40\xBC\x90\x1B" | |
8177 | "\x11\xC3\x59\xAF\xF0\x2F\x92\xDD" | |
8178 | "\xD3\x3B\xCF\x60\xA1\x78\x94\x57" | |
8179 | "\xAF\x76\xC1\x67\xA6\x3C\xCD\x98" | |
8180 | "\xB1\xF7\x27\xB9\xA3\xBD\x10\xEA" | |
8181 | "\xCD\x8B\xC2\xF2\x14\xF2\xB2\x67" | |
8182 | "\x05\xDD\x1D\x58\x6E\x2F\x95\x08" | |
8183 | "\x3A\xF8\x78\x76\x82\x56\xA7\xEC" | |
8184 | "\x51\x4B\x85\x77\xC2\x4C\x4A\x34" | |
8185 | "\x71\x38\x17\x91\x44\xE8\xFC\x65" | |
8186 | "\x99\x0D\x52\x91\xEE\xF8\xEF\x27" | |
8187 | "\x2A\x9E\x6E\x78\xC4\x26\x87\xF4" | |
8188 | "\x8A\xF0\x2D\x04\xE8\x14\x92\x5D" | |
8189 | "\x59\x22\x9B\x29\x5C\x18\xF0\xC3" | |
8190 | "\x47\xF3\x76\xD8\xE4\xF3\x1B\xD1" | |
8191 | "\x70\xA3\x0D\xB5\x70\x02\x1D\xA3" | |
8192 | "\x91\x3B\x49\x73\x18\xAB\xD4\xC9" | |
8193 | "\xC3\x1E\xEF\x1F\xFE\xD5\x59\x8A" | |
8194 | "\xD7\xF6\xC9\x71\x67\x79\xD7\x0E" | |
8195 | "\xBE\x1F\x8E\xEC\x55\x7E\x4F\x24" | |
8196 | "\xE6\x87\xEA\xFE\x96\x25\x67\x8E" | |
8197 | "\x93\x03\xFA\xFF\xCE\xAF\xB2\x3C" | |
8198 | "\x6F\xEB\x57\xFB\xD3\x28\x87\xA9" | |
8199 | "\xCE\xC2\xF5\x9C\xC6\x67\xB5\x97" | |
8200 | "\x49\xF7\x04\xCB\xEF\x84\x98\x33" | |
8201 | "\xAF\x38\xD3\x04\x1C\x24\x71\x38" | |
8202 | "\xC7\x71\xDD\x43\x0D\x12\x4A\x18" | |
8203 | "\xBA\xC4\xAF\xBA\xB2\x5B\xEB\x95" | |
8204 | "\x02\x43\x5D\xCE\x19\xCC\xCD\x66" | |
8205 | "\x91\x0B\x8C\x7F\x51\xC4\xBF\x3C" | |
8206 | "\x8B\xF1\xCC\xAA\x29\xD7\x87\xCB" | |
8207 | "\x3E\xC5\xF3\xC9\x75\xE8\xA3\x5B" | |
8208 | "\x30\x45\xA9\xB7\xAF\x80\x64\x6F" | |
8209 | "\x75\x4A\xA7\xC0\x6D\x19\x6B\xDE" | |
8210 | "\x17\xDE\x6D\xEA\x87\x9F\x95\xAE" | |
8211 | "\xF5\x3C\xEE\x54\xB8\x27\x84\xF8" | |
8212 | "\x97\xA3\xE1\x6F\x38\x24\x34\x88" | |
8213 | "\xCE\xBD\x32\x52\xE0\x00\x6C\x94" | |
8214 | "\xC9\xD7\x5D\x37\x81\x33\x2E\x7F" | |
8215 | "\x4F\x7E\x2E\x0D\x94\xBD\xEA\x59" | |
8216 | "\x34\x39\xA8\x35\x12\xB7\xBC\xAC" | |
8217 | "\xEA\x52\x9C\x78\x02\x6D\x92\x36" | |
8218 | "\xFB\x59\x2B\xA4\xEA\x7B\x1B\x83" | |
8219 | "\xE1\x4D\x5E\x2A\x7E\x92\xB1\x64" | |
8220 | "\xDE\xE0\x27\x4B\x0A\x6F\x4C\xE3" | |
8221 | "\xB0\xEB\x31\xE4\x69\x95\xAB\x35" | |
8222 | "\x8B\x2C\xF5\x6B\x7F\xF1\xA2\x82" | |
8223 | "\xF8\xD9\x47\x82\xA9\x82\x03\x91" | |
8224 | "\x69\x1F\xBE\x4C\xE7\xC7\x34\x2F" | |
8225 | "\x45\x72\x80\x17\x81\xBD\x9D\x62" | |
8226 | "\xA1\xAC\xE8\xCF\xC6\x74\xCF\xDC" | |
8227 | "\x22\x60\x4E\xE8\xA4\x5D\x85\xB9", | |
8228 | .rlen = 512, | |
8229 | }, | |
8230 | }; | |
8231 | ||
8232 | static struct cipher_testvec cast6_xts_dec_tv_template[] = { | |
8233 | { /* Generated from TF test vectors */ | |
8234 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
8235 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
8236 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
8237 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
8238 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
8239 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
8240 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
8241 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
8242 | .klen = 64, | |
8243 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
8244 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
8245 | .input = "\xDE\x6F\x22\xA5\xE8\x39\xE8\x78" | |
8246 | "\x88\x5A\x4F\x8D\x82\x76\x52\x6D" | |
8247 | "\xB2\x41\x16\xF4\x2B\xA6\xEB\xF6" | |
8248 | "\xE2\xC5\x62\x8D\x61\xA1\x01\xED" | |
8249 | "\xD9\x38\x01\xC1\x43\x63\x4E\x88" | |
8250 | "\xC9\x4B\x5A\x88\x80\xB7\x5C\x71" | |
8251 | "\x47\xEE\x11\xD8\xB7\x2D\x5D\x13" | |
8252 | "\x1A\xB1\x68\x5B\x61\xA7\xA9\x81" | |
8253 | "\x8B\x83\xA1\x6A\xAA\x36\xD6\xB6" | |
8254 | "\x60\x54\x09\x32\xFE\x6A\x76\x2E" | |
8255 | "\x28\xFF\xD5\xD6\xDD\x1D\x45\x7D" | |
8256 | "\xF0\x8B\xF3\x32\x4E\x6C\x12\xCB" | |
8257 | "\xB8\x25\x70\xF8\x40\xBC\x90\x1B" | |
8258 | "\x11\xC3\x59\xAF\xF0\x2F\x92\xDD" | |
8259 | "\xD3\x3B\xCF\x60\xA1\x78\x94\x57" | |
8260 | "\xAF\x76\xC1\x67\xA6\x3C\xCD\x98" | |
8261 | "\xB1\xF7\x27\xB9\xA3\xBD\x10\xEA" | |
8262 | "\xCD\x8B\xC2\xF2\x14\xF2\xB2\x67" | |
8263 | "\x05\xDD\x1D\x58\x6E\x2F\x95\x08" | |
8264 | "\x3A\xF8\x78\x76\x82\x56\xA7\xEC" | |
8265 | "\x51\x4B\x85\x77\xC2\x4C\x4A\x34" | |
8266 | "\x71\x38\x17\x91\x44\xE8\xFC\x65" | |
8267 | "\x99\x0D\x52\x91\xEE\xF8\xEF\x27" | |
8268 | "\x2A\x9E\x6E\x78\xC4\x26\x87\xF4" | |
8269 | "\x8A\xF0\x2D\x04\xE8\x14\x92\x5D" | |
8270 | "\x59\x22\x9B\x29\x5C\x18\xF0\xC3" | |
8271 | "\x47\xF3\x76\xD8\xE4\xF3\x1B\xD1" | |
8272 | "\x70\xA3\x0D\xB5\x70\x02\x1D\xA3" | |
8273 | "\x91\x3B\x49\x73\x18\xAB\xD4\xC9" | |
8274 | "\xC3\x1E\xEF\x1F\xFE\xD5\x59\x8A" | |
8275 | "\xD7\xF6\xC9\x71\x67\x79\xD7\x0E" | |
8276 | "\xBE\x1F\x8E\xEC\x55\x7E\x4F\x24" | |
8277 | "\xE6\x87\xEA\xFE\x96\x25\x67\x8E" | |
8278 | "\x93\x03\xFA\xFF\xCE\xAF\xB2\x3C" | |
8279 | "\x6F\xEB\x57\xFB\xD3\x28\x87\xA9" | |
8280 | "\xCE\xC2\xF5\x9C\xC6\x67\xB5\x97" | |
8281 | "\x49\xF7\x04\xCB\xEF\x84\x98\x33" | |
8282 | "\xAF\x38\xD3\x04\x1C\x24\x71\x38" | |
8283 | "\xC7\x71\xDD\x43\x0D\x12\x4A\x18" | |
8284 | "\xBA\xC4\xAF\xBA\xB2\x5B\xEB\x95" | |
8285 | "\x02\x43\x5D\xCE\x19\xCC\xCD\x66" | |
8286 | "\x91\x0B\x8C\x7F\x51\xC4\xBF\x3C" | |
8287 | "\x8B\xF1\xCC\xAA\x29\xD7\x87\xCB" | |
8288 | "\x3E\xC5\xF3\xC9\x75\xE8\xA3\x5B" | |
8289 | "\x30\x45\xA9\xB7\xAF\x80\x64\x6F" | |
8290 | "\x75\x4A\xA7\xC0\x6D\x19\x6B\xDE" | |
8291 | "\x17\xDE\x6D\xEA\x87\x9F\x95\xAE" | |
8292 | "\xF5\x3C\xEE\x54\xB8\x27\x84\xF8" | |
8293 | "\x97\xA3\xE1\x6F\x38\x24\x34\x88" | |
8294 | "\xCE\xBD\x32\x52\xE0\x00\x6C\x94" | |
8295 | "\xC9\xD7\x5D\x37\x81\x33\x2E\x7F" | |
8296 | "\x4F\x7E\x2E\x0D\x94\xBD\xEA\x59" | |
8297 | "\x34\x39\xA8\x35\x12\xB7\xBC\xAC" | |
8298 | "\xEA\x52\x9C\x78\x02\x6D\x92\x36" | |
8299 | "\xFB\x59\x2B\xA4\xEA\x7B\x1B\x83" | |
8300 | "\xE1\x4D\x5E\x2A\x7E\x92\xB1\x64" | |
8301 | "\xDE\xE0\x27\x4B\x0A\x6F\x4C\xE3" | |
8302 | "\xB0\xEB\x31\xE4\x69\x95\xAB\x35" | |
8303 | "\x8B\x2C\xF5\x6B\x7F\xF1\xA2\x82" | |
8304 | "\xF8\xD9\x47\x82\xA9\x82\x03\x91" | |
8305 | "\x69\x1F\xBE\x4C\xE7\xC7\x34\x2F" | |
8306 | "\x45\x72\x80\x17\x81\xBD\x9D\x62" | |
8307 | "\xA1\xAC\xE8\xCF\xC6\x74\xCF\xDC" | |
8308 | "\x22\x60\x4E\xE8\xA4\x5D\x85\xB9", | |
8309 | .ilen = 512, | |
8310 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8311 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8312 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8313 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
8314 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
8315 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
8316 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
8317 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
8318 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
8319 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
8320 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
8321 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
8322 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
8323 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
8324 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
8325 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
8326 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
8327 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
8328 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
8329 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
8330 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
8331 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
8332 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
8333 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
8334 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
8335 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
8336 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
8337 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
8338 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
8339 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
8340 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
8341 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
8342 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8343 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8344 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8345 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
8346 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
8347 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
8348 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
8349 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
8350 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
8351 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
8352 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
8353 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
8354 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
8355 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
8356 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
8357 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
8358 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
8359 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
8360 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
8361 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
8362 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
8363 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
8364 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
8365 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
8366 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
8367 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
8368 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
8369 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
8370 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
8371 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
8372 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
8373 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
8374 | .rlen = 512, | |
da7f033d HX |
8375 | }, |
8376 | }; | |
8377 | ||
8378 | ||
8379 | /* | |
8380 | * AES test vectors. | |
8381 | */ | |
8382 | #define AES_ENC_TEST_VECTORS 3 | |
8383 | #define AES_DEC_TEST_VECTORS 3 | |
8384 | #define AES_CBC_ENC_TEST_VECTORS 4 | |
8385 | #define AES_CBC_DEC_TEST_VECTORS 4 | |
e46e9a46 HG |
8386 | #define HMAC_SHA1_AES_CBC_ENC_TEST_VECTORS 7 |
8387 | #define HMAC_SHA256_AES_CBC_ENC_TEST_VECTORS 7 | |
8388 | #define HMAC_SHA512_AES_CBC_ENC_TEST_VECTORS 7 | |
da7f033d HX |
8389 | #define AES_LRW_ENC_TEST_VECTORS 8 |
8390 | #define AES_LRW_DEC_TEST_VECTORS 8 | |
5165e5b1 JW |
8391 | #define AES_XTS_ENC_TEST_VECTORS 5 |
8392 | #define AES_XTS_DEC_TEST_VECTORS 5 | |
f7cb80f2 JW |
8393 | #define AES_CTR_ENC_TEST_VECTORS 3 |
8394 | #define AES_CTR_DEC_TEST_VECTORS 3 | |
ba0e14ac PS |
8395 | #define AES_OFB_ENC_TEST_VECTORS 1 |
8396 | #define AES_OFB_DEC_TEST_VECTORS 1 | |
f7cb80f2 JW |
8397 | #define AES_CTR_3686_ENC_TEST_VECTORS 7 |
8398 | #define AES_CTR_3686_DEC_TEST_VECTORS 6 | |
da7f033d HX |
8399 | #define AES_GCM_ENC_TEST_VECTORS 9 |
8400 | #define AES_GCM_DEC_TEST_VECTORS 8 | |
69435b94 AH |
8401 | #define AES_GCM_4106_ENC_TEST_VECTORS 7 |
8402 | #define AES_GCM_4106_DEC_TEST_VECTORS 7 | |
da7f033d HX |
8403 | #define AES_CCM_ENC_TEST_VECTORS 7 |
8404 | #define AES_CCM_DEC_TEST_VECTORS 7 | |
5d667322 JW |
8405 | #define AES_CCM_4309_ENC_TEST_VECTORS 7 |
8406 | #define AES_CCM_4309_DEC_TEST_VECTORS 10 | |
da7f033d HX |
8407 | |
8408 | static struct cipher_testvec aes_enc_tv_template[] = { | |
8409 | { /* From FIPS-197 */ | |
8410 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8411 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
8412 | .klen = 16, | |
8413 | .input = "\x00\x11\x22\x33\x44\x55\x66\x77" | |
8414 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
8415 | .ilen = 16, | |
8416 | .result = "\x69\xc4\xe0\xd8\x6a\x7b\x04\x30" | |
8417 | "\xd8\xcd\xb7\x80\x70\xb4\xc5\x5a", | |
8418 | .rlen = 16, | |
8419 | }, { | |
8420 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8421 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8422 | "\x10\x11\x12\x13\x14\x15\x16\x17", | |
8423 | .klen = 24, | |
8424 | .input = "\x00\x11\x22\x33\x44\x55\x66\x77" | |
8425 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
8426 | .ilen = 16, | |
8427 | .result = "\xdd\xa9\x7c\xa4\x86\x4c\xdf\xe0" | |
8428 | "\x6e\xaf\x70\xa0\xec\x0d\x71\x91", | |
8429 | .rlen = 16, | |
8430 | }, { | |
8431 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8432 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8433 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8434 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
8435 | .klen = 32, | |
8436 | .input = "\x00\x11\x22\x33\x44\x55\x66\x77" | |
8437 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
8438 | .ilen = 16, | |
8439 | .result = "\x8e\xa2\xb7\xca\x51\x67\x45\xbf" | |
8440 | "\xea\xfc\x49\x90\x4b\x49\x60\x89", | |
8441 | .rlen = 16, | |
8442 | }, | |
8443 | }; | |
8444 | ||
8445 | static struct cipher_testvec aes_dec_tv_template[] = { | |
8446 | { /* From FIPS-197 */ | |
8447 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8448 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
8449 | .klen = 16, | |
8450 | .input = "\x69\xc4\xe0\xd8\x6a\x7b\x04\x30" | |
8451 | "\xd8\xcd\xb7\x80\x70\xb4\xc5\x5a", | |
8452 | .ilen = 16, | |
8453 | .result = "\x00\x11\x22\x33\x44\x55\x66\x77" | |
8454 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
8455 | .rlen = 16, | |
8456 | }, { | |
8457 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8458 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8459 | "\x10\x11\x12\x13\x14\x15\x16\x17", | |
8460 | .klen = 24, | |
8461 | .input = "\xdd\xa9\x7c\xa4\x86\x4c\xdf\xe0" | |
8462 | "\x6e\xaf\x70\xa0\xec\x0d\x71\x91", | |
8463 | .ilen = 16, | |
8464 | .result = "\x00\x11\x22\x33\x44\x55\x66\x77" | |
8465 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
8466 | .rlen = 16, | |
8467 | }, { | |
8468 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8469 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8470 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8471 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
8472 | .klen = 32, | |
8473 | .input = "\x8e\xa2\xb7\xca\x51\x67\x45\xbf" | |
8474 | "\xea\xfc\x49\x90\x4b\x49\x60\x89", | |
8475 | .ilen = 16, | |
8476 | .result = "\x00\x11\x22\x33\x44\x55\x66\x77" | |
8477 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
8478 | .rlen = 16, | |
8479 | }, | |
8480 | }; | |
8481 | ||
8482 | static struct cipher_testvec aes_cbc_enc_tv_template[] = { | |
8483 | { /* From RFC 3602 */ | |
8484 | .key = "\x06\xa9\x21\x40\x36\xb8\xa1\x5b" | |
8485 | "\x51\x2e\x03\xd5\x34\x12\x00\x06", | |
8486 | .klen = 16, | |
8487 | .iv = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30" | |
8488 | "\xb4\x22\xda\x80\x2c\x9f\xac\x41", | |
8489 | .input = "Single block msg", | |
8490 | .ilen = 16, | |
8491 | .result = "\xe3\x53\x77\x9c\x10\x79\xae\xb8" | |
8492 | "\x27\x08\x94\x2d\xbe\x77\x18\x1a", | |
8493 | .rlen = 16, | |
8494 | }, { | |
8495 | .key = "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0" | |
8496 | "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a", | |
8497 | .klen = 16, | |
8498 | .iv = "\x56\x2e\x17\x99\x6d\x09\x3d\x28" | |
8499 | "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58", | |
8500 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8501 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8502 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8503 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
8504 | .ilen = 32, | |
8505 | .result = "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a" | |
8506 | "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a" | |
8507 | "\x75\x86\x60\x2d\x25\x3c\xff\xf9" | |
8508 | "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1", | |
8509 | .rlen = 32, | |
8510 | }, { /* From NIST SP800-38A */ | |
8511 | .key = "\x8e\x73\xb0\xf7\xda\x0e\x64\x52" | |
8512 | "\xc8\x10\xf3\x2b\x80\x90\x79\xe5" | |
8513 | "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b", | |
8514 | .klen = 24, | |
8515 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8516 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
8517 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
8518 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
8519 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
8520 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
8521 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
8522 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
8523 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
8524 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
8525 | .ilen = 64, | |
8526 | .result = "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d" | |
8527 | "\x71\x78\x18\x3a\x9f\xa0\x71\xe8" | |
8528 | "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4" | |
8529 | "\xe5\xe7\x38\x76\x3f\x69\x14\x5a" | |
8530 | "\x57\x1b\x24\x20\x12\xfb\x7a\xe0" | |
8531 | "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0" | |
8532 | "\x08\xb0\xe2\x79\x88\x59\x88\x81" | |
8533 | "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd", | |
8534 | .rlen = 64, | |
8535 | }, { | |
8536 | .key = "\x60\x3d\xeb\x10\x15\xca\x71\xbe" | |
8537 | "\x2b\x73\xae\xf0\x85\x7d\x77\x81" | |
8538 | "\x1f\x35\x2c\x07\x3b\x61\x08\xd7" | |
8539 | "\x2d\x98\x10\xa3\x09\x14\xdf\xf4", | |
8540 | .klen = 32, | |
8541 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8542 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
8543 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
8544 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
8545 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
8546 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
8547 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
8548 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
8549 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
8550 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
8551 | .ilen = 64, | |
8552 | .result = "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba" | |
8553 | "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6" | |
8554 | "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d" | |
8555 | "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d" | |
8556 | "\x39\xf2\x33\x69\xa9\xd9\xba\xcf" | |
8557 | "\xa5\x30\xe2\x63\x04\x23\x14\x61" | |
8558 | "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc" | |
8559 | "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b", | |
8560 | .rlen = 64, | |
8561 | }, | |
8562 | }; | |
8563 | ||
8564 | static struct cipher_testvec aes_cbc_dec_tv_template[] = { | |
8565 | { /* From RFC 3602 */ | |
8566 | .key = "\x06\xa9\x21\x40\x36\xb8\xa1\x5b" | |
8567 | "\x51\x2e\x03\xd5\x34\x12\x00\x06", | |
8568 | .klen = 16, | |
8569 | .iv = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30" | |
8570 | "\xb4\x22\xda\x80\x2c\x9f\xac\x41", | |
8571 | .input = "\xe3\x53\x77\x9c\x10\x79\xae\xb8" | |
8572 | "\x27\x08\x94\x2d\xbe\x77\x18\x1a", | |
8573 | .ilen = 16, | |
8574 | .result = "Single block msg", | |
8575 | .rlen = 16, | |
8576 | }, { | |
8577 | .key = "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0" | |
8578 | "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a", | |
8579 | .klen = 16, | |
8580 | .iv = "\x56\x2e\x17\x99\x6d\x09\x3d\x28" | |
8581 | "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58", | |
8582 | .input = "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a" | |
8583 | "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a" | |
8584 | "\x75\x86\x60\x2d\x25\x3c\xff\xf9" | |
8585 | "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1", | |
8586 | .ilen = 32, | |
8587 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8588 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8589 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8590 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
8591 | .rlen = 32, | |
8592 | }, { /* From NIST SP800-38A */ | |
8593 | .key = "\x8e\x73\xb0\xf7\xda\x0e\x64\x52" | |
8594 | "\xc8\x10\xf3\x2b\x80\x90\x79\xe5" | |
8595 | "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b", | |
8596 | .klen = 24, | |
8597 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8598 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
8599 | .input = "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d" | |
8600 | "\x71\x78\x18\x3a\x9f\xa0\x71\xe8" | |
8601 | "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4" | |
8602 | "\xe5\xe7\x38\x76\x3f\x69\x14\x5a" | |
8603 | "\x57\x1b\x24\x20\x12\xfb\x7a\xe0" | |
8604 | "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0" | |
8605 | "\x08\xb0\xe2\x79\x88\x59\x88\x81" | |
8606 | "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd", | |
8607 | .ilen = 64, | |
8608 | .result = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
8609 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
8610 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
8611 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
8612 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
8613 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
8614 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
8615 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
8616 | .rlen = 64, | |
8617 | }, { | |
8618 | .key = "\x60\x3d\xeb\x10\x15\xca\x71\xbe" | |
8619 | "\x2b\x73\xae\xf0\x85\x7d\x77\x81" | |
8620 | "\x1f\x35\x2c\x07\x3b\x61\x08\xd7" | |
8621 | "\x2d\x98\x10\xa3\x09\x14\xdf\xf4", | |
8622 | .klen = 32, | |
8623 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8624 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
8625 | .input = "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba" | |
8626 | "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6" | |
8627 | "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d" | |
8628 | "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d" | |
8629 | "\x39\xf2\x33\x69\xa9\xd9\xba\xcf" | |
8630 | "\xa5\x30\xe2\x63\x04\x23\x14\x61" | |
8631 | "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc" | |
8632 | "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b", | |
8633 | .ilen = 64, | |
8634 | .result = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
8635 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
8636 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
8637 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
8638 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
8639 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
8640 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
8641 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
8642 | .rlen = 64, | |
8643 | }, | |
8644 | }; | |
8645 | ||
e46e9a46 HG |
8646 | static struct aead_testvec hmac_sha1_aes_cbc_enc_tv_template[] = { |
8647 | { /* RFC 3602 Case 1 */ | |
8648 | #ifdef __LITTLE_ENDIAN | |
8649 | .key = "\x08\x00" /* rta length */ | |
8650 | "\x01\x00" /* rta type */ | |
8651 | #else | |
8652 | .key = "\x00\x08" /* rta length */ | |
8653 | "\x00\x01" /* rta type */ | |
8654 | #endif | |
8655 | "\x00\x00\x00\x10" /* enc key length */ | |
8656 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
8657 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
8658 | "\x00\x00\x00\x00" | |
8659 | "\x06\xa9\x21\x40\x36\xb8\xa1\x5b" | |
8660 | "\x51\x2e\x03\xd5\x34\x12\x00\x06", | |
8661 | .klen = 8 + 20 + 16, | |
8662 | .iv = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30" | |
8663 | "\xb4\x22\xda\x80\x2c\x9f\xac\x41", | |
8664 | .input = "Single block msg", | |
8665 | .ilen = 16, | |
8666 | .result = "\xe3\x53\x77\x9c\x10\x79\xae\xb8" | |
8667 | "\x27\x08\x94\x2d\xbe\x77\x18\x1a" | |
8668 | "\x1b\x13\xcb\xaf\x89\x5e\xe1\x2c" | |
8669 | "\x13\xc5\x2e\xa3\xcc\xed\xdc\xb5" | |
8670 | "\x03\x71\xa2\x06", | |
8671 | .rlen = 16 + 20, | |
8672 | }, { /* RFC 3602 Case 2 */ | |
8673 | #ifdef __LITTLE_ENDIAN | |
8674 | .key = "\x08\x00" /* rta length */ | |
8675 | "\x01\x00" /* rta type */ | |
8676 | #else | |
8677 | .key = "\x00\x08" /* rta length */ | |
8678 | "\x00\x01" /* rta type */ | |
8679 | #endif | |
8680 | "\x00\x00\x00\x10" /* enc key length */ | |
8681 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
8682 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
8683 | "\x30\x31\x32\x33" | |
8684 | "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0" | |
8685 | "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a", | |
8686 | .klen = 8 + 20 + 16, | |
8687 | .iv = "\x56\x2e\x17\x99\x6d\x09\x3d\x28" | |
8688 | "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58", | |
8689 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8690 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8691 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8692 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
8693 | .ilen = 32, | |
8694 | .result = "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a" | |
8695 | "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a" | |
8696 | "\x75\x86\x60\x2d\x25\x3c\xff\xf9" | |
8697 | "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1" | |
8698 | "\xad\x9b\x4c\x5c\x85\xe1\xda\xae" | |
8699 | "\xee\x81\x4e\xd7\xdb\x74\xcf\x58" | |
8700 | "\x65\x39\xf8\xde", | |
8701 | .rlen = 32 + 20, | |
8702 | }, { /* RFC 3602 Case 3 */ | |
8703 | #ifdef __LITTLE_ENDIAN | |
8704 | .key = "\x08\x00" /* rta length */ | |
8705 | "\x01\x00" /* rta type */ | |
8706 | #else | |
8707 | .key = "\x00\x08" /* rta length */ | |
8708 | "\x00\x01" /* rta type */ | |
8709 | #endif | |
8710 | "\x00\x00\x00\x10" /* enc key length */ | |
8711 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
8712 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
8713 | "\x22\x33\x44\x55" | |
8714 | "\x6c\x3e\xa0\x47\x76\x30\xce\x21" | |
8715 | "\xa2\xce\x33\x4a\xa7\x46\xc2\xcd", | |
8716 | .klen = 8 + 20 + 16, | |
8717 | .iv = "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb" | |
8718 | "\xd9\xcd\x27\xd8\x25\x68\x2c\x81", | |
8719 | .input = "This is a 48-byte message (exactly 3 AES blocks)", | |
8720 | .ilen = 48, | |
8721 | .result = "\xd0\xa0\x2b\x38\x36\x45\x17\x53" | |
8722 | "\xd4\x93\x66\x5d\x33\xf0\xe8\x86" | |
8723 | "\x2d\xea\x54\xcd\xb2\x93\xab\xc7" | |
8724 | "\x50\x69\x39\x27\x67\x72\xf8\xd5" | |
8725 | "\x02\x1c\x19\x21\x6b\xad\x52\x5c" | |
8726 | "\x85\x79\x69\x5d\x83\xba\x26\x84" | |
8727 | "\xc2\xec\x0c\xf8\x7f\x05\xba\xca" | |
8728 | "\xff\xee\x4c\xd0\x93\xe6\x36\x7f" | |
8729 | "\x8d\x62\xf2\x1e", | |
8730 | .rlen = 48 + 20, | |
8731 | }, { /* RFC 3602 Case 4 */ | |
8732 | #ifdef __LITTLE_ENDIAN | |
8733 | .key = "\x08\x00" /* rta length */ | |
8734 | "\x01\x00" /* rta type */ | |
8735 | #else | |
8736 | .key = "\x00\x08" /* rta length */ | |
8737 | "\x00\x01" /* rta type */ | |
8738 | #endif | |
8739 | "\x00\x00\x00\x10" /* enc key length */ | |
8740 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
8741 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
8742 | "\x22\x33\x44\x55" | |
8743 | "\x56\xe4\x7a\x38\xc5\x59\x89\x74" | |
8744 | "\xbc\x46\x90\x3d\xba\x29\x03\x49", | |
8745 | .klen = 8 + 20 + 16, | |
8746 | .iv = "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c" | |
8747 | "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9", | |
8748 | .input = "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
8749 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
8750 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
8751 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
8752 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
8753 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
8754 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
8755 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf", | |
8756 | .ilen = 64, | |
8757 | .result = "\xc3\x0e\x32\xff\xed\xc0\x77\x4e" | |
8758 | "\x6a\xff\x6a\xf0\x86\x9f\x71\xaa" | |
8759 | "\x0f\x3a\xf0\x7a\x9a\x31\xa9\xc6" | |
8760 | "\x84\xdb\x20\x7e\xb0\xef\x8e\x4e" | |
8761 | "\x35\x90\x7a\xa6\x32\xc3\xff\xdf" | |
8762 | "\x86\x8b\xb7\xb2\x9d\x3d\x46\xad" | |
8763 | "\x83\xce\x9f\x9a\x10\x2e\xe9\x9d" | |
8764 | "\x49\xa5\x3e\x87\xf4\xc3\xda\x55" | |
8765 | "\x1c\x45\x57\xa9\x56\xcb\xa9\x2d" | |
8766 | "\x18\xac\xf1\xc7\x5d\xd1\xcd\x0d" | |
8767 | "\x1d\xbe\xc6\xe9", | |
8768 | .rlen = 64 + 20, | |
8769 | }, { /* RFC 3602 Case 5 */ | |
8770 | #ifdef __LITTLE_ENDIAN | |
8771 | .key = "\x08\x00" /* rta length */ | |
8772 | "\x01\x00" /* rta type */ | |
8773 | #else | |
8774 | .key = "\x00\x08" /* rta length */ | |
8775 | "\x00\x01" /* rta type */ | |
8776 | #endif | |
8777 | "\x00\x00\x00\x10" /* enc key length */ | |
8778 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
8779 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
8780 | "\x22\x33\x44\x55" | |
8781 | "\x90\xd3\x82\xb4\x10\xee\xba\x7a" | |
8782 | "\xd9\x38\xc4\x6c\xec\x1a\x82\xbf", | |
8783 | .klen = 8 + 20 + 16, | |
8784 | .iv = "\xe9\x6e\x8c\x08\xab\x46\x57\x63" | |
8785 | "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93", | |
8786 | .assoc = "\x00\x00\x43\x21\x00\x00\x00\x01", | |
8787 | .alen = 8, | |
8788 | .input = "\x08\x00\x0e\xbd\xa7\x0a\x00\x00" | |
8789 | "\x8e\x9c\x08\x3d\xb9\x5b\x07\x00" | |
8790 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8791 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8792 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
8793 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
8794 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
8795 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
8796 | "\x01\x02\x03\x04\x05\x06\x07\x08" | |
8797 | "\x09\x0a\x0b\x0c\x0d\x0e\x0e\x01", | |
8798 | .ilen = 80, | |
8799 | .result = "\xf6\x63\xc2\x5d\x32\x5c\x18\xc6" | |
8800 | "\xa9\x45\x3e\x19\x4e\x12\x08\x49" | |
8801 | "\xa4\x87\x0b\x66\xcc\x6b\x99\x65" | |
8802 | "\x33\x00\x13\xb4\x89\x8d\xc8\x56" | |
8803 | "\xa4\x69\x9e\x52\x3a\x55\xdb\x08" | |
8804 | "\x0b\x59\xec\x3a\x8e\x4b\x7e\x52" | |
8805 | "\x77\x5b\x07\xd1\xdb\x34\xed\x9c" | |
8806 | "\x53\x8a\xb5\x0c\x55\x1b\x87\x4a" | |
8807 | "\xa2\x69\xad\xd0\x47\xad\x2d\x59" | |
8808 | "\x13\xac\x19\xb7\xcf\xba\xd4\xa6" | |
8809 | "\x58\xc6\x84\x75\xe4\xe9\x6b\x0c" | |
8810 | "\xe1\xc5\x0b\x73\x4d\x82\x55\xa8" | |
8811 | "\x85\xe1\x59\xf7", | |
8812 | .rlen = 80 + 20, | |
8813 | }, { /* NIST SP800-38A F.2.3 CBC-AES192.Encrypt */ | |
8814 | #ifdef __LITTLE_ENDIAN | |
8815 | .key = "\x08\x00" /* rta length */ | |
8816 | "\x01\x00" /* rta type */ | |
8817 | #else | |
8818 | .key = "\x00\x08" /* rta length */ | |
8819 | "\x00\x01" /* rta type */ | |
8820 | #endif | |
8821 | "\x00\x00\x00\x18" /* enc key length */ | |
8822 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
8823 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
8824 | "\x22\x33\x44\x55" | |
8825 | "\x8e\x73\xb0\xf7\xda\x0e\x64\x52" | |
8826 | "\xc8\x10\xf3\x2b\x80\x90\x79\xe5" | |
8827 | "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b", | |
8828 | .klen = 8 + 20 + 24, | |
8829 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8830 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
8831 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
8832 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
8833 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
8834 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
8835 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
8836 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
8837 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
8838 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
8839 | .ilen = 64, | |
8840 | .result = "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d" | |
8841 | "\x71\x78\x18\x3a\x9f\xa0\x71\xe8" | |
8842 | "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4" | |
8843 | "\xe5\xe7\x38\x76\x3f\x69\x14\x5a" | |
8844 | "\x57\x1b\x24\x20\x12\xfb\x7a\xe0" | |
8845 | "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0" | |
8846 | "\x08\xb0\xe2\x79\x88\x59\x88\x81" | |
8847 | "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd" | |
8848 | "\x73\xe3\x19\x3f\x8b\xc9\xc6\xf4" | |
8849 | "\x5a\xf1\x5b\xa8\x98\x07\xc5\x36" | |
8850 | "\x47\x4c\xfc\x36", | |
8851 | .rlen = 64 + 20, | |
8852 | }, { /* NIST SP800-38A F.2.5 CBC-AES256.Encrypt */ | |
8853 | #ifdef __LITTLE_ENDIAN | |
8854 | .key = "\x08\x00" /* rta length */ | |
8855 | "\x01\x00" /* rta type */ | |
8856 | #else | |
8857 | .key = "\x00\x08" /* rta length */ | |
8858 | "\x00\x01" /* rta type */ | |
8859 | #endif | |
8860 | "\x00\x00\x00\x20" /* enc key length */ | |
8861 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
8862 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
8863 | "\x22\x33\x44\x55" | |
8864 | "\x60\x3d\xeb\x10\x15\xca\x71\xbe" | |
8865 | "\x2b\x73\xae\xf0\x85\x7d\x77\x81" | |
8866 | "\x1f\x35\x2c\x07\x3b\x61\x08\xd7" | |
8867 | "\x2d\x98\x10\xa3\x09\x14\xdf\xf4", | |
8868 | .klen = 8 + 20 + 32, | |
8869 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8870 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
8871 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
8872 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
8873 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
8874 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
8875 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
8876 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
8877 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
8878 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
8879 | .ilen = 64, | |
8880 | .result = "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba" | |
8881 | "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6" | |
8882 | "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d" | |
8883 | "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d" | |
8884 | "\x39\xf2\x33\x69\xa9\xd9\xba\xcf" | |
8885 | "\xa5\x30\xe2\x63\x04\x23\x14\x61" | |
8886 | "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc" | |
8887 | "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b" | |
8888 | "\xa3\xe8\x9b\x17\xe3\xf4\x7f\xde" | |
8889 | "\x1b\x9f\xc6\x81\x26\x43\x4a\x87" | |
8890 | "\x51\xee\xd6\x4e", | |
8891 | .rlen = 64 + 20, | |
8892 | }, | |
8893 | }; | |
8894 | ||
8895 | static struct aead_testvec hmac_sha256_aes_cbc_enc_tv_template[] = { | |
8896 | { /* RFC 3602 Case 1 */ | |
8897 | #ifdef __LITTLE_ENDIAN | |
8898 | .key = "\x08\x00" /* rta length */ | |
8899 | "\x01\x00" /* rta type */ | |
8900 | #else | |
8901 | .key = "\x00\x08" /* rta length */ | |
8902 | "\x00\x01" /* rta type */ | |
8903 | #endif | |
8904 | "\x00\x00\x00\x10" /* enc key length */ | |
8905 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
8906 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
8907 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
8908 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
8909 | "\x06\xa9\x21\x40\x36\xb8\xa1\x5b" | |
8910 | "\x51\x2e\x03\xd5\x34\x12\x00\x06", | |
8911 | .klen = 8 + 32 + 16, | |
8912 | .iv = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30" | |
8913 | "\xb4\x22\xda\x80\x2c\x9f\xac\x41", | |
8914 | .input = "Single block msg", | |
8915 | .ilen = 16, | |
8916 | .result = "\xe3\x53\x77\x9c\x10\x79\xae\xb8" | |
8917 | "\x27\x08\x94\x2d\xbe\x77\x18\x1a" | |
8918 | "\xcc\xde\x2d\x6a\xae\xf1\x0b\xcc" | |
8919 | "\x38\x06\x38\x51\xb4\xb8\xf3\x5b" | |
8920 | "\x5c\x34\xa6\xa3\x6e\x0b\x05\xe5" | |
8921 | "\x6a\x6d\x44\xaa\x26\xa8\x44\xa5", | |
8922 | .rlen = 16 + 32, | |
8923 | }, { /* RFC 3602 Case 2 */ | |
8924 | #ifdef __LITTLE_ENDIAN | |
8925 | .key = "\x08\x00" /* rta length */ | |
8926 | "\x01\x00" /* rta type */ | |
8927 | #else | |
8928 | .key = "\x00\x08" /* rta length */ | |
8929 | "\x00\x01" /* rta type */ | |
8930 | #endif | |
8931 | "\x00\x00\x00\x10" /* enc key length */ | |
8932 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
8933 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
8934 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
8935 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
8936 | "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0" | |
8937 | "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a", | |
8938 | .klen = 8 + 32 + 16, | |
8939 | .iv = "\x56\x2e\x17\x99\x6d\x09\x3d\x28" | |
8940 | "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58", | |
8941 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
8942 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
8943 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
8944 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
8945 | .ilen = 32, | |
8946 | .result = "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a" | |
8947 | "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a" | |
8948 | "\x75\x86\x60\x2d\x25\x3c\xff\xf9" | |
8949 | "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1" | |
8950 | "\xf5\x33\x53\xf3\x68\x85\x2a\x99" | |
8951 | "\x0e\x06\x58\x8f\xba\xf6\x06\xda" | |
8952 | "\x49\x69\x0d\x5b\xd4\x36\x06\x62" | |
8953 | "\x35\x5e\x54\x58\x53\x4d\xdf\xbf", | |
8954 | .rlen = 32 + 32, | |
8955 | }, { /* RFC 3602 Case 3 */ | |
8956 | #ifdef __LITTLE_ENDIAN | |
8957 | .key = "\x08\x00" /* rta length */ | |
8958 | "\x01\x00" /* rta type */ | |
8959 | #else | |
8960 | .key = "\x00\x08" /* rta length */ | |
8961 | "\x00\x01" /* rta type */ | |
8962 | #endif | |
8963 | "\x00\x00\x00\x10" /* enc key length */ | |
8964 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
8965 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
8966 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
8967 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
8968 | "\x6c\x3e\xa0\x47\x76\x30\xce\x21" | |
8969 | "\xa2\xce\x33\x4a\xa7\x46\xc2\xcd", | |
8970 | .klen = 8 + 32 + 16, | |
8971 | .iv = "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb" | |
8972 | "\xd9\xcd\x27\xd8\x25\x68\x2c\x81", | |
8973 | .input = "This is a 48-byte message (exactly 3 AES blocks)", | |
8974 | .ilen = 48, | |
8975 | .result = "\xd0\xa0\x2b\x38\x36\x45\x17\x53" | |
8976 | "\xd4\x93\x66\x5d\x33\xf0\xe8\x86" | |
8977 | "\x2d\xea\x54\xcd\xb2\x93\xab\xc7" | |
8978 | "\x50\x69\x39\x27\x67\x72\xf8\xd5" | |
8979 | "\x02\x1c\x19\x21\x6b\xad\x52\x5c" | |
8980 | "\x85\x79\x69\x5d\x83\xba\x26\x84" | |
8981 | "\x68\xb9\x3e\x90\x38\xa0\x88\x01" | |
8982 | "\xe7\xc6\xce\x10\x31\x2f\x9b\x1d" | |
8983 | "\x24\x78\xfb\xbe\x02\xe0\x4f\x40" | |
8984 | "\x10\xbd\xaa\xc6\xa7\x79\xe0\x1a", | |
8985 | .rlen = 48 + 32, | |
8986 | }, { /* RFC 3602 Case 4 */ | |
8987 | #ifdef __LITTLE_ENDIAN | |
8988 | .key = "\x08\x00" /* rta length */ | |
8989 | "\x01\x00" /* rta type */ | |
8990 | #else | |
8991 | .key = "\x00\x08" /* rta length */ | |
8992 | "\x00\x01" /* rta type */ | |
8993 | #endif | |
8994 | "\x00\x00\x00\x10" /* enc key length */ | |
8995 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
8996 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
8997 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
8998 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
8999 | "\x56\xe4\x7a\x38\xc5\x59\x89\x74" | |
9000 | "\xbc\x46\x90\x3d\xba\x29\x03\x49", | |
9001 | .klen = 8 + 32 + 16, | |
9002 | .iv = "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c" | |
9003 | "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9", | |
9004 | .input = "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
9005 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
9006 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
9007 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
9008 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
9009 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
9010 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
9011 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf", | |
9012 | .ilen = 64, | |
9013 | .result = "\xc3\x0e\x32\xff\xed\xc0\x77\x4e" | |
9014 | "\x6a\xff\x6a\xf0\x86\x9f\x71\xaa" | |
9015 | "\x0f\x3a\xf0\x7a\x9a\x31\xa9\xc6" | |
9016 | "\x84\xdb\x20\x7e\xb0\xef\x8e\x4e" | |
9017 | "\x35\x90\x7a\xa6\x32\xc3\xff\xdf" | |
9018 | "\x86\x8b\xb7\xb2\x9d\x3d\x46\xad" | |
9019 | "\x83\xce\x9f\x9a\x10\x2e\xe9\x9d" | |
9020 | "\x49\xa5\x3e\x87\xf4\xc3\xda\x55" | |
9021 | "\x7a\x1b\xd4\x3c\xdb\x17\x95\xe2" | |
9022 | "\xe0\x93\xec\xc9\x9f\xf7\xce\xd8" | |
9023 | "\x3f\x54\xe2\x49\x39\xe3\x71\x25" | |
9024 | "\x2b\x6c\xe9\x5d\xec\xec\x2b\x64", | |
9025 | .rlen = 64 + 32, | |
9026 | }, { /* RFC 3602 Case 5 */ | |
9027 | #ifdef __LITTLE_ENDIAN | |
9028 | .key = "\x08\x00" /* rta length */ | |
9029 | "\x01\x00" /* rta type */ | |
9030 | #else | |
9031 | .key = "\x00\x08" /* rta length */ | |
9032 | "\x00\x01" /* rta type */ | |
9033 | #endif | |
9034 | "\x00\x00\x00\x10" /* enc key length */ | |
9035 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
9036 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
9037 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
9038 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
9039 | "\x90\xd3\x82\xb4\x10\xee\xba\x7a" | |
9040 | "\xd9\x38\xc4\x6c\xec\x1a\x82\xbf", | |
9041 | .klen = 8 + 32 + 16, | |
9042 | .iv = "\xe9\x6e\x8c\x08\xab\x46\x57\x63" | |
9043 | "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93", | |
9044 | .assoc = "\x00\x00\x43\x21\x00\x00\x00\x01", | |
9045 | .alen = 8, | |
9046 | .input = "\x08\x00\x0e\xbd\xa7\x0a\x00\x00" | |
9047 | "\x8e\x9c\x08\x3d\xb9\x5b\x07\x00" | |
9048 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
9049 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
9050 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
9051 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
9052 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
9053 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9054 | "\x01\x02\x03\x04\x05\x06\x07\x08" | |
9055 | "\x09\x0a\x0b\x0c\x0d\x0e\x0e\x01", | |
9056 | .ilen = 80, | |
9057 | .result = "\xf6\x63\xc2\x5d\x32\x5c\x18\xc6" | |
9058 | "\xa9\x45\x3e\x19\x4e\x12\x08\x49" | |
9059 | "\xa4\x87\x0b\x66\xcc\x6b\x99\x65" | |
9060 | "\x33\x00\x13\xb4\x89\x8d\xc8\x56" | |
9061 | "\xa4\x69\x9e\x52\x3a\x55\xdb\x08" | |
9062 | "\x0b\x59\xec\x3a\x8e\x4b\x7e\x52" | |
9063 | "\x77\x5b\x07\xd1\xdb\x34\xed\x9c" | |
9064 | "\x53\x8a\xb5\x0c\x55\x1b\x87\x4a" | |
9065 | "\xa2\x69\xad\xd0\x47\xad\x2d\x59" | |
9066 | "\x13\xac\x19\xb7\xcf\xba\xd4\xa6" | |
9067 | "\xbb\xd4\x0f\xbe\xa3\x3b\x4c\xb8" | |
9068 | "\x3a\xd2\xe1\x03\x86\xa5\x59\xb7" | |
9069 | "\x73\xc3\x46\x20\x2c\xb1\xef\x68" | |
9070 | "\xbb\x8a\x32\x7e\x12\x8c\x69\xcf", | |
9071 | .rlen = 80 + 32, | |
9072 | }, { /* NIST SP800-38A F.2.3 CBC-AES192.Encrypt */ | |
9073 | #ifdef __LITTLE_ENDIAN | |
9074 | .key = "\x08\x00" /* rta length */ | |
9075 | "\x01\x00" /* rta type */ | |
9076 | #else | |
9077 | .key = "\x00\x08" /* rta length */ | |
9078 | "\x00\x01" /* rta type */ | |
9079 | #endif | |
9080 | "\x00\x00\x00\x18" /* enc key length */ | |
9081 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
9082 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
9083 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
9084 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
9085 | "\x8e\x73\xb0\xf7\xda\x0e\x64\x52" | |
9086 | "\xc8\x10\xf3\x2b\x80\x90\x79\xe5" | |
9087 | "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b", | |
9088 | .klen = 8 + 32 + 24, | |
9089 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
9090 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
9091 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
9092 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
9093 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
9094 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
9095 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
9096 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
9097 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
9098 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
9099 | .ilen = 64, | |
9100 | .result = "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d" | |
9101 | "\x71\x78\x18\x3a\x9f\xa0\x71\xe8" | |
9102 | "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4" | |
9103 | "\xe5\xe7\x38\x76\x3f\x69\x14\x5a" | |
9104 | "\x57\x1b\x24\x20\x12\xfb\x7a\xe0" | |
9105 | "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0" | |
9106 | "\x08\xb0\xe2\x79\x88\x59\x88\x81" | |
9107 | "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd" | |
9108 | "\x2f\xee\x5f\xdb\x66\xfe\x79\x09" | |
9109 | "\x61\x81\x31\xea\x5b\x3d\x8e\xfb" | |
9110 | "\xca\x71\x85\x93\xf7\x85\x55\x8b" | |
9111 | "\x7a\xe4\x94\xca\x8b\xba\x19\x33", | |
9112 | .rlen = 64 + 32, | |
9113 | }, { /* NIST SP800-38A F.2.5 CBC-AES256.Encrypt */ | |
9114 | #ifdef __LITTLE_ENDIAN | |
9115 | .key = "\x08\x00" /* rta length */ | |
9116 | "\x01\x00" /* rta type */ | |
9117 | #else | |
9118 | .key = "\x00\x08" /* rta length */ | |
9119 | "\x00\x01" /* rta type */ | |
9120 | #endif | |
9121 | "\x00\x00\x00\x20" /* enc key length */ | |
9122 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
9123 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
9124 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
9125 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
9126 | "\x60\x3d\xeb\x10\x15\xca\x71\xbe" | |
9127 | "\x2b\x73\xae\xf0\x85\x7d\x77\x81" | |
9128 | "\x1f\x35\x2c\x07\x3b\x61\x08\xd7" | |
9129 | "\x2d\x98\x10\xa3\x09\x14\xdf\xf4", | |
9130 | .klen = 8 + 32 + 32, | |
9131 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
9132 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
9133 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
9134 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
9135 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
9136 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
9137 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
9138 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
9139 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
9140 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
9141 | .ilen = 64, | |
9142 | .result = "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba" | |
9143 | "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6" | |
9144 | "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d" | |
9145 | "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d" | |
9146 | "\x39\xf2\x33\x69\xa9\xd9\xba\xcf" | |
9147 | "\xa5\x30\xe2\x63\x04\x23\x14\x61" | |
9148 | "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc" | |
9149 | "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b" | |
9150 | "\x24\x29\xed\xc2\x31\x49\xdb\xb1" | |
9151 | "\x8f\x74\xbd\x17\x92\x03\xbe\x8f" | |
9152 | "\xf3\x61\xde\x1c\xe9\xdb\xcd\xd0" | |
9153 | "\xcc\xce\xe9\x85\x57\xcf\x6f\x5f", | |
9154 | .rlen = 64 + 32, | |
9155 | }, | |
9156 | }; | |
9157 | ||
9158 | static struct aead_testvec hmac_sha512_aes_cbc_enc_tv_template[] = { | |
9159 | { /* RFC 3602 Case 1 */ | |
9160 | #ifdef __LITTLE_ENDIAN | |
9161 | .key = "\x08\x00" /* rta length */ | |
9162 | "\x01\x00" /* rta type */ | |
9163 | #else | |
9164 | .key = "\x00\x08" /* rta length */ | |
9165 | "\x00\x01" /* rta type */ | |
9166 | #endif | |
9167 | "\x00\x00\x00\x10" /* enc key length */ | |
9168 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9169 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9170 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9171 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9172 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9173 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9174 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9175 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9176 | "\x06\xa9\x21\x40\x36\xb8\xa1\x5b" | |
9177 | "\x51\x2e\x03\xd5\x34\x12\x00\x06", | |
9178 | .klen = 8 + 64 + 16, | |
9179 | .iv = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30" | |
9180 | "\xb4\x22\xda\x80\x2c\x9f\xac\x41", | |
9181 | .input = "Single block msg", | |
9182 | .ilen = 16, | |
9183 | .result = "\xe3\x53\x77\x9c\x10\x79\xae\xb8" | |
9184 | "\x27\x08\x94\x2d\xbe\x77\x18\x1a" | |
9185 | "\x3f\xdc\xad\x90\x03\x63\x5e\x68" | |
9186 | "\xc3\x13\xdd\xa4\x5c\x4d\x54\xa7" | |
9187 | "\x19\x6e\x03\x75\x2b\xa1\x62\xce" | |
9188 | "\xe0\xc6\x96\x75\xb2\x14\xca\x96" | |
9189 | "\xec\xbd\x50\x08\x07\x64\x1a\x49" | |
9190 | "\xe8\x9a\x7c\x06\x3d\xcb\xff\xb2" | |
9191 | "\xfa\x20\x89\xdd\x9c\xac\x9e\x16" | |
9192 | "\x18\x8a\xa0\x6d\x01\x6c\xa3\x3a", | |
9193 | .rlen = 16 + 64, | |
9194 | }, { /* RFC 3602 Case 2 */ | |
9195 | #ifdef __LITTLE_ENDIAN | |
9196 | .key = "\x08\x00" /* rta length */ | |
9197 | "\x01\x00" /* rta type */ | |
9198 | #else | |
9199 | .key = "\x00\x08" /* rta length */ | |
9200 | "\x00\x01" /* rta type */ | |
9201 | #endif | |
9202 | "\x00\x00\x00\x10" /* enc key length */ | |
9203 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
9204 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
9205 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9206 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
9207 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
9208 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
9209 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
9210 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
9211 | "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0" | |
9212 | "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a", | |
9213 | .klen = 8 + 64 + 16, | |
9214 | .iv = "\x56\x2e\x17\x99\x6d\x09\x3d\x28" | |
9215 | "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58", | |
9216 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
9217 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
9218 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
9219 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
9220 | .ilen = 32, | |
9221 | .result = "\xd2\x96\xcd\x94\xc2\xcc\xcf\x8a" | |
9222 | "\x3a\x86\x30\x28\xb5\xe1\xdc\x0a" | |
9223 | "\x75\x86\x60\x2d\x25\x3c\xff\xf9" | |
9224 | "\x1b\x82\x66\xbe\xa6\xd6\x1a\xb1" | |
9225 | "\xda\xb2\x0c\xb2\x26\xc4\xd5\xef" | |
9226 | "\x60\x38\xa4\x5e\x9a\x8c\x1b\x41" | |
9227 | "\x03\x9f\xc4\x64\x7f\x01\x42\x9b" | |
9228 | "\x0e\x1b\xea\xef\xbc\x88\x19\x5e" | |
9229 | "\x31\x7e\xc2\x95\xfc\x09\x32\x0a" | |
9230 | "\x46\x32\x7c\x41\x9c\x59\x3e\xe9" | |
9231 | "\x8f\x9f\xd4\x31\xd6\x22\xbd\xf8" | |
9232 | "\xf7\x0a\x94\xe5\xa9\xc3\xf6\x9d", | |
9233 | .rlen = 32 + 64, | |
9234 | }, { /* RFC 3602 Case 3 */ | |
9235 | #ifdef __LITTLE_ENDIAN | |
9236 | .key = "\x08\x00" /* rta length */ | |
9237 | "\x01\x00" /* rta type */ | |
9238 | #else | |
9239 | .key = "\x00\x08" /* rta length */ | |
9240 | "\x00\x01" /* rta type */ | |
9241 | #endif | |
9242 | "\x00\x00\x00\x10" /* enc key length */ | |
9243 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
9244 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
9245 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
9246 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
9247 | "\x33\x44\x55\x66\x77\x88\x99\xaa" | |
9248 | "\xbb\xcc\xdd\xee\xff\x11\x22\x33" | |
9249 | "\x44\x55\x66\x77\x88\x99\xaa\xbb" | |
9250 | "\xcc\xdd\xee\xff\x11\x22\x33\x44" | |
9251 | "\x6c\x3e\xa0\x47\x76\x30\xce\x21" | |
9252 | "\xa2\xce\x33\x4a\xa7\x46\xc2\xcd", | |
9253 | .klen = 8 + 64 + 16, | |
9254 | .iv = "\xc7\x82\xdc\x4c\x09\x8c\x66\xcb" | |
9255 | "\xd9\xcd\x27\xd8\x25\x68\x2c\x81", | |
9256 | .input = "This is a 48-byte message (exactly 3 AES blocks)", | |
9257 | .ilen = 48, | |
9258 | .result = "\xd0\xa0\x2b\x38\x36\x45\x17\x53" | |
9259 | "\xd4\x93\x66\x5d\x33\xf0\xe8\x86" | |
9260 | "\x2d\xea\x54\xcd\xb2\x93\xab\xc7" | |
9261 | "\x50\x69\x39\x27\x67\x72\xf8\xd5" | |
9262 | "\x02\x1c\x19\x21\x6b\xad\x52\x5c" | |
9263 | "\x85\x79\x69\x5d\x83\xba\x26\x84" | |
9264 | "\x64\x19\x17\x5b\x57\xe0\x21\x0f" | |
9265 | "\xca\xdb\xa1\x26\x38\x14\xa2\x69" | |
9266 | "\xdb\x54\x67\x80\xc0\x54\xe0\xfd" | |
9267 | "\x3e\x91\xe7\x91\x7f\x13\x38\x44" | |
9268 | "\xb7\xb1\xd6\xc8\x7d\x48\x8d\x41" | |
9269 | "\x08\xea\x29\x6c\x74\x67\x3f\xb0" | |
9270 | "\xac\x7f\x5c\x1d\xf5\xee\x22\x66" | |
9271 | "\x27\xa6\xb6\x13\xba\xba\xf0\xc2", | |
9272 | .rlen = 48 + 64, | |
9273 | }, { /* RFC 3602 Case 4 */ | |
9274 | #ifdef __LITTLE_ENDIAN | |
9275 | .key = "\x08\x00" /* rta length */ | |
9276 | "\x01\x00" /* rta type */ | |
9277 | #else | |
9278 | .key = "\x00\x08" /* rta length */ | |
9279 | "\x00\x01" /* rta type */ | |
9280 | #endif | |
9281 | "\x00\x00\x00\x10" /* enc key length */ | |
9282 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
9283 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
9284 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
9285 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
9286 | "\x33\x44\x55\x66\x77\x88\x99\xaa" | |
9287 | "\xbb\xcc\xdd\xee\xff\x11\x22\x33" | |
9288 | "\x44\x55\x66\x77\x88\x99\xaa\xbb" | |
9289 | "\xcc\xdd\xee\xff\x11\x22\x33\x44" | |
9290 | "\x56\xe4\x7a\x38\xc5\x59\x89\x74" | |
9291 | "\xbc\x46\x90\x3d\xba\x29\x03\x49", | |
9292 | .klen = 8 + 64 + 16, | |
9293 | .iv = "\x8c\xe8\x2e\xef\xbe\xa0\xda\x3c" | |
9294 | "\x44\x69\x9e\xd7\xdb\x51\xb7\xd9", | |
9295 | .input = "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
9296 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
9297 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
9298 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
9299 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
9300 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
9301 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
9302 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf", | |
9303 | .ilen = 64, | |
9304 | .result = "\xc3\x0e\x32\xff\xed\xc0\x77\x4e" | |
9305 | "\x6a\xff\x6a\xf0\x86\x9f\x71\xaa" | |
9306 | "\x0f\x3a\xf0\x7a\x9a\x31\xa9\xc6" | |
9307 | "\x84\xdb\x20\x7e\xb0\xef\x8e\x4e" | |
9308 | "\x35\x90\x7a\xa6\x32\xc3\xff\xdf" | |
9309 | "\x86\x8b\xb7\xb2\x9d\x3d\x46\xad" | |
9310 | "\x83\xce\x9f\x9a\x10\x2e\xe9\x9d" | |
9311 | "\x49\xa5\x3e\x87\xf4\xc3\xda\x55" | |
9312 | "\x82\xcd\x42\x28\x21\x20\x15\xcc" | |
9313 | "\xb7\xb2\x48\x40\xc7\x64\x41\x3a" | |
9314 | "\x61\x32\x82\x85\xcf\x27\xed\xb4" | |
9315 | "\xe4\x68\xa2\xf5\x79\x26\x27\xb2" | |
9316 | "\x51\x67\x6a\xc4\xf0\x66\x55\x50" | |
9317 | "\xbc\x6f\xed\xd5\x8d\xde\x23\x7c" | |
9318 | "\x62\x98\x14\xd7\x2f\x37\x8d\xdf" | |
9319 | "\xf4\x33\x80\xeb\x8e\xb4\xa4\xda", | |
9320 | .rlen = 64 + 64, | |
9321 | }, { /* RFC 3602 Case 5 */ | |
9322 | #ifdef __LITTLE_ENDIAN | |
9323 | .key = "\x08\x00" /* rta length */ | |
9324 | "\x01\x00" /* rta type */ | |
9325 | #else | |
9326 | .key = "\x00\x08" /* rta length */ | |
9327 | "\x00\x01" /* rta type */ | |
9328 | #endif | |
9329 | "\x00\x00\x00\x10" /* enc key length */ | |
9330 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
9331 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
9332 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
9333 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
9334 | "\x33\x44\x55\x66\x77\x88\x99\xaa" | |
9335 | "\xbb\xcc\xdd\xee\xff\x11\x22\x33" | |
9336 | "\x44\x55\x66\x77\x88\x99\xaa\xbb" | |
9337 | "\xcc\xdd\xee\xff\x11\x22\x33\x44" | |
9338 | "\x90\xd3\x82\xb4\x10\xee\xba\x7a" | |
9339 | "\xd9\x38\xc4\x6c\xec\x1a\x82\xbf", | |
9340 | .klen = 8 + 64 + 16, | |
9341 | .iv = "\xe9\x6e\x8c\x08\xab\x46\x57\x63" | |
9342 | "\xfd\x09\x8d\x45\xdd\x3f\xf8\x93", | |
9343 | .assoc = "\x00\x00\x43\x21\x00\x00\x00\x01", | |
9344 | .alen = 8, | |
9345 | .input = "\x08\x00\x0e\xbd\xa7\x0a\x00\x00" | |
9346 | "\x8e\x9c\x08\x3d\xb9\x5b\x07\x00" | |
9347 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
9348 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
9349 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
9350 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
9351 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
9352 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9353 | "\x01\x02\x03\x04\x05\x06\x07\x08" | |
9354 | "\x09\x0a\x0b\x0c\x0d\x0e\x0e\x01", | |
9355 | .ilen = 80, | |
9356 | .result = "\xf6\x63\xc2\x5d\x32\x5c\x18\xc6" | |
9357 | "\xa9\x45\x3e\x19\x4e\x12\x08\x49" | |
9358 | "\xa4\x87\x0b\x66\xcc\x6b\x99\x65" | |
9359 | "\x33\x00\x13\xb4\x89\x8d\xc8\x56" | |
9360 | "\xa4\x69\x9e\x52\x3a\x55\xdb\x08" | |
9361 | "\x0b\x59\xec\x3a\x8e\x4b\x7e\x52" | |
9362 | "\x77\x5b\x07\xd1\xdb\x34\xed\x9c" | |
9363 | "\x53\x8a\xb5\x0c\x55\x1b\x87\x4a" | |
9364 | "\xa2\x69\xad\xd0\x47\xad\x2d\x59" | |
9365 | "\x13\xac\x19\xb7\xcf\xba\xd4\xa6" | |
9366 | "\x74\x84\x94\xe2\xd7\x7a\xf9\xbf" | |
9367 | "\x00\x8a\xa2\xd5\xb7\xf3\x60\xcf" | |
9368 | "\xa0\x47\xdf\x4e\x09\xf4\xb1\x7f" | |
9369 | "\x14\xd9\x3d\x53\x8e\x12\xb3\x00" | |
9370 | "\x4c\x0a\x4e\x32\x40\x43\x88\xce" | |
9371 | "\x92\x26\xc1\x76\x20\x11\xeb\xba" | |
9372 | "\x62\x4f\x9a\x62\x25\xc3\x75\x80" | |
9373 | "\xb7\x0a\x17\xf5\xd7\x94\xb4\x14", | |
9374 | .rlen = 80 + 64, | |
9375 | }, { /* NIST SP800-38A F.2.3 CBC-AES192.Encrypt */ | |
9376 | #ifdef __LITTLE_ENDIAN | |
9377 | .key = "\x08\x00" /* rta length */ | |
9378 | "\x01\x00" /* rta type */ | |
9379 | #else | |
9380 | .key = "\x00\x08" /* rta length */ | |
9381 | "\x00\x01" /* rta type */ | |
9382 | #endif | |
9383 | "\x00\x00\x00\x18" /* enc key length */ | |
9384 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
9385 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
9386 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
9387 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
9388 | "\x33\x44\x55\x66\x77\x88\x99\xaa" | |
9389 | "\xbb\xcc\xdd\xee\xff\x11\x22\x33" | |
9390 | "\x44\x55\x66\x77\x88\x99\xaa\xbb" | |
9391 | "\xcc\xdd\xee\xff\x11\x22\x33\x44" | |
9392 | "\x8e\x73\xb0\xf7\xda\x0e\x64\x52" | |
9393 | "\xc8\x10\xf3\x2b\x80\x90\x79\xe5" | |
9394 | "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b", | |
9395 | .klen = 8 + 64 + 24, | |
9396 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
9397 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
9398 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
9399 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
9400 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
9401 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
9402 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
9403 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
9404 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
9405 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
9406 | .ilen = 64, | |
9407 | .result = "\x4f\x02\x1d\xb2\x43\xbc\x63\x3d" | |
9408 | "\x71\x78\x18\x3a\x9f\xa0\x71\xe8" | |
9409 | "\xb4\xd9\xad\xa9\xad\x7d\xed\xf4" | |
9410 | "\xe5\xe7\x38\x76\x3f\x69\x14\x5a" | |
9411 | "\x57\x1b\x24\x20\x12\xfb\x7a\xe0" | |
9412 | "\x7f\xa9\xba\xac\x3d\xf1\x02\xe0" | |
9413 | "\x08\xb0\xe2\x79\x88\x59\x88\x81" | |
9414 | "\xd9\x20\xa9\xe6\x4f\x56\x15\xcd" | |
9415 | "\x77\x4b\x69\x9d\x3a\x0d\xb4\x99" | |
9416 | "\x8f\xc6\x8e\x0e\x72\x58\xe3\x56" | |
9417 | "\xbb\x21\xd2\x7d\x93\x11\x17\x91" | |
9418 | "\xc4\x83\xfd\x0a\xea\x71\xfe\x77" | |
9419 | "\xae\x6f\x0a\xa5\xf0\xcf\xe1\x35" | |
9420 | "\xba\x03\xd5\x32\xfa\x5f\x41\x58" | |
9421 | "\x8d\x43\x98\xa7\x94\x16\x07\x02" | |
9422 | "\x0f\xb6\x81\x50\x28\x95\x2e\x75", | |
9423 | .rlen = 64 + 64, | |
9424 | }, { /* NIST SP800-38A F.2.5 CBC-AES256.Encrypt */ | |
9425 | #ifdef __LITTLE_ENDIAN | |
9426 | .key = "\x08\x00" /* rta length */ | |
9427 | "\x01\x00" /* rta type */ | |
9428 | #else | |
9429 | .key = "\x00\x08" /* rta length */ | |
9430 | "\x00\x01" /* rta type */ | |
9431 | #endif | |
9432 | "\x00\x00\x00\x20" /* enc key length */ | |
9433 | "\x11\x22\x33\x44\x55\x66\x77\x88" | |
9434 | "\x99\xaa\xbb\xcc\xdd\xee\xff\x11" | |
9435 | "\x22\x33\x44\x55\x66\x77\x88\x99" | |
9436 | "\xaa\xbb\xcc\xdd\xee\xff\x11\x22" | |
9437 | "\x33\x44\x55\x66\x77\x88\x99\xaa" | |
9438 | "\xbb\xcc\xdd\xee\xff\x11\x22\x33" | |
9439 | "\x44\x55\x66\x77\x88\x99\xaa\xbb" | |
9440 | "\xcc\xdd\xee\xff\x11\x22\x33\x44" | |
9441 | "\x60\x3d\xeb\x10\x15\xca\x71\xbe" | |
9442 | "\x2b\x73\xae\xf0\x85\x7d\x77\x81" | |
9443 | "\x1f\x35\x2c\x07\x3b\x61\x08\xd7" | |
9444 | "\x2d\x98\x10\xa3\x09\x14\xdf\xf4", | |
9445 | .klen = 8 + 64 + 32, | |
9446 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
9447 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
9448 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
9449 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
9450 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
9451 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
9452 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
9453 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
9454 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
9455 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
9456 | .ilen = 64, | |
9457 | .result = "\xf5\x8c\x4c\x04\xd6\xe5\xf1\xba" | |
9458 | "\x77\x9e\xab\xfb\x5f\x7b\xfb\xd6" | |
9459 | "\x9c\xfc\x4e\x96\x7e\xdb\x80\x8d" | |
9460 | "\x67\x9f\x77\x7b\xc6\x70\x2c\x7d" | |
9461 | "\x39\xf2\x33\x69\xa9\xd9\xba\xcf" | |
9462 | "\xa5\x30\xe2\x63\x04\x23\x14\x61" | |
9463 | "\xb2\xeb\x05\xe2\xc3\x9b\xe9\xfc" | |
9464 | "\xda\x6c\x19\x07\x8c\x6a\x9d\x1b" | |
9465 | "\xb2\x27\x69\x7f\x45\x64\x79\x2b" | |
9466 | "\xb7\xb8\x4c\xd4\x75\x94\x68\x40" | |
9467 | "\x2a\xea\x91\xc7\x3f\x7c\xed\x7b" | |
9468 | "\x95\x2c\x9b\xa8\xf5\xe5\x52\x8d" | |
9469 | "\x6b\xe1\xae\xf1\x74\xfa\x0d\x0c" | |
9470 | "\xe3\x8d\x64\xc3\x8d\xff\x7c\x8c" | |
9471 | "\xdb\xbf\xa0\xb4\x01\xa2\xa8\xa2" | |
9472 | "\x2c\xb1\x62\x2c\x10\xca\xf1\x21", | |
9473 | .rlen = 64 + 64, | |
9474 | }, | |
9475 | }; | |
9476 | ||
da7f033d HX |
9477 | static struct cipher_testvec aes_lrw_enc_tv_template[] = { |
9478 | /* from http://grouper.ieee.org/groups/1619/email/pdf00017.pdf */ | |
9479 | { /* LRW-32-AES 1 */ | |
9480 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | |
9481 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | |
9482 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | |
9483 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | |
9484 | .klen = 32, | |
9485 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9486 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
9487 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9488 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9489 | .ilen = 16, | |
9490 | .result = "\xf1\xb2\x73\xcd\x65\xa3\xdf\x5f" | |
9491 | "\xe9\x5d\x48\x92\x54\x63\x4e\xb8", | |
9492 | .rlen = 16, | |
9493 | }, { /* LRW-32-AES 2 */ | |
9494 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | |
9495 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | |
9496 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | |
9497 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | |
9498 | .klen = 32, | |
9499 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9500 | "\x00\x00\x00\x00\x00\x00\x00\x02", | |
9501 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9502 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9503 | .ilen = 16, | |
9504 | .result = "\x00\xc8\x2b\xae\x95\xbb\xcd\xe5" | |
9505 | "\x27\x4f\x07\x69\xb2\x60\xe1\x36", | |
9506 | .rlen = 16, | |
9507 | }, { /* LRW-32-AES 3 */ | |
9508 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | |
9509 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | |
9510 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | |
9511 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | |
9512 | .klen = 32, | |
9513 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9514 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
9515 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9516 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9517 | .ilen = 16, | |
9518 | .result = "\x76\x32\x21\x83\xed\x8f\xf1\x82" | |
9519 | "\xf9\x59\x62\x03\x69\x0e\x5e\x01", | |
9520 | .rlen = 16, | |
9521 | }, { /* LRW-32-AES 4 */ | |
9522 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | |
9523 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | |
9524 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | |
9525 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | |
9526 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | |
9527 | .klen = 40, | |
9528 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9529 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
9530 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9531 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9532 | .ilen = 16, | |
9533 | .result = "\x9c\x0f\x15\x2f\x55\xa2\xd8\xf0" | |
9534 | "\xd6\x7b\x8f\x9e\x28\x22\xbc\x41", | |
9535 | .rlen = 16, | |
9536 | }, { /* LRW-32-AES 5 */ | |
9537 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | |
9538 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | |
9539 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | |
9540 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | |
9541 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | |
9542 | .klen = 40, | |
9543 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9544 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
9545 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9546 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9547 | .ilen = 16, | |
9548 | .result = "\xd4\x27\x6a\x7f\x14\x91\x3d\x65" | |
9549 | "\xc8\x60\x48\x02\x87\xe3\x34\x06", | |
9550 | .rlen = 16, | |
9551 | }, { /* LRW-32-AES 6 */ | |
9552 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
9553 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
9554 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
9555 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
9556 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
9557 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
9558 | .klen = 48, | |
9559 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9560 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
9561 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9562 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9563 | .ilen = 16, | |
9564 | .result = "\xbd\x06\xb8\xe1\xdb\x98\x89\x9e" | |
9565 | "\xc4\x98\xe4\x91\xcf\x1c\x70\x2b", | |
9566 | .rlen = 16, | |
9567 | }, { /* LRW-32-AES 7 */ | |
9568 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | |
9569 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | |
9570 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | |
9571 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | |
9572 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | |
9573 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | |
9574 | .klen = 48, | |
9575 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9576 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
9577 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9578 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9579 | .ilen = 16, | |
9580 | .result = "\x5b\x90\x8e\xc1\xab\xdd\x67\x5f" | |
9581 | "\x3d\x69\x8a\x95\x53\xc8\x9c\xe5", | |
9582 | .rlen = 16, | |
9583 | }, { | |
9584 | /* http://www.mail-archive.com/[email protected]/msg00173.html */ | |
9585 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
9586 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
9587 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
9588 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
9589 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
9590 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
9591 | .klen = 48, | |
9592 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9593 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
9594 | .input = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
9595 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
9596 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
9597 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
9598 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
9599 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
9600 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
9601 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
9602 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
9603 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
9604 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
9605 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
9606 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
9607 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
9608 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
9609 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
9610 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
9611 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
9612 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
9613 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
9614 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
9615 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
9616 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
9617 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
9618 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
9619 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
9620 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
9621 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
9622 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
9623 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
9624 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
9625 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
9626 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
9627 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
9628 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
9629 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
9630 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
9631 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
9632 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
9633 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
9634 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
9635 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
9636 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
9637 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
9638 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
9639 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
9640 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
9641 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
9642 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
9643 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
9644 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
9645 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
9646 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
9647 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
9648 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
9649 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
9650 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
9651 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
9652 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
9653 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
9654 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
9655 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
9656 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
9657 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
9658 | .ilen = 512, | |
9659 | .result = "\x1a\x1d\xa9\x30\xad\xf9\x2f\x9b" | |
9660 | "\xb6\x1d\xae\xef\xf0\x2f\xf8\x5a" | |
9661 | "\x39\x3c\xbf\x2a\xb2\x45\xb2\x23" | |
9662 | "\x1b\x63\x3c\xcf\xaa\xbe\xcf\x4e" | |
9663 | "\xfa\xe8\x29\xc2\x20\x68\x2b\x3c" | |
9664 | "\x2e\x8b\xf7\x6e\x25\xbd\xe3\x3d" | |
9665 | "\x66\x27\xd6\xaf\xd6\x64\x3e\xe3" | |
9666 | "\xe8\x58\x46\x97\x39\x51\x07\xde" | |
9667 | "\xcb\x37\xbc\xa9\xc0\x5f\x75\xc3" | |
9668 | "\x0e\x84\x23\x1d\x16\xd4\x1c\x59" | |
9669 | "\x9c\x1a\x02\x55\xab\x3a\x97\x1d" | |
9670 | "\xdf\xdd\xc7\x06\x51\xd7\x70\xae" | |
9671 | "\x23\xc6\x8c\xf5\x1e\xa0\xe5\x82" | |
9672 | "\xb8\xb2\xbf\x04\xa0\x32\x8e\x68" | |
9673 | "\xeb\xaf\x6e\x2d\x94\x22\x2f\xce" | |
9674 | "\x4c\xb5\x59\xe2\xa2\x2f\xa0\x98" | |
9675 | "\x1a\x97\xc6\xd4\xb5\x00\x59\xf2" | |
9676 | "\x84\x14\x72\xb1\x9a\x6e\xa3\x7f" | |
9677 | "\xea\x20\xe7\xcb\x65\x77\x3a\xdf" | |
9678 | "\xc8\x97\x67\x15\xc2\x2a\x27\xcc" | |
9679 | "\x18\x55\xa1\x24\x0b\x24\x24\xaf" | |
9680 | "\x5b\xec\x68\xb8\xc8\xf5\xba\x63" | |
9681 | "\xff\xed\x89\xce\xd5\x3d\x88\xf3" | |
9682 | "\x25\xef\x05\x7c\x3a\xef\xeb\xd8" | |
9683 | "\x7a\x32\x0d\xd1\x1e\x58\x59\x99" | |
9684 | "\x90\x25\xb5\x26\xb0\xe3\x2b\x6c" | |
9685 | "\x4c\xa9\x8b\x84\x4f\x5e\x01\x50" | |
9686 | "\x41\x30\x58\xc5\x62\x74\x52\x1d" | |
9687 | "\x45\x24\x6a\x42\x64\x4f\x97\x1c" | |
9688 | "\xa8\x66\xb5\x6d\x79\xd4\x0d\x48" | |
9689 | "\xc5\x5f\xf3\x90\x32\xdd\xdd\xe1" | |
9690 | "\xe4\xa9\x9f\xfc\xc3\x52\x5a\x46" | |
9691 | "\xe4\x81\x84\x95\x36\x59\x7a\x6b" | |
9692 | "\xaa\xb3\x60\xad\xce\x9f\x9f\x28" | |
9693 | "\xe0\x01\x75\x22\xc4\x4e\xa9\x62" | |
9694 | "\x5c\x62\x0d\x00\xcb\x13\xe8\x43" | |
9695 | "\x72\xd4\x2d\x53\x46\xb5\xd1\x16" | |
9696 | "\x22\x18\xdf\x34\x33\xf5\xd6\x1c" | |
9697 | "\xb8\x79\x78\x97\x94\xff\x72\x13" | |
9698 | "\x4c\x27\xfc\xcb\xbf\x01\x53\xa6" | |
9699 | "\xb4\x50\x6e\xde\xdf\xb5\x43\xa4" | |
9700 | "\x59\xdf\x52\xf9\x7c\xe0\x11\x6f" | |
9701 | "\x2d\x14\x8e\x24\x61\x2c\xe1\x17" | |
9702 | "\xcc\xce\x51\x0c\x19\x8a\x82\x30" | |
9703 | "\x94\xd5\x3d\x6a\x53\x06\x5e\xbd" | |
9704 | "\xb7\xeb\xfa\xfd\x27\x51\xde\x85" | |
9705 | "\x1e\x86\x53\x11\x53\x94\x00\xee" | |
9706 | "\x2b\x8c\x08\x2a\xbf\xdd\xae\x11" | |
9707 | "\xcb\x1e\xa2\x07\x9a\x80\xcf\x62" | |
9708 | "\x9b\x09\xdc\x95\x3c\x96\x8e\xb1" | |
9709 | "\x09\xbd\xe4\xeb\xdb\xca\x70\x7a" | |
9710 | "\x9e\xfa\x31\x18\x45\x3c\x21\x33" | |
9711 | "\xb0\xb3\x2b\xea\xf3\x71\x2d\xe1" | |
9712 | "\x03\xad\x1b\x48\xd4\x67\x27\xf0" | |
9713 | "\x62\xe4\x3d\xfb\x9b\x08\x76\xe7" | |
9714 | "\xdd\x2b\x01\x39\x04\x5a\x58\x7a" | |
9715 | "\xf7\x11\x90\xec\xbd\x51\x5c\x32" | |
9716 | "\x6b\xd7\x35\x39\x02\x6b\xf2\xa6" | |
9717 | "\xd0\x0d\x07\xe1\x06\xc4\x5b\x7d" | |
9718 | "\xe4\x6a\xd7\xee\x15\x1f\x83\xb4" | |
9719 | "\xa3\xa7\x5e\xc3\x90\xb7\xef\xd3" | |
9720 | "\xb7\x4f\xf8\x92\x4c\xb7\x3c\x29" | |
9721 | "\xcd\x7e\x2b\x5d\x43\xea\x42\xe7" | |
9722 | "\x74\x3f\x7d\x58\x88\x75\xde\x3e", | |
9723 | .rlen = 512, | |
9724 | } | |
9725 | }; | |
9726 | ||
9727 | static struct cipher_testvec aes_lrw_dec_tv_template[] = { | |
9728 | /* from http://grouper.ieee.org/groups/1619/email/pdf00017.pdf */ | |
9729 | /* same as enc vectors with input and result reversed */ | |
9730 | { /* LRW-32-AES 1 */ | |
9731 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | |
9732 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | |
9733 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | |
9734 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | |
9735 | .klen = 32, | |
9736 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9737 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
9738 | .input = "\xf1\xb2\x73\xcd\x65\xa3\xdf\x5f" | |
9739 | "\xe9\x5d\x48\x92\x54\x63\x4e\xb8", | |
9740 | .ilen = 16, | |
9741 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9742 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9743 | .rlen = 16, | |
9744 | }, { /* LRW-32-AES 2 */ | |
9745 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | |
9746 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | |
9747 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | |
9748 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | |
9749 | .klen = 32, | |
9750 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9751 | "\x00\x00\x00\x00\x00\x00\x00\x02", | |
9752 | .input = "\x00\xc8\x2b\xae\x95\xbb\xcd\xe5" | |
9753 | "\x27\x4f\x07\x69\xb2\x60\xe1\x36", | |
9754 | .ilen = 16, | |
9755 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9756 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9757 | .rlen = 16, | |
9758 | }, { /* LRW-32-AES 3 */ | |
9759 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | |
9760 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | |
9761 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | |
9762 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | |
9763 | .klen = 32, | |
9764 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9765 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
9766 | .input = "\x76\x32\x21\x83\xed\x8f\xf1\x82" | |
9767 | "\xf9\x59\x62\x03\x69\x0e\x5e\x01", | |
9768 | .ilen = 16, | |
9769 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9770 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9771 | .rlen = 16, | |
9772 | }, { /* LRW-32-AES 4 */ | |
9773 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | |
9774 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | |
9775 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | |
9776 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | |
9777 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | |
9778 | .klen = 40, | |
9779 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9780 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
9781 | .input = "\x9c\x0f\x15\x2f\x55\xa2\xd8\xf0" | |
9782 | "\xd6\x7b\x8f\x9e\x28\x22\xbc\x41", | |
9783 | .ilen = 16, | |
9784 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9785 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9786 | .rlen = 16, | |
9787 | }, { /* LRW-32-AES 5 */ | |
9788 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | |
9789 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | |
9790 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | |
9791 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | |
9792 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | |
9793 | .klen = 40, | |
9794 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9795 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
9796 | .input = "\xd4\x27\x6a\x7f\x14\x91\x3d\x65" | |
9797 | "\xc8\x60\x48\x02\x87\xe3\x34\x06", | |
9798 | .ilen = 16, | |
9799 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9800 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9801 | .rlen = 16, | |
9802 | }, { /* LRW-32-AES 6 */ | |
9803 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
9804 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
9805 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
9806 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
9807 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
9808 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
9809 | .klen = 48, | |
9810 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9811 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
9812 | .input = "\xbd\x06\xb8\xe1\xdb\x98\x89\x9e" | |
9813 | "\xc4\x98\xe4\x91\xcf\x1c\x70\x2b", | |
9814 | .ilen = 16, | |
9815 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9816 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9817 | .rlen = 16, | |
9818 | }, { /* LRW-32-AES 7 */ | |
9819 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | |
9820 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | |
9821 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | |
9822 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | |
9823 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | |
9824 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | |
9825 | .klen = 48, | |
9826 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9827 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
9828 | .input = "\x5b\x90\x8e\xc1\xab\xdd\x67\x5f" | |
9829 | "\x3d\x69\x8a\x95\x53\xc8\x9c\xe5", | |
9830 | .ilen = 16, | |
9831 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
9832 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
9833 | .rlen = 16, | |
9834 | }, { | |
9835 | /* http://www.mail-archive.com/[email protected]/msg00173.html */ | |
9836 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
9837 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
9838 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
9839 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
9840 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
9841 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
9842 | .klen = 48, | |
9843 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9844 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
9845 | .input = "\x1a\x1d\xa9\x30\xad\xf9\x2f\x9b" | |
9846 | "\xb6\x1d\xae\xef\xf0\x2f\xf8\x5a" | |
9847 | "\x39\x3c\xbf\x2a\xb2\x45\xb2\x23" | |
9848 | "\x1b\x63\x3c\xcf\xaa\xbe\xcf\x4e" | |
9849 | "\xfa\xe8\x29\xc2\x20\x68\x2b\x3c" | |
9850 | "\x2e\x8b\xf7\x6e\x25\xbd\xe3\x3d" | |
9851 | "\x66\x27\xd6\xaf\xd6\x64\x3e\xe3" | |
9852 | "\xe8\x58\x46\x97\x39\x51\x07\xde" | |
9853 | "\xcb\x37\xbc\xa9\xc0\x5f\x75\xc3" | |
9854 | "\x0e\x84\x23\x1d\x16\xd4\x1c\x59" | |
9855 | "\x9c\x1a\x02\x55\xab\x3a\x97\x1d" | |
9856 | "\xdf\xdd\xc7\x06\x51\xd7\x70\xae" | |
9857 | "\x23\xc6\x8c\xf5\x1e\xa0\xe5\x82" | |
9858 | "\xb8\xb2\xbf\x04\xa0\x32\x8e\x68" | |
9859 | "\xeb\xaf\x6e\x2d\x94\x22\x2f\xce" | |
9860 | "\x4c\xb5\x59\xe2\xa2\x2f\xa0\x98" | |
9861 | "\x1a\x97\xc6\xd4\xb5\x00\x59\xf2" | |
9862 | "\x84\x14\x72\xb1\x9a\x6e\xa3\x7f" | |
9863 | "\xea\x20\xe7\xcb\x65\x77\x3a\xdf" | |
9864 | "\xc8\x97\x67\x15\xc2\x2a\x27\xcc" | |
9865 | "\x18\x55\xa1\x24\x0b\x24\x24\xaf" | |
9866 | "\x5b\xec\x68\xb8\xc8\xf5\xba\x63" | |
9867 | "\xff\xed\x89\xce\xd5\x3d\x88\xf3" | |
9868 | "\x25\xef\x05\x7c\x3a\xef\xeb\xd8" | |
9869 | "\x7a\x32\x0d\xd1\x1e\x58\x59\x99" | |
9870 | "\x90\x25\xb5\x26\xb0\xe3\x2b\x6c" | |
9871 | "\x4c\xa9\x8b\x84\x4f\x5e\x01\x50" | |
9872 | "\x41\x30\x58\xc5\x62\x74\x52\x1d" | |
9873 | "\x45\x24\x6a\x42\x64\x4f\x97\x1c" | |
9874 | "\xa8\x66\xb5\x6d\x79\xd4\x0d\x48" | |
9875 | "\xc5\x5f\xf3\x90\x32\xdd\xdd\xe1" | |
9876 | "\xe4\xa9\x9f\xfc\xc3\x52\x5a\x46" | |
9877 | "\xe4\x81\x84\x95\x36\x59\x7a\x6b" | |
9878 | "\xaa\xb3\x60\xad\xce\x9f\x9f\x28" | |
9879 | "\xe0\x01\x75\x22\xc4\x4e\xa9\x62" | |
9880 | "\x5c\x62\x0d\x00\xcb\x13\xe8\x43" | |
9881 | "\x72\xd4\x2d\x53\x46\xb5\xd1\x16" | |
9882 | "\x22\x18\xdf\x34\x33\xf5\xd6\x1c" | |
9883 | "\xb8\x79\x78\x97\x94\xff\x72\x13" | |
9884 | "\x4c\x27\xfc\xcb\xbf\x01\x53\xa6" | |
9885 | "\xb4\x50\x6e\xde\xdf\xb5\x43\xa4" | |
9886 | "\x59\xdf\x52\xf9\x7c\xe0\x11\x6f" | |
9887 | "\x2d\x14\x8e\x24\x61\x2c\xe1\x17" | |
9888 | "\xcc\xce\x51\x0c\x19\x8a\x82\x30" | |
9889 | "\x94\xd5\x3d\x6a\x53\x06\x5e\xbd" | |
9890 | "\xb7\xeb\xfa\xfd\x27\x51\xde\x85" | |
9891 | "\x1e\x86\x53\x11\x53\x94\x00\xee" | |
9892 | "\x2b\x8c\x08\x2a\xbf\xdd\xae\x11" | |
9893 | "\xcb\x1e\xa2\x07\x9a\x80\xcf\x62" | |
9894 | "\x9b\x09\xdc\x95\x3c\x96\x8e\xb1" | |
9895 | "\x09\xbd\xe4\xeb\xdb\xca\x70\x7a" | |
9896 | "\x9e\xfa\x31\x18\x45\x3c\x21\x33" | |
9897 | "\xb0\xb3\x2b\xea\xf3\x71\x2d\xe1" | |
9898 | "\x03\xad\x1b\x48\xd4\x67\x27\xf0" | |
9899 | "\x62\xe4\x3d\xfb\x9b\x08\x76\xe7" | |
9900 | "\xdd\x2b\x01\x39\x04\x5a\x58\x7a" | |
9901 | "\xf7\x11\x90\xec\xbd\x51\x5c\x32" | |
9902 | "\x6b\xd7\x35\x39\x02\x6b\xf2\xa6" | |
9903 | "\xd0\x0d\x07\xe1\x06\xc4\x5b\x7d" | |
9904 | "\xe4\x6a\xd7\xee\x15\x1f\x83\xb4" | |
9905 | "\xa3\xa7\x5e\xc3\x90\xb7\xef\xd3" | |
9906 | "\xb7\x4f\xf8\x92\x4c\xb7\x3c\x29" | |
9907 | "\xcd\x7e\x2b\x5d\x43\xea\x42\xe7" | |
9908 | "\x74\x3f\x7d\x58\x88\x75\xde\x3e", | |
9909 | .ilen = 512, | |
9910 | .result = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
9911 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
9912 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
9913 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
9914 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
9915 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
9916 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
9917 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
9918 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
9919 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
9920 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
9921 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
9922 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
9923 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
9924 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
9925 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
9926 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
9927 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
9928 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
9929 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
9930 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
9931 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
9932 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
9933 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
9934 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
9935 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
9936 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
9937 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
9938 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
9939 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
9940 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
9941 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
9942 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
9943 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
9944 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
9945 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
9946 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
9947 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
9948 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
9949 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
9950 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
9951 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
9952 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
9953 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
9954 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
9955 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
9956 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
9957 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
9958 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
9959 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
9960 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
9961 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
9962 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
9963 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
9964 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
9965 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
9966 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
9967 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
9968 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
9969 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
9970 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
9971 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
9972 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
9973 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
9974 | .rlen = 512, | |
9975 | } | |
9976 | }; | |
9977 | ||
9978 | static struct cipher_testvec aes_xts_enc_tv_template[] = { | |
9979 | /* http://grouper.ieee.org/groups/1619/email/pdf00086.pdf */ | |
9980 | { /* XTS-AES 1 */ | |
9981 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9982 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9983 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9984 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
9985 | .klen = 32, | |
9986 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9987 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
9988 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9989 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9990 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
9991 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
9992 | .ilen = 32, | |
9993 | .result = "\x91\x7c\xf6\x9e\xbd\x68\xb2\xec" | |
9994 | "\x9b\x9f\xe9\xa3\xea\xdd\xa6\x92" | |
9995 | "\xcd\x43\xd2\xf5\x95\x98\xed\x85" | |
9996 | "\x8c\x02\xc2\x65\x2f\xbf\x92\x2e", | |
9997 | .rlen = 32, | |
9998 | }, { /* XTS-AES 2 */ | |
9999 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | |
10000 | "\x11\x11\x11\x11\x11\x11\x11\x11" | |
10001 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
10002 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
10003 | .klen = 32, | |
10004 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
10005 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10006 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10007 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10008 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10009 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
10010 | .ilen = 32, | |
10011 | .result = "\xc4\x54\x18\x5e\x6a\x16\x93\x6e" | |
10012 | "\x39\x33\x40\x38\xac\xef\x83\x8b" | |
10013 | "\xfb\x18\x6f\xff\x74\x80\xad\xc4" | |
10014 | "\x28\x93\x82\xec\xd6\xd3\x94\xf0", | |
10015 | .rlen = 32, | |
10016 | }, { /* XTS-AES 3 */ | |
10017 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | |
10018 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | |
10019 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
10020 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
10021 | .klen = 32, | |
10022 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
10023 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10024 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10025 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10026 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10027 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
10028 | .ilen = 32, | |
10029 | .result = "\xaf\x85\x33\x6b\x59\x7a\xfc\x1a" | |
10030 | "\x90\x0b\x2e\xb2\x1e\xc9\x49\xd2" | |
10031 | "\x92\xdf\x4c\x04\x7e\x0b\x21\x53" | |
10032 | "\x21\x86\xa5\x97\x1a\x22\x7a\x89", | |
10033 | .rlen = 32, | |
10034 | }, { /* XTS-AES 4 */ | |
10035 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
10036 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
10037 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
10038 | "\x23\x84\x62\x64\x33\x83\x27\x95", | |
10039 | .klen = 32, | |
10040 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
10041 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10042 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10043 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10044 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10045 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10046 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
10047 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
10048 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
10049 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
10050 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
10051 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
10052 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
10053 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
10054 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
10055 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
10056 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
10057 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
10058 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
10059 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
10060 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
10061 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
10062 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
10063 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
10064 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
10065 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
10066 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
10067 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
10068 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
10069 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
10070 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
10071 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
10072 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10073 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
10074 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10075 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10076 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10077 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10078 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
10079 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
10080 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
10081 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
10082 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
10083 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
10084 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
10085 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
10086 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
10087 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
10088 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
10089 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
10090 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
10091 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
10092 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
10093 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
10094 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
10095 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
10096 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
10097 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
10098 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
10099 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
10100 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
10101 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
10102 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
10103 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
10104 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10105 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10106 | .ilen = 512, | |
10107 | .result = "\x27\xa7\x47\x9b\xef\xa1\xd4\x76" | |
10108 | "\x48\x9f\x30\x8c\xd4\xcf\xa6\xe2" | |
10109 | "\xa9\x6e\x4b\xbe\x32\x08\xff\x25" | |
10110 | "\x28\x7d\xd3\x81\x96\x16\xe8\x9c" | |
10111 | "\xc7\x8c\xf7\xf5\xe5\x43\x44\x5f" | |
10112 | "\x83\x33\xd8\xfa\x7f\x56\x00\x00" | |
10113 | "\x05\x27\x9f\xa5\xd8\xb5\xe4\xad" | |
10114 | "\x40\xe7\x36\xdd\xb4\xd3\x54\x12" | |
10115 | "\x32\x80\x63\xfd\x2a\xab\x53\xe5" | |
10116 | "\xea\x1e\x0a\x9f\x33\x25\x00\xa5" | |
10117 | "\xdf\x94\x87\xd0\x7a\x5c\x92\xcc" | |
10118 | "\x51\x2c\x88\x66\xc7\xe8\x60\xce" | |
10119 | "\x93\xfd\xf1\x66\xa2\x49\x12\xb4" | |
10120 | "\x22\x97\x61\x46\xae\x20\xce\x84" | |
10121 | "\x6b\xb7\xdc\x9b\xa9\x4a\x76\x7a" | |
10122 | "\xae\xf2\x0c\x0d\x61\xad\x02\x65" | |
10123 | "\x5e\xa9\x2d\xc4\xc4\xe4\x1a\x89" | |
10124 | "\x52\xc6\x51\xd3\x31\x74\xbe\x51" | |
10125 | "\xa1\x0c\x42\x11\x10\xe6\xd8\x15" | |
10126 | "\x88\xed\xe8\x21\x03\xa2\x52\xd8" | |
10127 | "\xa7\x50\xe8\x76\x8d\xef\xff\xed" | |
10128 | "\x91\x22\x81\x0a\xae\xb9\x9f\x91" | |
10129 | "\x72\xaf\x82\xb6\x04\xdc\x4b\x8e" | |
10130 | "\x51\xbc\xb0\x82\x35\xa6\xf4\x34" | |
10131 | "\x13\x32\xe4\xca\x60\x48\x2a\x4b" | |
10132 | "\xa1\xa0\x3b\x3e\x65\x00\x8f\xc5" | |
10133 | "\xda\x76\xb7\x0b\xf1\x69\x0d\xb4" | |
10134 | "\xea\xe2\x9c\x5f\x1b\xad\xd0\x3c" | |
10135 | "\x5c\xcf\x2a\x55\xd7\x05\xdd\xcd" | |
10136 | "\x86\xd4\x49\x51\x1c\xeb\x7e\xc3" | |
10137 | "\x0b\xf1\x2b\x1f\xa3\x5b\x91\x3f" | |
10138 | "\x9f\x74\x7a\x8a\xfd\x1b\x13\x0e" | |
10139 | "\x94\xbf\xf9\x4e\xff\xd0\x1a\x91" | |
10140 | "\x73\x5c\xa1\x72\x6a\xcd\x0b\x19" | |
10141 | "\x7c\x4e\x5b\x03\x39\x36\x97\xe1" | |
10142 | "\x26\x82\x6f\xb6\xbb\xde\x8e\xcc" | |
10143 | "\x1e\x08\x29\x85\x16\xe2\xc9\xed" | |
10144 | "\x03\xff\x3c\x1b\x78\x60\xf6\xde" | |
10145 | "\x76\xd4\xce\xcd\x94\xc8\x11\x98" | |
10146 | "\x55\xef\x52\x97\xca\x67\xe9\xf3" | |
10147 | "\xe7\xff\x72\xb1\xe9\x97\x85\xca" | |
10148 | "\x0a\x7e\x77\x20\xc5\xb3\x6d\xc6" | |
10149 | "\xd7\x2c\xac\x95\x74\xc8\xcb\xbc" | |
10150 | "\x2f\x80\x1e\x23\xe5\x6f\xd3\x44" | |
10151 | "\xb0\x7f\x22\x15\x4b\xeb\xa0\xf0" | |
10152 | "\x8c\xe8\x89\x1e\x64\x3e\xd9\x95" | |
10153 | "\xc9\x4d\x9a\x69\xc9\xf1\xb5\xf4" | |
10154 | "\x99\x02\x7a\x78\x57\x2a\xee\xbd" | |
10155 | "\x74\xd2\x0c\xc3\x98\x81\xc2\x13" | |
10156 | "\xee\x77\x0b\x10\x10\xe4\xbe\xa7" | |
10157 | "\x18\x84\x69\x77\xae\x11\x9f\x7a" | |
10158 | "\x02\x3a\xb5\x8c\xca\x0a\xd7\x52" | |
10159 | "\xaf\xe6\x56\xbb\x3c\x17\x25\x6a" | |
10160 | "\x9f\x6e\x9b\xf1\x9f\xdd\x5a\x38" | |
10161 | "\xfc\x82\xbb\xe8\x72\xc5\x53\x9e" | |
10162 | "\xdb\x60\x9e\xf4\xf7\x9c\x20\x3e" | |
10163 | "\xbb\x14\x0f\x2e\x58\x3c\xb2\xad" | |
10164 | "\x15\xb4\xaa\x5b\x65\x50\x16\xa8" | |
10165 | "\x44\x92\x77\xdb\xd4\x77\xef\x2c" | |
10166 | "\x8d\x6c\x01\x7d\xb7\x38\xb1\x8d" | |
10167 | "\xeb\x4a\x42\x7d\x19\x23\xce\x3f" | |
10168 | "\xf2\x62\x73\x57\x79\xa4\x18\xf2" | |
10169 | "\x0a\x28\x2d\xf9\x20\x14\x7b\xea" | |
10170 | "\xbe\x42\x1e\xe5\x31\x9d\x05\x68", | |
10171 | .rlen = 512, | |
5165e5b1 JW |
10172 | }, { /* XTS-AES 10, XTS-AES-256, data unit 512 bytes */ |
10173 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
10174 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
10175 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
10176 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
10177 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
10178 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
10179 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
10180 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
10181 | .klen = 64, | |
10182 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
10183 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10184 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10185 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10186 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10187 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10188 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10189 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10190 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
10191 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
10192 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
10193 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
10194 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
10195 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
10196 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
10197 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
10198 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
10199 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
10200 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
10201 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
10202 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
10203 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
10204 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
10205 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
10206 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
10207 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
10208 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
10209 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
10210 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
10211 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
10212 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
10213 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
10214 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
10215 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
10216 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10217 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
10218 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10219 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10220 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10221 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10222 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
10223 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
10224 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
10225 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
10226 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
10227 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
10228 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
10229 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
10230 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
10231 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
10232 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
10233 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
10234 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
10235 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
10236 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
10237 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
10238 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
10239 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
10240 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
10241 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
10242 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
10243 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
10244 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
10245 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
10246 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
10247 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
10248 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10249 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10250 | .ilen = 512, | |
10251 | .result = "\x1c\x3b\x3a\x10\x2f\x77\x03\x86" | |
10252 | "\xe4\x83\x6c\x99\xe3\x70\xcf\x9b" | |
10253 | "\xea\x00\x80\x3f\x5e\x48\x23\x57" | |
10254 | "\xa4\xae\x12\xd4\x14\xa3\xe6\x3b" | |
10255 | "\x5d\x31\xe2\x76\xf8\xfe\x4a\x8d" | |
10256 | "\x66\xb3\x17\xf9\xac\x68\x3f\x44" | |
10257 | "\x68\x0a\x86\xac\x35\xad\xfc\x33" | |
10258 | "\x45\xbe\xfe\xcb\x4b\xb1\x88\xfd" | |
10259 | "\x57\x76\x92\x6c\x49\xa3\x09\x5e" | |
10260 | "\xb1\x08\xfd\x10\x98\xba\xec\x70" | |
10261 | "\xaa\xa6\x69\x99\xa7\x2a\x82\xf2" | |
10262 | "\x7d\x84\x8b\x21\xd4\xa7\x41\xb0" | |
10263 | "\xc5\xcd\x4d\x5f\xff\x9d\xac\x89" | |
10264 | "\xae\xba\x12\x29\x61\xd0\x3a\x75" | |
10265 | "\x71\x23\xe9\x87\x0f\x8a\xcf\x10" | |
10266 | "\x00\x02\x08\x87\x89\x14\x29\xca" | |
10267 | "\x2a\x3e\x7a\x7d\x7d\xf7\xb1\x03" | |
10268 | "\x55\x16\x5c\x8b\x9a\x6d\x0a\x7d" | |
10269 | "\xe8\xb0\x62\xc4\x50\x0d\xc4\xcd" | |
10270 | "\x12\x0c\x0f\x74\x18\xda\xe3\xd0" | |
10271 | "\xb5\x78\x1c\x34\x80\x3f\xa7\x54" | |
10272 | "\x21\xc7\x90\xdf\xe1\xde\x18\x34" | |
10273 | "\xf2\x80\xd7\x66\x7b\x32\x7f\x6c" | |
10274 | "\x8c\xd7\x55\x7e\x12\xac\x3a\x0f" | |
10275 | "\x93\xec\x05\xc5\x2e\x04\x93\xef" | |
10276 | "\x31\xa1\x2d\x3d\x92\x60\xf7\x9a" | |
10277 | "\x28\x9d\x6a\x37\x9b\xc7\x0c\x50" | |
10278 | "\x84\x14\x73\xd1\xa8\xcc\x81\xec" | |
10279 | "\x58\x3e\x96\x45\xe0\x7b\x8d\x96" | |
10280 | "\x70\x65\x5b\xa5\xbb\xcf\xec\xc6" | |
10281 | "\xdc\x39\x66\x38\x0a\xd8\xfe\xcb" | |
10282 | "\x17\xb6\xba\x02\x46\x9a\x02\x0a" | |
10283 | "\x84\xe1\x8e\x8f\x84\x25\x20\x70" | |
10284 | "\xc1\x3e\x9f\x1f\x28\x9b\xe5\x4f" | |
10285 | "\xbc\x48\x14\x57\x77\x8f\x61\x60" | |
10286 | "\x15\xe1\x32\x7a\x02\xb1\x40\xf1" | |
10287 | "\x50\x5e\xb3\x09\x32\x6d\x68\x37" | |
10288 | "\x8f\x83\x74\x59\x5c\x84\x9d\x84" | |
10289 | "\xf4\xc3\x33\xec\x44\x23\x88\x51" | |
10290 | "\x43\xcb\x47\xbd\x71\xc5\xed\xae" | |
10291 | "\x9b\xe6\x9a\x2f\xfe\xce\xb1\xbe" | |
10292 | "\xc9\xde\x24\x4f\xbe\x15\x99\x2b" | |
10293 | "\x11\xb7\x7c\x04\x0f\x12\xbd\x8f" | |
10294 | "\x6a\x97\x5a\x44\xa0\xf9\x0c\x29" | |
10295 | "\xa9\xab\xc3\xd4\xd8\x93\x92\x72" | |
10296 | "\x84\xc5\x87\x54\xcc\xe2\x94\x52" | |
10297 | "\x9f\x86\x14\xdc\xd2\xab\xa9\x91" | |
10298 | "\x92\x5f\xed\xc4\xae\x74\xff\xac" | |
10299 | "\x6e\x33\x3b\x93\xeb\x4a\xff\x04" | |
10300 | "\x79\xda\x9a\x41\x0e\x44\x50\xe0" | |
10301 | "\xdd\x7a\xe4\xc6\xe2\x91\x09\x00" | |
10302 | "\x57\x5d\xa4\x01\xfc\x07\x05\x9f" | |
10303 | "\x64\x5e\x8b\x7e\x9b\xfd\xef\x33" | |
10304 | "\x94\x30\x54\xff\x84\x01\x14\x93" | |
10305 | "\xc2\x7b\x34\x29\xea\xed\xb4\xed" | |
10306 | "\x53\x76\x44\x1a\x77\xed\x43\x85" | |
10307 | "\x1a\xd7\x7f\x16\xf5\x41\xdf\xd2" | |
10308 | "\x69\xd5\x0d\x6a\x5f\x14\xfb\x0a" | |
10309 | "\xab\x1c\xbb\x4c\x15\x50\xbe\x97" | |
10310 | "\xf7\xab\x40\x66\x19\x3c\x4c\xaa" | |
10311 | "\x77\x3d\xad\x38\x01\x4b\xd2\x09" | |
10312 | "\x2f\xa7\x55\xc8\x24\xbb\x5e\x54" | |
10313 | "\xc4\xf3\x6f\xfd\xa9\xfc\xea\x70" | |
10314 | "\xb9\xc6\xe6\x93\xe1\x48\xc1\x51", | |
10315 | .rlen = 512, | |
da7f033d HX |
10316 | } |
10317 | }; | |
10318 | ||
10319 | static struct cipher_testvec aes_xts_dec_tv_template[] = { | |
10320 | /* http://grouper.ieee.org/groups/1619/email/pdf00086.pdf */ | |
10321 | { /* XTS-AES 1 */ | |
10322 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
10323 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
10324 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
10325 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10326 | .klen = 32, | |
10327 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
10328 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10329 | .input = "\x91\x7c\xf6\x9e\xbd\x68\xb2\xec" | |
10330 | "\x9b\x9f\xe9\xa3\xea\xdd\xa6\x92" | |
10331 | "\xcd\x43\xd2\xf5\x95\x98\xed\x85" | |
10332 | "\x8c\x02\xc2\x65\x2f\xbf\x92\x2e", | |
10333 | .ilen = 32, | |
10334 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
10335 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
10336 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
10337 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10338 | .rlen = 32, | |
10339 | }, { /* XTS-AES 2 */ | |
10340 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | |
10341 | "\x11\x11\x11\x11\x11\x11\x11\x11" | |
10342 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
10343 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
10344 | .klen = 32, | |
10345 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
10346 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10347 | .input = "\xc4\x54\x18\x5e\x6a\x16\x93\x6e" | |
10348 | "\x39\x33\x40\x38\xac\xef\x83\x8b" | |
10349 | "\xfb\x18\x6f\xff\x74\x80\xad\xc4" | |
10350 | "\x28\x93\x82\xec\xd6\xd3\x94\xf0", | |
10351 | .ilen = 32, | |
10352 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10353 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10354 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10355 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
10356 | .rlen = 32, | |
10357 | }, { /* XTS-AES 3 */ | |
10358 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | |
10359 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | |
10360 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
10361 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
10362 | .klen = 32, | |
10363 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
10364 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10365 | .input = "\xaf\x85\x33\x6b\x59\x7a\xfc\x1a" | |
10366 | "\x90\x0b\x2e\xb2\x1e\xc9\x49\xd2" | |
10367 | "\x92\xdf\x4c\x04\x7e\x0b\x21\x53" | |
10368 | "\x21\x86\xa5\x97\x1a\x22\x7a\x89", | |
10369 | .ilen = 32, | |
10370 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10371 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10372 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
10373 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
10374 | .rlen = 32, | |
10375 | }, { /* XTS-AES 4 */ | |
10376 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
10377 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
10378 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
10379 | "\x23\x84\x62\x64\x33\x83\x27\x95", | |
10380 | .klen = 32, | |
10381 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
10382 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10383 | .input = "\x27\xa7\x47\x9b\xef\xa1\xd4\x76" | |
10384 | "\x48\x9f\x30\x8c\xd4\xcf\xa6\xe2" | |
10385 | "\xa9\x6e\x4b\xbe\x32\x08\xff\x25" | |
10386 | "\x28\x7d\xd3\x81\x96\x16\xe8\x9c" | |
10387 | "\xc7\x8c\xf7\xf5\xe5\x43\x44\x5f" | |
10388 | "\x83\x33\xd8\xfa\x7f\x56\x00\x00" | |
10389 | "\x05\x27\x9f\xa5\xd8\xb5\xe4\xad" | |
10390 | "\x40\xe7\x36\xdd\xb4\xd3\x54\x12" | |
10391 | "\x32\x80\x63\xfd\x2a\xab\x53\xe5" | |
10392 | "\xea\x1e\x0a\x9f\x33\x25\x00\xa5" | |
10393 | "\xdf\x94\x87\xd0\x7a\x5c\x92\xcc" | |
10394 | "\x51\x2c\x88\x66\xc7\xe8\x60\xce" | |
10395 | "\x93\xfd\xf1\x66\xa2\x49\x12\xb4" | |
10396 | "\x22\x97\x61\x46\xae\x20\xce\x84" | |
10397 | "\x6b\xb7\xdc\x9b\xa9\x4a\x76\x7a" | |
10398 | "\xae\xf2\x0c\x0d\x61\xad\x02\x65" | |
10399 | "\x5e\xa9\x2d\xc4\xc4\xe4\x1a\x89" | |
10400 | "\x52\xc6\x51\xd3\x31\x74\xbe\x51" | |
10401 | "\xa1\x0c\x42\x11\x10\xe6\xd8\x15" | |
10402 | "\x88\xed\xe8\x21\x03\xa2\x52\xd8" | |
10403 | "\xa7\x50\xe8\x76\x8d\xef\xff\xed" | |
10404 | "\x91\x22\x81\x0a\xae\xb9\x9f\x91" | |
10405 | "\x72\xaf\x82\xb6\x04\xdc\x4b\x8e" | |
10406 | "\x51\xbc\xb0\x82\x35\xa6\xf4\x34" | |
10407 | "\x13\x32\xe4\xca\x60\x48\x2a\x4b" | |
10408 | "\xa1\xa0\x3b\x3e\x65\x00\x8f\xc5" | |
10409 | "\xda\x76\xb7\x0b\xf1\x69\x0d\xb4" | |
10410 | "\xea\xe2\x9c\x5f\x1b\xad\xd0\x3c" | |
10411 | "\x5c\xcf\x2a\x55\xd7\x05\xdd\xcd" | |
10412 | "\x86\xd4\x49\x51\x1c\xeb\x7e\xc3" | |
10413 | "\x0b\xf1\x2b\x1f\xa3\x5b\x91\x3f" | |
10414 | "\x9f\x74\x7a\x8a\xfd\x1b\x13\x0e" | |
10415 | "\x94\xbf\xf9\x4e\xff\xd0\x1a\x91" | |
10416 | "\x73\x5c\xa1\x72\x6a\xcd\x0b\x19" | |
10417 | "\x7c\x4e\x5b\x03\x39\x36\x97\xe1" | |
10418 | "\x26\x82\x6f\xb6\xbb\xde\x8e\xcc" | |
10419 | "\x1e\x08\x29\x85\x16\xe2\xc9\xed" | |
10420 | "\x03\xff\x3c\x1b\x78\x60\xf6\xde" | |
10421 | "\x76\xd4\xce\xcd\x94\xc8\x11\x98" | |
10422 | "\x55\xef\x52\x97\xca\x67\xe9\xf3" | |
10423 | "\xe7\xff\x72\xb1\xe9\x97\x85\xca" | |
10424 | "\x0a\x7e\x77\x20\xc5\xb3\x6d\xc6" | |
10425 | "\xd7\x2c\xac\x95\x74\xc8\xcb\xbc" | |
10426 | "\x2f\x80\x1e\x23\xe5\x6f\xd3\x44" | |
10427 | "\xb0\x7f\x22\x15\x4b\xeb\xa0\xf0" | |
10428 | "\x8c\xe8\x89\x1e\x64\x3e\xd9\x95" | |
10429 | "\xc9\x4d\x9a\x69\xc9\xf1\xb5\xf4" | |
10430 | "\x99\x02\x7a\x78\x57\x2a\xee\xbd" | |
10431 | "\x74\xd2\x0c\xc3\x98\x81\xc2\x13" | |
10432 | "\xee\x77\x0b\x10\x10\xe4\xbe\xa7" | |
10433 | "\x18\x84\x69\x77\xae\x11\x9f\x7a" | |
10434 | "\x02\x3a\xb5\x8c\xca\x0a\xd7\x52" | |
10435 | "\xaf\xe6\x56\xbb\x3c\x17\x25\x6a" | |
10436 | "\x9f\x6e\x9b\xf1\x9f\xdd\x5a\x38" | |
10437 | "\xfc\x82\xbb\xe8\x72\xc5\x53\x9e" | |
10438 | "\xdb\x60\x9e\xf4\xf7\x9c\x20\x3e" | |
10439 | "\xbb\x14\x0f\x2e\x58\x3c\xb2\xad" | |
10440 | "\x15\xb4\xaa\x5b\x65\x50\x16\xa8" | |
10441 | "\x44\x92\x77\xdb\xd4\x77\xef\x2c" | |
10442 | "\x8d\x6c\x01\x7d\xb7\x38\xb1\x8d" | |
10443 | "\xeb\x4a\x42\x7d\x19\x23\xce\x3f" | |
10444 | "\xf2\x62\x73\x57\x79\xa4\x18\xf2" | |
10445 | "\x0a\x28\x2d\xf9\x20\x14\x7b\xea" | |
10446 | "\xbe\x42\x1e\xe5\x31\x9d\x05\x68", | |
10447 | .ilen = 512, | |
10448 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10449 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10450 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10451 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10452 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
10453 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
10454 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
10455 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
10456 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
10457 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
10458 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
10459 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
10460 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
10461 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
10462 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
10463 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
10464 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
10465 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
10466 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
10467 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
10468 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
10469 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
10470 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
10471 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
10472 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
10473 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
10474 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
10475 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
10476 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
10477 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
10478 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10479 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
10480 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10481 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10482 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10483 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10484 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
10485 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
10486 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
10487 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
10488 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
10489 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
10490 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
10491 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
10492 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
10493 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
10494 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
10495 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
10496 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
10497 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
10498 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
10499 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
10500 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
10501 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
10502 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
10503 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
10504 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
10505 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
10506 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
10507 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
10508 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
10509 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
10510 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10511 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10512 | .rlen = 512, | |
5165e5b1 JW |
10513 | }, { /* XTS-AES 10, XTS-AES-256, data unit 512 bytes */ |
10514 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
10515 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
10516 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
10517 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
10518 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
10519 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
10520 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
10521 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
10522 | .klen = 64, | |
10523 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
10524 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10525 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10526 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10527 | .input = "\x1c\x3b\x3a\x10\x2f\x77\x03\x86" | |
10528 | "\xe4\x83\x6c\x99\xe3\x70\xcf\x9b" | |
10529 | "\xea\x00\x80\x3f\x5e\x48\x23\x57" | |
10530 | "\xa4\xae\x12\xd4\x14\xa3\xe6\x3b" | |
10531 | "\x5d\x31\xe2\x76\xf8\xfe\x4a\x8d" | |
10532 | "\x66\xb3\x17\xf9\xac\x68\x3f\x44" | |
10533 | "\x68\x0a\x86\xac\x35\xad\xfc\x33" | |
10534 | "\x45\xbe\xfe\xcb\x4b\xb1\x88\xfd" | |
10535 | "\x57\x76\x92\x6c\x49\xa3\x09\x5e" | |
10536 | "\xb1\x08\xfd\x10\x98\xba\xec\x70" | |
10537 | "\xaa\xa6\x69\x99\xa7\x2a\x82\xf2" | |
10538 | "\x7d\x84\x8b\x21\xd4\xa7\x41\xb0" | |
10539 | "\xc5\xcd\x4d\x5f\xff\x9d\xac\x89" | |
10540 | "\xae\xba\x12\x29\x61\xd0\x3a\x75" | |
10541 | "\x71\x23\xe9\x87\x0f\x8a\xcf\x10" | |
10542 | "\x00\x02\x08\x87\x89\x14\x29\xca" | |
10543 | "\x2a\x3e\x7a\x7d\x7d\xf7\xb1\x03" | |
10544 | "\x55\x16\x5c\x8b\x9a\x6d\x0a\x7d" | |
10545 | "\xe8\xb0\x62\xc4\x50\x0d\xc4\xcd" | |
10546 | "\x12\x0c\x0f\x74\x18\xda\xe3\xd0" | |
10547 | "\xb5\x78\x1c\x34\x80\x3f\xa7\x54" | |
10548 | "\x21\xc7\x90\xdf\xe1\xde\x18\x34" | |
10549 | "\xf2\x80\xd7\x66\x7b\x32\x7f\x6c" | |
10550 | "\x8c\xd7\x55\x7e\x12\xac\x3a\x0f" | |
10551 | "\x93\xec\x05\xc5\x2e\x04\x93\xef" | |
10552 | "\x31\xa1\x2d\x3d\x92\x60\xf7\x9a" | |
10553 | "\x28\x9d\x6a\x37\x9b\xc7\x0c\x50" | |
10554 | "\x84\x14\x73\xd1\xa8\xcc\x81\xec" | |
10555 | "\x58\x3e\x96\x45\xe0\x7b\x8d\x96" | |
10556 | "\x70\x65\x5b\xa5\xbb\xcf\xec\xc6" | |
10557 | "\xdc\x39\x66\x38\x0a\xd8\xfe\xcb" | |
10558 | "\x17\xb6\xba\x02\x46\x9a\x02\x0a" | |
10559 | "\x84\xe1\x8e\x8f\x84\x25\x20\x70" | |
10560 | "\xc1\x3e\x9f\x1f\x28\x9b\xe5\x4f" | |
10561 | "\xbc\x48\x14\x57\x77\x8f\x61\x60" | |
10562 | "\x15\xe1\x32\x7a\x02\xb1\x40\xf1" | |
10563 | "\x50\x5e\xb3\x09\x32\x6d\x68\x37" | |
10564 | "\x8f\x83\x74\x59\x5c\x84\x9d\x84" | |
10565 | "\xf4\xc3\x33\xec\x44\x23\x88\x51" | |
10566 | "\x43\xcb\x47\xbd\x71\xc5\xed\xae" | |
10567 | "\x9b\xe6\x9a\x2f\xfe\xce\xb1\xbe" | |
10568 | "\xc9\xde\x24\x4f\xbe\x15\x99\x2b" | |
10569 | "\x11\xb7\x7c\x04\x0f\x12\xbd\x8f" | |
10570 | "\x6a\x97\x5a\x44\xa0\xf9\x0c\x29" | |
10571 | "\xa9\xab\xc3\xd4\xd8\x93\x92\x72" | |
10572 | "\x84\xc5\x87\x54\xcc\xe2\x94\x52" | |
10573 | "\x9f\x86\x14\xdc\xd2\xab\xa9\x91" | |
10574 | "\x92\x5f\xed\xc4\xae\x74\xff\xac" | |
10575 | "\x6e\x33\x3b\x93\xeb\x4a\xff\x04" | |
10576 | "\x79\xda\x9a\x41\x0e\x44\x50\xe0" | |
10577 | "\xdd\x7a\xe4\xc6\xe2\x91\x09\x00" | |
10578 | "\x57\x5d\xa4\x01\xfc\x07\x05\x9f" | |
10579 | "\x64\x5e\x8b\x7e\x9b\xfd\xef\x33" | |
10580 | "\x94\x30\x54\xff\x84\x01\x14\x93" | |
10581 | "\xc2\x7b\x34\x29\xea\xed\xb4\xed" | |
10582 | "\x53\x76\x44\x1a\x77\xed\x43\x85" | |
10583 | "\x1a\xd7\x7f\x16\xf5\x41\xdf\xd2" | |
10584 | "\x69\xd5\x0d\x6a\x5f\x14\xfb\x0a" | |
10585 | "\xab\x1c\xbb\x4c\x15\x50\xbe\x97" | |
10586 | "\xf7\xab\x40\x66\x19\x3c\x4c\xaa" | |
10587 | "\x77\x3d\xad\x38\x01\x4b\xd2\x09" | |
10588 | "\x2f\xa7\x55\xc8\x24\xbb\x5e\x54" | |
10589 | "\xc4\xf3\x6f\xfd\xa9\xfc\xea\x70" | |
10590 | "\xb9\xc6\xe6\x93\xe1\x48\xc1\x51", | |
10591 | .ilen = 512, | |
10592 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10593 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10594 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10595 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10596 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
10597 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
10598 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
10599 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
10600 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
10601 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
10602 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
10603 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
10604 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
10605 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
10606 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
10607 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
10608 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
10609 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
10610 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
10611 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
10612 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
10613 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
10614 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
10615 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
10616 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
10617 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
10618 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
10619 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
10620 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
10621 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
10622 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10623 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
10624 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10625 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10626 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10627 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10628 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
10629 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
10630 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
10631 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
10632 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
10633 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
10634 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
10635 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
10636 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
10637 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
10638 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
10639 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
10640 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
10641 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
10642 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
10643 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
10644 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
10645 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
10646 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
10647 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
10648 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
10649 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
10650 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
10651 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
10652 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
10653 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
10654 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10655 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10656 | .rlen = 512, | |
10657 | ||
da7f033d HX |
10658 | } |
10659 | }; | |
10660 | ||
10661 | ||
10662 | static struct cipher_testvec aes_ctr_enc_tv_template[] = { | |
f7cb80f2 JW |
10663 | { /* From NIST Special Publication 800-38A, Appendix F.5 */ |
10664 | .key = "\x2b\x7e\x15\x16\x28\xae\xd2\xa6" | |
10665 | "\xab\xf7\x15\x88\x09\xcf\x4f\x3c", | |
10666 | .klen = 16, | |
10667 | .iv = "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10668 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10669 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
10670 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
10671 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
10672 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
10673 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
10674 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
10675 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
10676 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
10677 | .ilen = 64, | |
10678 | .result = "\x87\x4d\x61\x91\xb6\x20\xe3\x26" | |
10679 | "\x1b\xef\x68\x64\x99\x0d\xb6\xce" | |
10680 | "\x98\x06\xf6\x6b\x79\x70\xfd\xff" | |
10681 | "\x86\x17\x18\x7b\xb9\xff\xfd\xff" | |
10682 | "\x5a\xe4\xdf\x3e\xdb\xd5\xd3\x5e" | |
10683 | "\x5b\x4f\x09\x02\x0d\xb0\x3e\xab" | |
10684 | "\x1e\x03\x1d\xda\x2f\xbe\x03\xd1" | |
10685 | "\x79\x21\x70\xa0\xf3\x00\x9c\xee", | |
10686 | .rlen = 64, | |
10687 | }, { | |
10688 | .key = "\x8e\x73\xb0\xf7\xda\x0e\x64\x52" | |
10689 | "\xc8\x10\xf3\x2b\x80\x90\x79\xe5" | |
10690 | "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b", | |
10691 | .klen = 24, | |
10692 | .iv = "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10693 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10694 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
10695 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
10696 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
10697 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
10698 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
10699 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
10700 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
10701 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
10702 | .ilen = 64, | |
10703 | .result = "\x1a\xbc\x93\x24\x17\x52\x1c\xa2" | |
10704 | "\x4f\x2b\x04\x59\xfe\x7e\x6e\x0b" | |
10705 | "\x09\x03\x39\xec\x0a\xa6\xfa\xef" | |
10706 | "\xd5\xcc\xc2\xc6\xf4\xce\x8e\x94" | |
10707 | "\x1e\x36\xb2\x6b\xd1\xeb\xc6\x70" | |
10708 | "\xd1\xbd\x1d\x66\x56\x20\xab\xf7" | |
10709 | "\x4f\x78\xa7\xf6\xd2\x98\x09\x58" | |
10710 | "\x5a\x97\xda\xec\x58\xc6\xb0\x50", | |
10711 | .rlen = 64, | |
10712 | }, { | |
10713 | .key = "\x60\x3d\xeb\x10\x15\xca\x71\xbe" | |
10714 | "\x2b\x73\xae\xf0\x85\x7d\x77\x81" | |
10715 | "\x1f\x35\x2c\x07\x3b\x61\x08\xd7" | |
10716 | "\x2d\x98\x10\xa3\x09\x14\xdf\xf4", | |
10717 | .klen = 32, | |
10718 | .iv = "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10719 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10720 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
10721 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
10722 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
10723 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
10724 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
10725 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
10726 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
10727 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
10728 | .ilen = 64, | |
10729 | .result = "\x60\x1e\xc3\x13\x77\x57\x89\xa5" | |
10730 | "\xb7\xa7\xf5\x04\xbb\xf3\xd2\x28" | |
10731 | "\xf4\x43\xe3\xca\x4d\x62\xb5\x9a" | |
10732 | "\xca\x84\xe9\x90\xca\xca\xf5\xc5" | |
10733 | "\x2b\x09\x30\xda\xa2\x3d\xe9\x4c" | |
10734 | "\xe8\x70\x17\xba\x2d\x84\x98\x8d" | |
10735 | "\xdf\xc9\xc5\x8d\xb6\x7a\xad\xa6" | |
10736 | "\x13\xc2\xdd\x08\x45\x79\x41\xa6", | |
10737 | .rlen = 64, | |
10738 | } | |
10739 | }; | |
10740 | ||
10741 | static struct cipher_testvec aes_ctr_dec_tv_template[] = { | |
10742 | { /* From NIST Special Publication 800-38A, Appendix F.5 */ | |
10743 | .key = "\x2b\x7e\x15\x16\x28\xae\xd2\xa6" | |
10744 | "\xab\xf7\x15\x88\x09\xcf\x4f\x3c", | |
10745 | .klen = 16, | |
10746 | .iv = "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10747 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10748 | .input = "\x87\x4d\x61\x91\xb6\x20\xe3\x26" | |
10749 | "\x1b\xef\x68\x64\x99\x0d\xb6\xce" | |
10750 | "\x98\x06\xf6\x6b\x79\x70\xfd\xff" | |
10751 | "\x86\x17\x18\x7b\xb9\xff\xfd\xff" | |
10752 | "\x5a\xe4\xdf\x3e\xdb\xd5\xd3\x5e" | |
10753 | "\x5b\x4f\x09\x02\x0d\xb0\x3e\xab" | |
10754 | "\x1e\x03\x1d\xda\x2f\xbe\x03\xd1" | |
10755 | "\x79\x21\x70\xa0\xf3\x00\x9c\xee", | |
10756 | .ilen = 64, | |
10757 | .result = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
10758 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
10759 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
10760 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
10761 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
10762 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
10763 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
10764 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
10765 | .rlen = 64, | |
10766 | }, { | |
10767 | .key = "\x8e\x73\xb0\xf7\xda\x0e\x64\x52" | |
10768 | "\xc8\x10\xf3\x2b\x80\x90\x79\xe5" | |
10769 | "\x62\xf8\xea\xd2\x52\x2c\x6b\x7b", | |
10770 | .klen = 24, | |
10771 | .iv = "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10772 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10773 | .input = "\x1a\xbc\x93\x24\x17\x52\x1c\xa2" | |
10774 | "\x4f\x2b\x04\x59\xfe\x7e\x6e\x0b" | |
10775 | "\x09\x03\x39\xec\x0a\xa6\xfa\xef" | |
10776 | "\xd5\xcc\xc2\xc6\xf4\xce\x8e\x94" | |
10777 | "\x1e\x36\xb2\x6b\xd1\xeb\xc6\x70" | |
10778 | "\xd1\xbd\x1d\x66\x56\x20\xab\xf7" | |
10779 | "\x4f\x78\xa7\xf6\xd2\x98\x09\x58" | |
10780 | "\x5a\x97\xda\xec\x58\xc6\xb0\x50", | |
10781 | .ilen = 64, | |
10782 | .result = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
10783 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
10784 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
10785 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
10786 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
10787 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
10788 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
10789 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
10790 | .rlen = 64, | |
10791 | }, { | |
10792 | .key = "\x60\x3d\xeb\x10\x15\xca\x71\xbe" | |
10793 | "\x2b\x73\xae\xf0\x85\x7d\x77\x81" | |
10794 | "\x1f\x35\x2c\x07\x3b\x61\x08\xd7" | |
10795 | "\x2d\x98\x10\xa3\x09\x14\xdf\xf4", | |
10796 | .klen = 32, | |
10797 | .iv = "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10798 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
10799 | .input = "\x60\x1e\xc3\x13\x77\x57\x89\xa5" | |
10800 | "\xb7\xa7\xf5\x04\xbb\xf3\xd2\x28" | |
10801 | "\xf4\x43\xe3\xca\x4d\x62\xb5\x9a" | |
10802 | "\xca\x84\xe9\x90\xca\xca\xf5\xc5" | |
10803 | "\x2b\x09\x30\xda\xa2\x3d\xe9\x4c" | |
10804 | "\xe8\x70\x17\xba\x2d\x84\x98\x8d" | |
10805 | "\xdf\xc9\xc5\x8d\xb6\x7a\xad\xa6" | |
10806 | "\x13\xc2\xdd\x08\x45\x79\x41\xa6", | |
10807 | .ilen = 64, | |
10808 | .result = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
10809 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
10810 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
10811 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
10812 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
10813 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
10814 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
10815 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
10816 | .rlen = 64, | |
10817 | } | |
10818 | }; | |
10819 | ||
10820 | static struct cipher_testvec aes_ctr_rfc3686_enc_tv_template[] = { | |
da7f033d HX |
10821 | { /* From RFC 3686 */ |
10822 | .key = "\xae\x68\x52\xf8\x12\x10\x67\xcc" | |
10823 | "\x4b\xf7\xa5\x76\x55\x77\xf3\x9e" | |
10824 | "\x00\x00\x00\x30", | |
10825 | .klen = 20, | |
10826 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10827 | .input = "Single block msg", | |
10828 | .ilen = 16, | |
10829 | .result = "\xe4\x09\x5d\x4f\xb7\xa7\xb3\x79" | |
10830 | "\x2d\x61\x75\xa3\x26\x13\x11\xb8", | |
10831 | .rlen = 16, | |
10832 | }, { | |
10833 | .key = "\x7e\x24\x06\x78\x17\xfa\xe0\xd7" | |
10834 | "\x43\xd6\xce\x1f\x32\x53\x91\x63" | |
10835 | "\x00\x6c\xb6\xdb", | |
10836 | .klen = 20, | |
10837 | .iv = "\xc0\x54\x3b\x59\xda\x48\xd9\x0b", | |
10838 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10839 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10840 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10841 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
10842 | .ilen = 32, | |
10843 | .result = "\x51\x04\xa1\x06\x16\x8a\x72\xd9" | |
10844 | "\x79\x0d\x41\xee\x8e\xda\xd3\x88" | |
10845 | "\xeb\x2e\x1e\xfc\x46\xda\x57\xc8" | |
10846 | "\xfc\xe6\x30\xdf\x91\x41\xbe\x28", | |
10847 | .rlen = 32, | |
10848 | }, { | |
10849 | .key = "\x16\xaf\x5b\x14\x5f\xc9\xf5\x79" | |
10850 | "\xc1\x75\xf9\x3e\x3b\xfb\x0e\xed" | |
10851 | "\x86\x3d\x06\xcc\xfd\xb7\x85\x15" | |
10852 | "\x00\x00\x00\x48", | |
10853 | .klen = 28, | |
10854 | .iv = "\x36\x73\x3c\x14\x7d\x6d\x93\xcb", | |
10855 | .input = "Single block msg", | |
10856 | .ilen = 16, | |
10857 | .result = "\x4b\x55\x38\x4f\xe2\x59\xc9\xc8" | |
10858 | "\x4e\x79\x35\xa0\x03\xcb\xe9\x28", | |
10859 | .rlen = 16, | |
10860 | }, { | |
10861 | .key = "\x7c\x5c\xb2\x40\x1b\x3d\xc3\x3c" | |
10862 | "\x19\xe7\x34\x08\x19\xe0\xf6\x9c" | |
10863 | "\x67\x8c\x3d\xb8\xe6\xf6\xa9\x1a" | |
10864 | "\x00\x96\xb0\x3b", | |
10865 | .klen = 28, | |
10866 | .iv = "\x02\x0c\x6e\xad\xc2\xcb\x50\x0d", | |
10867 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10868 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10869 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10870 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
10871 | .ilen = 32, | |
10872 | .result = "\x45\x32\x43\xfc\x60\x9b\x23\x32" | |
10873 | "\x7e\xdf\xaa\xfa\x71\x31\xcd\x9f" | |
10874 | "\x84\x90\x70\x1c\x5a\xd4\xa7\x9c" | |
10875 | "\xfc\x1f\xe0\xff\x42\xf4\xfb\x00", | |
10876 | .rlen = 32, | |
10877 | }, { | |
10878 | .key = "\x77\x6b\xef\xf2\x85\x1d\xb0\x6f" | |
10879 | "\x4c\x8a\x05\x42\xc8\x69\x6f\x6c" | |
10880 | "\x6a\x81\xaf\x1e\xec\x96\xb4\xd3" | |
10881 | "\x7f\xc1\xd6\x89\xe6\xc1\xc1\x04" | |
10882 | "\x00\x00\x00\x60", | |
10883 | .klen = 36, | |
10884 | .iv = "\xdb\x56\x72\xc9\x7a\xa8\xf0\xb2", | |
10885 | .input = "Single block msg", | |
10886 | .ilen = 16, | |
10887 | .result = "\x14\x5a\xd0\x1d\xbf\x82\x4e\xc7" | |
10888 | "\x56\x08\x63\xdc\x71\xe3\xe0\xc0", | |
10889 | .rlen = 16, | |
10890 | }, { | |
10891 | .key = "\xf6\xd6\x6d\x6b\xd5\x2d\x59\xbb" | |
10892 | "\x07\x96\x36\x58\x79\xef\xf8\x86" | |
10893 | "\xc6\x6d\xd5\x1a\x5b\x6a\x99\x74" | |
10894 | "\x4b\x50\x59\x0c\x87\xa2\x38\x84" | |
10895 | "\x00\xfa\xac\x24", | |
10896 | .klen = 36, | |
10897 | .iv = "\xc1\x58\x5e\xf1\x5a\x43\xd8\x75", | |
10898 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10899 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10900 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10901 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
10902 | .ilen = 32, | |
10903 | .result = "\xf0\x5e\x23\x1b\x38\x94\x61\x2c" | |
10904 | "\x49\xee\x00\x0b\x80\x4e\xb2\xa9" | |
10905 | "\xb8\x30\x6b\x50\x8f\x83\x9d\x6a" | |
10906 | "\x55\x30\x83\x1d\x93\x44\xaf\x1c", | |
10907 | .rlen = 32, | |
10908 | }, { | |
10909 | // generated using Crypto++ | |
10910 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10911 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10912 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10913 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10914 | "\x00\x00\x00\x00", | |
10915 | .klen = 32 + 4, | |
10916 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
10917 | .input = | |
10918 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
10919 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
10920 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
10921 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
10922 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
10923 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
10924 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
10925 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
10926 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
10927 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
10928 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
10929 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
10930 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
10931 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
10932 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
10933 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
10934 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
10935 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
10936 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
10937 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
10938 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
10939 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
10940 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
10941 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
10942 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
10943 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
10944 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
10945 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
10946 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
10947 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
10948 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
10949 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
10950 | "\x00\x03\x06\x09\x0c\x0f\x12\x15" | |
10951 | "\x18\x1b\x1e\x21\x24\x27\x2a\x2d" | |
10952 | "\x30\x33\x36\x39\x3c\x3f\x42\x45" | |
10953 | "\x48\x4b\x4e\x51\x54\x57\x5a\x5d" | |
10954 | "\x60\x63\x66\x69\x6c\x6f\x72\x75" | |
10955 | "\x78\x7b\x7e\x81\x84\x87\x8a\x8d" | |
10956 | "\x90\x93\x96\x99\x9c\x9f\xa2\xa5" | |
10957 | "\xa8\xab\xae\xb1\xb4\xb7\xba\xbd" | |
10958 | "\xc0\xc3\xc6\xc9\xcc\xcf\xd2\xd5" | |
10959 | "\xd8\xdb\xde\xe1\xe4\xe7\xea\xed" | |
10960 | "\xf0\xf3\xf6\xf9\xfc\xff\x02\x05" | |
10961 | "\x08\x0b\x0e\x11\x14\x17\x1a\x1d" | |
10962 | "\x20\x23\x26\x29\x2c\x2f\x32\x35" | |
10963 | "\x38\x3b\x3e\x41\x44\x47\x4a\x4d" | |
10964 | "\x50\x53\x56\x59\x5c\x5f\x62\x65" | |
10965 | "\x68\x6b\x6e\x71\x74\x77\x7a\x7d" | |
10966 | "\x80\x83\x86\x89\x8c\x8f\x92\x95" | |
10967 | "\x98\x9b\x9e\xa1\xa4\xa7\xaa\xad" | |
10968 | "\xb0\xb3\xb6\xb9\xbc\xbf\xc2\xc5" | |
10969 | "\xc8\xcb\xce\xd1\xd4\xd7\xda\xdd" | |
10970 | "\xe0\xe3\xe6\xe9\xec\xef\xf2\xf5" | |
10971 | "\xf8\xfb\xfe\x01\x04\x07\x0a\x0d" | |
10972 | "\x10\x13\x16\x19\x1c\x1f\x22\x25" | |
10973 | "\x28\x2b\x2e\x31\x34\x37\x3a\x3d" | |
10974 | "\x40\x43\x46\x49\x4c\x4f\x52\x55" | |
10975 | "\x58\x5b\x5e\x61\x64\x67\x6a\x6d" | |
10976 | "\x70\x73\x76\x79\x7c\x7f\x82\x85" | |
10977 | "\x88\x8b\x8e\x91\x94\x97\x9a\x9d" | |
10978 | "\xa0\xa3\xa6\xa9\xac\xaf\xb2\xb5" | |
10979 | "\xb8\xbb\xbe\xc1\xc4\xc7\xca\xcd" | |
10980 | "\xd0\xd3\xd6\xd9\xdc\xdf\xe2\xe5" | |
10981 | "\xe8\xeb\xee\xf1\xf4\xf7\xfa\xfd" | |
10982 | "\x00\x05\x0a\x0f\x14\x19\x1e\x23" | |
10983 | "\x28\x2d\x32\x37\x3c\x41\x46\x4b" | |
10984 | "\x50\x55\x5a\x5f\x64\x69\x6e\x73" | |
10985 | "\x78\x7d\x82\x87\x8c\x91\x96\x9b" | |
10986 | "\xa0\xa5\xaa\xaf\xb4\xb9\xbe\xc3" | |
10987 | "\xc8\xcd\xd2\xd7\xdc\xe1\xe6\xeb" | |
10988 | "\xf0\xf5\xfa\xff\x04\x09\x0e\x13" | |
10989 | "\x18\x1d\x22\x27\x2c\x31\x36\x3b" | |
10990 | "\x40\x45\x4a\x4f\x54\x59\x5e\x63" | |
10991 | "\x68\x6d\x72\x77\x7c\x81\x86\x8b" | |
10992 | "\x90\x95\x9a\x9f\xa4\xa9\xae\xb3" | |
10993 | "\xb8\xbd\xc2\xc7\xcc\xd1\xd6\xdb" | |
10994 | "\xe0\xe5\xea\xef\xf4\xf9\xfe\x03" | |
10995 | "\x08\x0d\x12\x17\x1c\x21\x26\x2b" | |
10996 | "\x30\x35\x3a\x3f\x44\x49\x4e\x53" | |
10997 | "\x58\x5d\x62\x67\x6c\x71\x76\x7b" | |
10998 | "\x80\x85\x8a\x8f\x94\x99\x9e\xa3" | |
10999 | "\xa8\xad\xb2\xb7\xbc\xc1\xc6\xcb" | |
11000 | "\xd0\xd5\xda\xdf\xe4\xe9\xee\xf3" | |
11001 | "\xf8\xfd\x02\x07\x0c\x11\x16\x1b" | |
11002 | "\x20\x25\x2a\x2f\x34\x39\x3e\x43" | |
11003 | "\x48\x4d\x52\x57\x5c\x61\x66\x6b" | |
11004 | "\x70\x75\x7a\x7f\x84\x89\x8e\x93" | |
11005 | "\x98\x9d\xa2\xa7\xac\xb1\xb6\xbb" | |
11006 | "\xc0\xc5\xca\xcf\xd4\xd9\xde\xe3" | |
11007 | "\xe8\xed\xf2\xf7\xfc\x01\x06\x0b" | |
11008 | "\x10\x15\x1a\x1f\x24\x29\x2e\x33" | |
11009 | "\x38\x3d\x42\x47\x4c\x51\x56\x5b" | |
11010 | "\x60\x65\x6a\x6f\x74\x79\x7e\x83" | |
11011 | "\x88\x8d\x92\x97\x9c\xa1\xa6\xab" | |
11012 | "\xb0\xb5\xba\xbf\xc4\xc9\xce\xd3" | |
11013 | "\xd8\xdd\xe2\xe7\xec\xf1\xf6\xfb" | |
11014 | "\x00\x07\x0e\x15\x1c\x23\x2a\x31" | |
11015 | "\x38\x3f\x46\x4d\x54\x5b\x62\x69" | |
11016 | "\x70\x77\x7e\x85\x8c\x93\x9a\xa1" | |
11017 | "\xa8\xaf\xb6\xbd\xc4\xcb\xd2\xd9" | |
11018 | "\xe0\xe7\xee\xf5\xfc\x03\x0a\x11" | |
11019 | "\x18\x1f\x26\x2d\x34\x3b\x42\x49" | |
11020 | "\x50\x57\x5e\x65\x6c\x73\x7a\x81" | |
11021 | "\x88\x8f\x96\x9d\xa4\xab\xb2\xb9" | |
11022 | "\xc0\xc7\xce\xd5\xdc\xe3\xea\xf1" | |
11023 | "\xf8\xff\x06\x0d\x14\x1b\x22\x29" | |
11024 | "\x30\x37\x3e\x45\x4c\x53\x5a\x61" | |
11025 | "\x68\x6f\x76\x7d\x84\x8b\x92\x99" | |
11026 | "\xa0\xa7\xae\xb5\xbc\xc3\xca\xd1" | |
11027 | "\xd8\xdf\xe6\xed\xf4\xfb\x02\x09" | |
11028 | "\x10\x17\x1e\x25\x2c\x33\x3a\x41" | |
11029 | "\x48\x4f\x56\x5d\x64\x6b\x72\x79" | |
11030 | "\x80\x87\x8e\x95\x9c\xa3\xaa\xb1" | |
11031 | "\xb8\xbf\xc6\xcd\xd4\xdb\xe2\xe9" | |
11032 | "\xf0\xf7\xfe\x05\x0c\x13\x1a\x21" | |
11033 | "\x28\x2f\x36\x3d\x44\x4b\x52\x59" | |
11034 | "\x60\x67\x6e\x75\x7c\x83\x8a\x91" | |
11035 | "\x98\x9f\xa6\xad\xb4\xbb\xc2\xc9" | |
11036 | "\xd0\xd7\xde\xe5\xec\xf3\xfa\x01" | |
11037 | "\x08\x0f\x16\x1d\x24\x2b\x32\x39" | |
11038 | "\x40\x47\x4e\x55\x5c\x63\x6a\x71" | |
11039 | "\x78\x7f\x86\x8d\x94\x9b\xa2\xa9" | |
11040 | "\xb0\xb7\xbe\xc5\xcc\xd3\xda\xe1" | |
11041 | "\xe8\xef\xf6\xfd\x04\x0b\x12\x19" | |
11042 | "\x20\x27\x2e\x35\x3c\x43\x4a\x51" | |
11043 | "\x58\x5f\x66\x6d\x74\x7b\x82\x89" | |
11044 | "\x90\x97\x9e\xa5\xac\xb3\xba\xc1" | |
11045 | "\xc8\xcf\xd6\xdd\xe4\xeb\xf2\xf9" | |
11046 | "\x00\x09\x12\x1b\x24\x2d\x36\x3f" | |
11047 | "\x48\x51\x5a\x63\x6c\x75\x7e\x87" | |
11048 | "\x90\x99\xa2\xab\xb4\xbd\xc6\xcf" | |
11049 | "\xd8\xe1\xea\xf3\xfc\x05\x0e\x17" | |
11050 | "\x20\x29\x32\x3b\x44\x4d\x56\x5f" | |
11051 | "\x68\x71\x7a\x83\x8c\x95\x9e\xa7" | |
11052 | "\xb0\xb9\xc2\xcb\xd4\xdd\xe6\xef" | |
11053 | "\xf8\x01\x0a\x13\x1c\x25\x2e\x37" | |
11054 | "\x40\x49\x52\x5b\x64\x6d\x76\x7f" | |
11055 | "\x88\x91\x9a\xa3\xac\xb5\xbe\xc7" | |
11056 | "\xd0\xd9\xe2\xeb\xf4\xfd\x06\x0f" | |
11057 | "\x18\x21\x2a\x33\x3c\x45\x4e\x57" | |
11058 | "\x60\x69\x72\x7b\x84\x8d\x96\x9f" | |
11059 | "\xa8\xb1\xba\xc3\xcc\xd5\xde\xe7" | |
11060 | "\xf0\xf9\x02\x0b\x14\x1d\x26\x2f" | |
11061 | "\x38\x41\x4a\x53\x5c\x65\x6e\x77" | |
11062 | "\x80\x89\x92\x9b\xa4\xad\xb6\xbf" | |
11063 | "\xc8\xd1\xda\xe3\xec\xf5\xfe\x07" | |
11064 | "\x10\x19\x22\x2b\x34\x3d\x46\x4f" | |
11065 | "\x58\x61\x6a\x73\x7c\x85\x8e\x97" | |
11066 | "\xa0\xa9\xb2\xbb\xc4\xcd\xd6\xdf" | |
11067 | "\xe8\xf1\xfa\x03\x0c\x15\x1e\x27" | |
11068 | "\x30\x39\x42\x4b\x54\x5d\x66\x6f" | |
11069 | "\x78\x81\x8a\x93\x9c\xa5\xae\xb7" | |
11070 | "\xc0\xc9\xd2\xdb\xe4\xed\xf6\xff" | |
11071 | "\x08\x11\x1a\x23\x2c\x35\x3e\x47" | |
11072 | "\x50\x59\x62\x6b\x74\x7d\x86\x8f" | |
11073 | "\x98\xa1\xaa\xb3\xbc\xc5\xce\xd7" | |
11074 | "\xe0\xe9\xf2\xfb\x04\x0d\x16\x1f" | |
11075 | "\x28\x31\x3a\x43\x4c\x55\x5e\x67" | |
11076 | "\x70\x79\x82\x8b\x94\x9d\xa6\xaf" | |
11077 | "\xb8\xc1\xca\xd3\xdc\xe5\xee\xf7" | |
11078 | "\x00\x0b\x16\x21\x2c\x37\x42\x4d" | |
11079 | "\x58\x63\x6e\x79\x84\x8f\x9a\xa5" | |
11080 | "\xb0\xbb\xc6\xd1\xdc\xe7\xf2\xfd" | |
11081 | "\x08\x13\x1e\x29\x34\x3f\x4a\x55" | |
11082 | "\x60\x6b\x76\x81\x8c\x97\xa2\xad" | |
11083 | "\xb8\xc3\xce\xd9\xe4\xef\xfa\x05" | |
11084 | "\x10\x1b\x26\x31\x3c\x47\x52\x5d" | |
11085 | "\x68\x73\x7e\x89\x94\x9f\xaa\xb5" | |
11086 | "\xc0\xcb\xd6\xe1\xec\xf7\x02\x0d" | |
11087 | "\x18\x23\x2e\x39\x44\x4f\x5a\x65" | |
11088 | "\x70\x7b\x86\x91\x9c\xa7\xb2\xbd" | |
11089 | "\xc8\xd3\xde\xe9\xf4\xff\x0a\x15" | |
11090 | "\x20\x2b\x36\x41\x4c\x57\x62\x6d" | |
11091 | "\x78\x83\x8e\x99\xa4\xaf\xba\xc5" | |
11092 | "\xd0\xdb\xe6\xf1\xfc\x07\x12\x1d" | |
11093 | "\x28\x33\x3e\x49\x54\x5f\x6a\x75" | |
11094 | "\x80\x8b\x96\xa1\xac\xb7\xc2\xcd" | |
11095 | "\xd8\xe3\xee\xf9\x04\x0f\x1a\x25" | |
11096 | "\x30\x3b\x46\x51\x5c\x67\x72\x7d" | |
11097 | "\x88\x93\x9e\xa9\xb4\xbf\xca\xd5" | |
11098 | "\xe0\xeb\xf6\x01\x0c\x17\x22\x2d" | |
11099 | "\x38\x43\x4e\x59\x64\x6f\x7a\x85" | |
11100 | "\x90\x9b\xa6\xb1\xbc\xc7\xd2\xdd" | |
11101 | "\xe8\xf3\xfe\x09\x14\x1f\x2a\x35" | |
11102 | "\x40\x4b\x56\x61\x6c\x77\x82\x8d" | |
11103 | "\x98\xa3\xae\xb9\xc4\xcf\xda\xe5" | |
11104 | "\xf0\xfb\x06\x11\x1c\x27\x32\x3d" | |
11105 | "\x48\x53\x5e\x69\x74\x7f\x8a\x95" | |
11106 | "\xa0\xab\xb6\xc1\xcc\xd7\xe2\xed" | |
11107 | "\xf8\x03\x0e\x19\x24\x2f\x3a\x45" | |
11108 | "\x50\x5b\x66\x71\x7c\x87\x92\x9d" | |
11109 | "\xa8\xb3\xbe\xc9\xd4\xdf\xea\xf5" | |
11110 | "\x00\x0d\x1a\x27\x34\x41\x4e\x5b" | |
11111 | "\x68\x75\x82\x8f\x9c\xa9\xb6\xc3" | |
11112 | "\xd0\xdd\xea\xf7\x04\x11\x1e\x2b" | |
11113 | "\x38\x45\x52\x5f\x6c\x79\x86\x93" | |
11114 | "\xa0\xad\xba\xc7\xd4\xe1\xee\xfb" | |
11115 | "\x08\x15\x22\x2f\x3c\x49\x56\x63" | |
11116 | "\x70\x7d\x8a\x97\xa4\xb1\xbe\xcb" | |
11117 | "\xd8\xe5\xf2\xff\x0c\x19\x26\x33" | |
11118 | "\x40\x4d\x5a\x67\x74\x81\x8e\x9b" | |
11119 | "\xa8\xb5\xc2\xcf\xdc\xe9\xf6\x03" | |
11120 | "\x10\x1d\x2a\x37\x44\x51\x5e\x6b" | |
11121 | "\x78\x85\x92\x9f\xac\xb9\xc6\xd3" | |
11122 | "\xe0\xed\xfa\x07\x14\x21\x2e\x3b" | |
11123 | "\x48\x55\x62\x6f\x7c\x89\x96\xa3" | |
11124 | "\xb0\xbd\xca\xd7\xe4\xf1\xfe\x0b" | |
11125 | "\x18\x25\x32\x3f\x4c\x59\x66\x73" | |
11126 | "\x80\x8d\x9a\xa7\xb4\xc1\xce\xdb" | |
11127 | "\xe8\xf5\x02\x0f\x1c\x29\x36\x43" | |
11128 | "\x50\x5d\x6a\x77\x84\x91\x9e\xab" | |
11129 | "\xb8\xc5\xd2\xdf\xec\xf9\x06\x13" | |
11130 | "\x20\x2d\x3a\x47\x54\x61\x6e\x7b" | |
11131 | "\x88\x95\xa2\xaf\xbc\xc9\xd6\xe3" | |
11132 | "\xf0\xfd\x0a\x17\x24\x31\x3e\x4b" | |
11133 | "\x58\x65\x72\x7f\x8c\x99\xa6\xb3" | |
11134 | "\xc0\xcd\xda\xe7\xf4\x01\x0e\x1b" | |
11135 | "\x28\x35\x42\x4f\x5c\x69\x76\x83" | |
11136 | "\x90\x9d\xaa\xb7\xc4\xd1\xde\xeb" | |
11137 | "\xf8\x05\x12\x1f\x2c\x39\x46\x53" | |
11138 | "\x60\x6d\x7a\x87\x94\xa1\xae\xbb" | |
11139 | "\xc8\xd5\xe2\xef\xfc\x09\x16\x23" | |
11140 | "\x30\x3d\x4a\x57\x64\x71\x7e\x8b" | |
11141 | "\x98\xa5\xb2\xbf\xcc\xd9\xe6\xf3" | |
11142 | "\x00\x0f\x1e\x2d\x3c\x4b\x5a\x69" | |
11143 | "\x78\x87\x96\xa5\xb4\xc3\xd2\xe1" | |
11144 | "\xf0\xff\x0e\x1d\x2c\x3b\x4a\x59" | |
11145 | "\x68\x77\x86\x95\xa4\xb3\xc2\xd1" | |
11146 | "\xe0\xef\xfe\x0d\x1c\x2b\x3a\x49" | |
11147 | "\x58\x67\x76\x85\x94\xa3\xb2\xc1" | |
11148 | "\xd0\xdf\xee\xfd\x0c\x1b\x2a\x39" | |
11149 | "\x48\x57\x66\x75\x84\x93\xa2\xb1" | |
11150 | "\xc0\xcf\xde\xed\xfc\x0b\x1a\x29" | |
11151 | "\x38\x47\x56\x65\x74\x83\x92\xa1" | |
11152 | "\xb0\xbf\xce\xdd\xec\xfb\x0a\x19" | |
11153 | "\x28\x37\x46\x55\x64\x73\x82\x91" | |
11154 | "\xa0\xaf\xbe\xcd\xdc\xeb\xfa\x09" | |
11155 | "\x18\x27\x36\x45\x54\x63\x72\x81" | |
11156 | "\x90\x9f\xae\xbd\xcc\xdb\xea\xf9" | |
11157 | "\x08\x17\x26\x35\x44\x53\x62\x71" | |
11158 | "\x80\x8f\x9e\xad\xbc\xcb\xda\xe9" | |
11159 | "\xf8\x07\x16\x25\x34\x43\x52\x61" | |
11160 | "\x70\x7f\x8e\x9d\xac\xbb\xca\xd9" | |
11161 | "\xe8\xf7\x06\x15\x24\x33\x42\x51" | |
11162 | "\x60\x6f\x7e\x8d\x9c\xab\xba\xc9" | |
11163 | "\xd8\xe7\xf6\x05\x14\x23\x32\x41" | |
11164 | "\x50\x5f\x6e\x7d\x8c\x9b\xaa\xb9" | |
11165 | "\xc8\xd7\xe6\xf5\x04\x13\x22\x31" | |
11166 | "\x40\x4f\x5e\x6d\x7c\x8b\x9a\xa9" | |
11167 | "\xb8\xc7\xd6\xe5\xf4\x03\x12\x21" | |
11168 | "\x30\x3f\x4e\x5d\x6c\x7b\x8a\x99" | |
11169 | "\xa8\xb7\xc6\xd5\xe4\xf3\x02\x11" | |
11170 | "\x20\x2f\x3e\x4d\x5c\x6b\x7a\x89" | |
11171 | "\x98\xa7\xb6\xc5\xd4\xe3\xf2\x01" | |
11172 | "\x10\x1f\x2e\x3d\x4c\x5b\x6a\x79" | |
11173 | "\x88\x97\xa6\xb5\xc4\xd3\xe2\xf1" | |
11174 | "\x00\x11\x22\x33\x44\x55\x66\x77" | |
11175 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff" | |
11176 | "\x10\x21\x32\x43\x54\x65\x76\x87" | |
11177 | "\x98\xa9\xba\xcb\xdc\xed\xfe\x0f" | |
11178 | "\x20\x31\x42\x53\x64\x75\x86\x97" | |
11179 | "\xa8\xb9\xca\xdb\xec\xfd\x0e\x1f" | |
11180 | "\x30\x41\x52\x63\x74\x85\x96\xa7" | |
11181 | "\xb8\xc9\xda\xeb\xfc\x0d\x1e\x2f" | |
11182 | "\x40\x51\x62\x73\x84\x95\xa6\xb7" | |
11183 | "\xc8\xd9\xea\xfb\x0c\x1d\x2e\x3f" | |
11184 | "\x50\x61\x72\x83\x94\xa5\xb6\xc7" | |
11185 | "\xd8\xe9\xfa\x0b\x1c\x2d\x3e\x4f" | |
11186 | "\x60\x71\x82\x93\xa4\xb5\xc6\xd7" | |
11187 | "\xe8\xf9\x0a\x1b\x2c\x3d\x4e\x5f" | |
11188 | "\x70\x81\x92\xa3\xb4\xc5\xd6\xe7" | |
11189 | "\xf8\x09\x1a\x2b\x3c\x4d\x5e\x6f" | |
11190 | "\x80\x91\xa2\xb3\xc4\xd5\xe6\xf7" | |
11191 | "\x08\x19\x2a\x3b\x4c\x5d\x6e\x7f" | |
11192 | "\x90\xa1\xb2\xc3\xd4\xe5\xf6\x07" | |
11193 | "\x18\x29\x3a\x4b\x5c\x6d\x7e\x8f" | |
11194 | "\xa0\xb1\xc2\xd3\xe4\xf5\x06\x17" | |
11195 | "\x28\x39\x4a\x5b\x6c\x7d\x8e\x9f" | |
11196 | "\xb0\xc1\xd2\xe3\xf4\x05\x16\x27" | |
11197 | "\x38\x49\x5a\x6b\x7c\x8d\x9e\xaf" | |
11198 | "\xc0\xd1\xe2\xf3\x04\x15\x26\x37" | |
11199 | "\x48\x59\x6a\x7b\x8c\x9d\xae\xbf" | |
11200 | "\xd0\xe1\xf2\x03\x14\x25\x36\x47" | |
11201 | "\x58\x69\x7a\x8b\x9c\xad\xbe\xcf" | |
11202 | "\xe0\xf1\x02\x13\x24\x35\x46\x57" | |
11203 | "\x68\x79\x8a\x9b\xac\xbd\xce\xdf" | |
11204 | "\xf0\x01\x12\x23\x34\x45\x56\x67" | |
11205 | "\x78\x89\x9a\xab\xbc\xcd\xde\xef" | |
11206 | "\x00\x13\x26\x39\x4c\x5f\x72\x85" | |
11207 | "\x98\xab\xbe\xd1\xe4\xf7\x0a\x1d" | |
11208 | "\x30\x43\x56\x69\x7c\x8f\xa2\xb5" | |
11209 | "\xc8\xdb\xee\x01\x14\x27\x3a\x4d" | |
11210 | "\x60\x73\x86\x99\xac\xbf\xd2\xe5" | |
11211 | "\xf8\x0b\x1e\x31\x44\x57\x6a\x7d" | |
11212 | "\x90\xa3\xb6\xc9\xdc\xef\x02\x15" | |
11213 | "\x28\x3b\x4e\x61\x74\x87\x9a\xad" | |
11214 | "\xc0\xd3\xe6\xf9\x0c\x1f\x32\x45" | |
11215 | "\x58\x6b\x7e\x91\xa4\xb7\xca\xdd" | |
11216 | "\xf0\x03\x16\x29\x3c\x4f\x62\x75" | |
11217 | "\x88\x9b\xae\xc1\xd4\xe7\xfa\x0d" | |
11218 | "\x20\x33\x46\x59\x6c\x7f\x92\xa5" | |
11219 | "\xb8\xcb\xde\xf1\x04\x17\x2a\x3d" | |
11220 | "\x50\x63\x76\x89\x9c\xaf\xc2\xd5" | |
11221 | "\xe8\xfb\x0e\x21\x34\x47\x5a\x6d" | |
11222 | "\x80\x93\xa6\xb9\xcc\xdf\xf2\x05" | |
11223 | "\x18\x2b\x3e\x51\x64\x77\x8a\x9d" | |
11224 | "\xb0\xc3\xd6\xe9\xfc\x0f\x22\x35" | |
11225 | "\x48\x5b\x6e\x81\x94\xa7\xba\xcd" | |
11226 | "\xe0\xf3\x06\x19\x2c\x3f\x52\x65" | |
11227 | "\x78\x8b\x9e\xb1\xc4\xd7\xea\xfd" | |
11228 | "\x10\x23\x36\x49\x5c\x6f\x82\x95" | |
11229 | "\xa8\xbb\xce\xe1\xf4\x07\x1a\x2d" | |
11230 | "\x40\x53\x66\x79\x8c\x9f\xb2\xc5" | |
11231 | "\xd8\xeb\xfe\x11\x24\x37\x4a\x5d" | |
11232 | "\x70\x83\x96\xa9\xbc\xcf\xe2\xf5" | |
11233 | "\x08\x1b\x2e\x41\x54\x67\x7a\x8d" | |
11234 | "\xa0\xb3\xc6\xd9\xec\xff\x12\x25" | |
11235 | "\x38\x4b\x5e\x71\x84\x97\xaa\xbd" | |
11236 | "\xd0\xe3\xf6\x09\x1c\x2f\x42\x55" | |
11237 | "\x68\x7b\x8e\xa1\xb4\xc7\xda\xed" | |
11238 | "\x00\x15\x2a\x3f\x54\x69\x7e\x93" | |
11239 | "\xa8\xbd\xd2\xe7\xfc\x11\x26\x3b" | |
11240 | "\x50\x65\x7a\x8f\xa4\xb9\xce\xe3" | |
11241 | "\xf8\x0d\x22\x37\x4c\x61\x76\x8b" | |
11242 | "\xa0\xb5\xca\xdf\xf4\x09\x1e\x33" | |
11243 | "\x48\x5d\x72\x87\x9c\xb1\xc6\xdb" | |
11244 | "\xf0\x05\x1a\x2f\x44\x59\x6e\x83" | |
11245 | "\x98\xad\xc2\xd7\xec\x01\x16\x2b" | |
11246 | "\x40\x55\x6a\x7f\x94\xa9\xbe\xd3" | |
11247 | "\xe8\xfd\x12\x27\x3c\x51\x66\x7b" | |
11248 | "\x90\xa5\xba\xcf\xe4\xf9\x0e\x23" | |
11249 | "\x38\x4d\x62\x77\x8c\xa1\xb6\xcb" | |
11250 | "\xe0\xf5\x0a\x1f\x34\x49\x5e\x73" | |
11251 | "\x88\x9d\xb2\xc7\xdc\xf1\x06\x1b" | |
11252 | "\x30\x45\x5a\x6f\x84\x99\xae\xc3" | |
11253 | "\xd8\xed\x02\x17\x2c\x41\x56\x6b" | |
11254 | "\x80\x95\xaa\xbf\xd4\xe9\xfe\x13" | |
11255 | "\x28\x3d\x52\x67\x7c\x91\xa6\xbb" | |
11256 | "\xd0\xe5\xfa\x0f\x24\x39\x4e\x63" | |
11257 | "\x78\x8d\xa2\xb7\xcc\xe1\xf6\x0b" | |
11258 | "\x20\x35\x4a\x5f\x74\x89\x9e\xb3" | |
11259 | "\xc8\xdd\xf2\x07\x1c\x31\x46\x5b" | |
11260 | "\x70\x85\x9a\xaf\xc4\xd9\xee\x03" | |
11261 | "\x18\x2d\x42\x57\x6c\x81\x96\xab" | |
11262 | "\xc0\xd5\xea\xff\x14\x29\x3e\x53" | |
11263 | "\x68\x7d\x92\xa7\xbc\xd1\xe6\xfb" | |
11264 | "\x10\x25\x3a\x4f\x64\x79\x8e\xa3" | |
11265 | "\xb8\xcd\xe2\xf7\x0c\x21\x36\x4b" | |
11266 | "\x60\x75\x8a\x9f\xb4\xc9\xde\xf3" | |
11267 | "\x08\x1d\x32\x47\x5c\x71\x86\x9b" | |
11268 | "\xb0\xc5\xda\xef\x04\x19\x2e\x43" | |
11269 | "\x58\x6d\x82\x97\xac\xc1\xd6\xeb" | |
11270 | "\x00\x17\x2e\x45\x5c\x73\x8a\xa1" | |
11271 | "\xb8\xcf\xe6\xfd\x14\x2b\x42\x59" | |
11272 | "\x70\x87\x9e\xb5\xcc\xe3\xfa\x11" | |
11273 | "\x28\x3f\x56\x6d\x84\x9b\xb2\xc9" | |
11274 | "\xe0\xf7\x0e\x25\x3c\x53\x6a\x81" | |
11275 | "\x98\xaf\xc6\xdd\xf4\x0b\x22\x39" | |
11276 | "\x50\x67\x7e\x95\xac\xc3\xda\xf1" | |
11277 | "\x08\x1f\x36\x4d\x64\x7b\x92\xa9" | |
11278 | "\xc0\xd7\xee\x05\x1c\x33\x4a\x61" | |
11279 | "\x78\x8f\xa6\xbd\xd4\xeb\x02\x19" | |
11280 | "\x30\x47\x5e\x75\x8c\xa3\xba\xd1" | |
11281 | "\xe8\xff\x16\x2d\x44\x5b\x72\x89" | |
11282 | "\xa0\xb7\xce\xe5\xfc\x13\x2a\x41" | |
11283 | "\x58\x6f\x86\x9d\xb4\xcb\xe2\xf9" | |
11284 | "\x10\x27\x3e\x55\x6c\x83\x9a\xb1" | |
11285 | "\xc8\xdf\xf6\x0d\x24\x3b\x52\x69" | |
11286 | "\x80\x97\xae\xc5\xdc\xf3\x0a\x21" | |
11287 | "\x38\x4f\x66\x7d\x94\xab\xc2\xd9" | |
11288 | "\xf0\x07\x1e\x35\x4c\x63\x7a\x91" | |
11289 | "\xa8\xbf\xd6\xed\x04\x1b\x32\x49" | |
11290 | "\x60\x77\x8e\xa5\xbc\xd3\xea\x01" | |
11291 | "\x18\x2f\x46\x5d\x74\x8b\xa2\xb9" | |
11292 | "\xd0\xe7\xfe\x15\x2c\x43\x5a\x71" | |
11293 | "\x88\x9f\xb6\xcd\xe4\xfb\x12\x29" | |
11294 | "\x40\x57\x6e\x85\x9c\xb3\xca\xe1" | |
11295 | "\xf8\x0f\x26\x3d\x54\x6b\x82\x99" | |
11296 | "\xb0\xc7\xde\xf5\x0c\x23\x3a\x51" | |
11297 | "\x68\x7f\x96\xad\xc4\xdb\xf2\x09" | |
11298 | "\x20\x37\x4e\x65\x7c\x93\xaa\xc1" | |
11299 | "\xd8\xef\x06\x1d\x34\x4b\x62\x79" | |
11300 | "\x90\xa7\xbe\xd5\xec\x03\x1a\x31" | |
11301 | "\x48\x5f\x76\x8d\xa4\xbb\xd2\xe9" | |
11302 | "\x00\x19\x32\x4b\x64\x7d\x96\xaf" | |
11303 | "\xc8\xe1\xfa\x13\x2c\x45\x5e\x77" | |
11304 | "\x90\xa9\xc2\xdb\xf4\x0d\x26\x3f" | |
11305 | "\x58\x71\x8a\xa3\xbc\xd5\xee\x07" | |
11306 | "\x20\x39\x52\x6b\x84\x9d\xb6\xcf" | |
11307 | "\xe8\x01\x1a\x33\x4c\x65\x7e\x97" | |
11308 | "\xb0\xc9\xe2\xfb\x14\x2d\x46\x5f" | |
11309 | "\x78\x91\xaa\xc3\xdc\xf5\x0e\x27" | |
11310 | "\x40\x59\x72\x8b\xa4\xbd\xd6\xef" | |
11311 | "\x08\x21\x3a\x53\x6c\x85\x9e\xb7" | |
11312 | "\xd0\xe9\x02\x1b\x34\x4d\x66\x7f" | |
11313 | "\x98\xb1\xca\xe3\xfc\x15\x2e\x47" | |
11314 | "\x60\x79\x92\xab\xc4\xdd\xf6\x0f" | |
11315 | "\x28\x41\x5a\x73\x8c\xa5\xbe\xd7" | |
11316 | "\xf0\x09\x22\x3b\x54\x6d\x86\x9f" | |
11317 | "\xb8\xd1\xea\x03\x1c\x35\x4e\x67" | |
11318 | "\x80\x99\xb2\xcb\xe4\xfd\x16\x2f" | |
11319 | "\x48\x61\x7a\x93\xac\xc5\xde\xf7" | |
11320 | "\x10\x29\x42\x5b\x74\x8d\xa6\xbf" | |
11321 | "\xd8\xf1\x0a\x23\x3c\x55\x6e\x87" | |
11322 | "\xa0\xb9\xd2\xeb\x04\x1d\x36\x4f" | |
11323 | "\x68\x81\x9a\xb3\xcc\xe5\xfe\x17" | |
11324 | "\x30\x49\x62\x7b\x94\xad\xc6\xdf" | |
11325 | "\xf8\x11\x2a\x43\x5c\x75\x8e\xa7" | |
11326 | "\xc0\xd9\xf2\x0b\x24\x3d\x56\x6f" | |
11327 | "\x88\xa1\xba\xd3\xec\x05\x1e\x37" | |
11328 | "\x50\x69\x82\x9b\xb4\xcd\xe6\xff" | |
11329 | "\x18\x31\x4a\x63\x7c\x95\xae\xc7" | |
11330 | "\xe0\xf9\x12\x2b\x44\x5d\x76\x8f" | |
11331 | "\xa8\xc1\xda\xf3\x0c\x25\x3e\x57" | |
11332 | "\x70\x89\xa2\xbb\xd4\xed\x06\x1f" | |
11333 | "\x38\x51\x6a\x83\x9c\xb5\xce\xe7" | |
11334 | "\x00\x1b\x36\x51\x6c\x87\xa2\xbd" | |
11335 | "\xd8\xf3\x0e\x29\x44\x5f\x7a\x95" | |
11336 | "\xb0\xcb\xe6\x01\x1c\x37\x52\x6d" | |
11337 | "\x88\xa3\xbe\xd9\xf4\x0f\x2a\x45" | |
11338 | "\x60\x7b\x96\xb1\xcc\xe7\x02\x1d" | |
11339 | "\x38\x53\x6e\x89\xa4\xbf\xda\xf5" | |
11340 | "\x10\x2b\x46\x61\x7c\x97\xb2\xcd" | |
11341 | "\xe8\x03\x1e\x39\x54\x6f\x8a\xa5" | |
11342 | "\xc0\xdb\xf6\x11\x2c\x47\x62\x7d" | |
11343 | "\x98\xb3\xce\xe9\x04\x1f\x3a\x55" | |
11344 | "\x70\x8b\xa6\xc1\xdc\xf7\x12\x2d" | |
11345 | "\x48\x63\x7e\x99\xb4\xcf\xea\x05" | |
11346 | "\x20\x3b\x56\x71\x8c\xa7\xc2\xdd" | |
11347 | "\xf8\x13\x2e\x49\x64\x7f\x9a\xb5" | |
11348 | "\xd0\xeb\x06\x21\x3c\x57\x72\x8d" | |
11349 | "\xa8\xc3\xde\xf9\x14\x2f\x4a\x65" | |
11350 | "\x80\x9b\xb6\xd1\xec\x07\x22\x3d" | |
11351 | "\x58\x73\x8e\xa9\xc4\xdf\xfa\x15" | |
11352 | "\x30\x4b\x66\x81\x9c\xb7\xd2\xed" | |
11353 | "\x08\x23\x3e\x59\x74\x8f\xaa\xc5" | |
11354 | "\xe0\xfb\x16\x31\x4c\x67\x82\x9d" | |
11355 | "\xb8\xd3\xee\x09\x24\x3f\x5a\x75" | |
11356 | "\x90\xab\xc6\xe1\xfc\x17\x32\x4d" | |
11357 | "\x68\x83\x9e\xb9\xd4\xef\x0a\x25" | |
11358 | "\x40\x5b\x76\x91\xac\xc7\xe2\xfd" | |
11359 | "\x18\x33\x4e\x69\x84\x9f\xba\xd5" | |
11360 | "\xf0\x0b\x26\x41\x5c\x77\x92\xad" | |
11361 | "\xc8\xe3\xfe\x19\x34\x4f\x6a\x85" | |
11362 | "\xa0\xbb\xd6\xf1\x0c\x27\x42\x5d" | |
11363 | "\x78\x93\xae\xc9\xe4\xff\x1a\x35" | |
11364 | "\x50\x6b\x86\xa1\xbc\xd7\xf2\x0d" | |
11365 | "\x28\x43\x5e\x79\x94\xaf\xca\xe5" | |
11366 | "\x00\x1d\x3a\x57\x74\x91\xae\xcb" | |
11367 | "\xe8\x05\x22\x3f\x5c\x79\x96\xb3" | |
11368 | "\xd0\xed\x0a\x27\x44\x61\x7e\x9b" | |
11369 | "\xb8\xd5\xf2\x0f\x2c\x49\x66\x83" | |
11370 | "\xa0\xbd\xda\xf7\x14\x31\x4e\x6b" | |
11371 | "\x88\xa5\xc2\xdf\xfc\x19\x36\x53" | |
11372 | "\x70\x8d\xaa\xc7\xe4\x01\x1e\x3b" | |
11373 | "\x58\x75\x92\xaf\xcc\xe9\x06\x23" | |
11374 | "\x40\x5d\x7a\x97\xb4\xd1\xee\x0b" | |
11375 | "\x28\x45\x62\x7f\x9c\xb9\xd6\xf3" | |
11376 | "\x10\x2d\x4a\x67\x84\xa1\xbe\xdb" | |
11377 | "\xf8\x15\x32\x4f\x6c\x89\xa6\xc3" | |
11378 | "\xe0\xfd\x1a\x37\x54\x71\x8e\xab" | |
11379 | "\xc8\xe5\x02\x1f\x3c\x59\x76\x93" | |
11380 | "\xb0\xcd\xea\x07\x24\x41\x5e\x7b" | |
11381 | "\x98\xb5\xd2\xef\x0c\x29\x46\x63" | |
11382 | "\x80\x9d\xba\xd7\xf4\x11\x2e\x4b" | |
11383 | "\x68\x85\xa2\xbf\xdc\xf9\x16\x33" | |
11384 | "\x50\x6d\x8a\xa7\xc4\xe1\xfe\x1b" | |
11385 | "\x38\x55\x72\x8f\xac\xc9\xe6\x03" | |
11386 | "\x20\x3d\x5a\x77\x94\xb1\xce\xeb" | |
11387 | "\x08\x25\x42\x5f\x7c\x99\xb6\xd3" | |
11388 | "\xf0\x0d\x2a\x47\x64\x81\x9e\xbb" | |
11389 | "\xd8\xf5\x12\x2f\x4c\x69\x86\xa3" | |
11390 | "\xc0\xdd\xfa\x17\x34\x51\x6e\x8b" | |
11391 | "\xa8\xc5\xe2\xff\x1c\x39\x56\x73" | |
11392 | "\x90\xad\xca\xe7\x04\x21\x3e\x5b" | |
11393 | "\x78\x95\xb2\xcf\xec\x09\x26\x43" | |
11394 | "\x60\x7d\x9a\xb7\xd4\xf1\x0e\x2b" | |
11395 | "\x48\x65\x82\x9f\xbc\xd9\xf6\x13" | |
11396 | "\x30\x4d\x6a\x87\xa4\xc1\xde\xfb" | |
11397 | "\x18\x35\x52\x6f\x8c\xa9\xc6\xe3" | |
11398 | "\x00\x1f\x3e\x5d\x7c\x9b\xba\xd9" | |
11399 | "\xf8\x17\x36\x55\x74\x93\xb2\xd1" | |
11400 | "\xf0\x0f\x2e\x4d\x6c\x8b\xaa\xc9" | |
11401 | "\xe8\x07\x26\x45\x64\x83\xa2\xc1" | |
11402 | "\xe0\xff\x1e\x3d\x5c\x7b\x9a\xb9" | |
11403 | "\xd8\xf7\x16\x35\x54\x73\x92\xb1" | |
11404 | "\xd0\xef\x0e\x2d\x4c\x6b\x8a\xa9" | |
11405 | "\xc8\xe7\x06\x25\x44\x63\x82\xa1" | |
11406 | "\xc0\xdf\xfe\x1d\x3c\x5b\x7a\x99" | |
11407 | "\xb8\xd7\xf6\x15\x34\x53\x72\x91" | |
11408 | "\xb0\xcf\xee\x0d\x2c\x4b\x6a\x89" | |
11409 | "\xa8\xc7\xe6\x05\x24\x43\x62\x81" | |
11410 | "\xa0\xbf\xde\xfd\x1c\x3b\x5a\x79" | |
11411 | "\x98\xb7\xd6\xf5\x14\x33\x52\x71" | |
11412 | "\x90\xaf\xce\xed\x0c\x2b\x4a\x69" | |
11413 | "\x88\xa7\xc6\xe5\x04\x23\x42\x61" | |
11414 | "\x80\x9f\xbe\xdd\xfc\x1b\x3a\x59" | |
11415 | "\x78\x97\xb6\xd5\xf4\x13\x32\x51" | |
11416 | "\x70\x8f\xae\xcd\xec\x0b\x2a\x49" | |
11417 | "\x68\x87\xa6\xc5\xe4\x03\x22\x41" | |
11418 | "\x60\x7f\x9e\xbd\xdc\xfb\x1a\x39" | |
11419 | "\x58\x77\x96\xb5\xd4\xf3\x12\x31" | |
11420 | "\x50\x6f\x8e\xad\xcc\xeb\x0a\x29" | |
11421 | "\x48\x67\x86\xa5\xc4\xe3\x02\x21" | |
11422 | "\x40\x5f\x7e\x9d\xbc\xdb\xfa\x19" | |
11423 | "\x38\x57\x76\x95\xb4\xd3\xf2\x11" | |
11424 | "\x30\x4f\x6e\x8d\xac\xcb\xea\x09" | |
11425 | "\x28\x47\x66\x85\xa4\xc3\xe2\x01" | |
11426 | "\x20\x3f\x5e\x7d\x9c\xbb\xda\xf9" | |
11427 | "\x18\x37\x56\x75\x94\xb3\xd2\xf1" | |
11428 | "\x10\x2f\x4e\x6d\x8c\xab\xca\xe9" | |
11429 | "\x08\x27\x46\x65\x84\xa3\xc2\xe1" | |
11430 | "\x00\x21\x42\x63", | |
11431 | .ilen = 4100, | |
11432 | .result = | |
11433 | "\xf0\x5c\x74\xad\x4e\xbc\x99\xe2" | |
11434 | "\xae\xff\x91\x3a\x44\xcf\x38\x32" | |
11435 | "\x1e\xad\xa7\xcd\xa1\x39\x95\xaa" | |
11436 | "\x10\xb1\xb3\x2e\x04\x31\x8f\x86" | |
11437 | "\xf2\x62\x74\x70\x0c\xa4\x46\x08" | |
11438 | "\xa8\xb7\x99\xa8\xe9\xd2\x73\x79" | |
11439 | "\x7e\x6e\xd4\x8f\x1e\xc7\x8e\x31" | |
11440 | "\x0b\xfa\x4b\xce\xfd\xf3\x57\x71" | |
11441 | "\xe9\x46\x03\xa5\x3d\x34\x00\xe2" | |
11442 | "\x18\xff\x75\x6d\x06\x2d\x00\xab" | |
11443 | "\xb9\x3e\x6c\x59\xc5\x84\x06\xb5" | |
11444 | "\x8b\xd0\x89\x9c\x4a\x79\x16\xc6" | |
11445 | "\x3d\x74\x54\xfa\x44\xcd\x23\x26" | |
11446 | "\x5c\xcf\x7e\x28\x92\x32\xbf\xdf" | |
11447 | "\xa7\x20\x3c\x74\x58\x2a\x9a\xde" | |
11448 | "\x61\x00\x1c\x4f\xff\x59\xc4\x22" | |
11449 | "\xac\x3c\xd0\xe8\x6c\xf9\x97\x1b" | |
11450 | "\x58\x9b\xad\x71\xe8\xa9\xb5\x0d" | |
11451 | "\xee\x2f\x04\x1f\x7f\xbc\x99\xee" | |
11452 | "\x84\xff\x42\x60\xdc\x3a\x18\xa5" | |
11453 | "\x81\xf9\xef\xdc\x7a\x0f\x65\x41" | |
11454 | "\x2f\xa3\xd3\xf9\xc2\xcb\xc0\x4d" | |
11455 | "\x8f\xd3\x76\x96\xad\x49\x6d\x38" | |
11456 | "\x3d\x39\x0b\x6c\x80\xb7\x54\x69" | |
11457 | "\xf0\x2c\x90\x02\x29\x0d\x1c\x12" | |
11458 | "\xad\x55\xc3\x8b\x68\xd9\xcc\xb3" | |
11459 | "\xb2\x64\x33\x90\x5e\xca\x4b\xe2" | |
11460 | "\xfb\x75\xdc\x63\xf7\x9f\x82\x74" | |
11461 | "\xf0\xc9\xaa\x7f\xe9\x2a\x9b\x33" | |
11462 | "\xbc\x88\x00\x7f\xca\xb2\x1f\x14" | |
11463 | "\xdb\xc5\x8e\x7b\x11\x3c\x3e\x08" | |
11464 | "\xf3\x83\xe8\xe0\x94\x86\x2e\x92" | |
11465 | "\x78\x6b\x01\xc9\xc7\x83\xba\x21" | |
11466 | "\x6a\x25\x15\x33\x4e\x45\x08\xec" | |
11467 | "\x35\xdb\xe0\x6e\x31\x51\x79\xa9" | |
11468 | "\x42\x44\x65\xc1\xa0\xf1\xf9\x2a" | |
11469 | "\x70\xd5\xb6\xc6\xc1\x8c\x39\xfc" | |
11470 | "\x25\xa6\x55\xd9\xdd\x2d\x4c\xec" | |
11471 | "\x49\xc6\xeb\x0e\xa8\x25\x2a\x16" | |
11472 | "\x1b\x66\x84\xda\xe2\x92\xe5\xc0" | |
11473 | "\xc8\x53\x07\xaf\x80\x84\xec\xfd" | |
11474 | "\xcd\xd1\x6e\xcd\x6f\x6a\xf5\x36" | |
11475 | "\xc5\x15\xe5\x25\x7d\x77\xd1\x1a" | |
11476 | "\x93\x36\xa9\xcf\x7c\xa4\x54\x4a" | |
11477 | "\x06\x51\x48\x4e\xf6\x59\x87\xd2" | |
11478 | "\x04\x02\xef\xd3\x44\xde\x76\x31" | |
11479 | "\xb3\x34\x17\x1b\x9d\x66\x11\x9f" | |
11480 | "\x1e\xcc\x17\xe9\xc7\x3c\x1b\xe7" | |
11481 | "\xcb\x50\x08\xfc\xdc\x2b\x24\xdb" | |
11482 | "\x65\x83\xd0\x3b\xe3\x30\xea\x94" | |
11483 | "\x6c\xe7\xe8\x35\x32\xc7\xdb\x64" | |
11484 | "\xb4\x01\xab\x36\x2c\x77\x13\xaf" | |
11485 | "\xf8\x2b\x88\x3f\x54\x39\xc4\x44" | |
11486 | "\xfe\xef\x6f\x68\x34\xbe\x0f\x05" | |
11487 | "\x16\x6d\xf6\x0a\x30\xe7\xe3\xed" | |
11488 | "\xc4\xde\x3c\x1b\x13\xd8\xdb\xfe" | |
11489 | "\x41\x62\xe5\x28\xd4\x8d\xa3\xc7" | |
11490 | "\x93\x97\xc6\x48\x45\x1d\x9f\x83" | |
11491 | "\xdf\x4b\x40\x3e\x42\x25\x87\x80" | |
11492 | "\x4c\x7d\xa8\xd4\x98\x23\x95\x75" | |
11493 | "\x41\x8c\xda\x41\x9b\xd4\xa7\x06" | |
11494 | "\xb5\xf1\x71\x09\x53\xbe\xca\xbf" | |
11495 | "\x32\x03\xed\xf0\x50\x1c\x56\x39" | |
11496 | "\x5b\xa4\x75\x18\xf7\x9b\x58\xef" | |
11497 | "\x53\xfc\x2a\x38\x23\x15\x75\xcd" | |
11498 | "\x45\xe5\x5a\x82\x55\xba\x21\xfa" | |
11499 | "\xd4\xbd\xc6\x94\x7c\xc5\x80\x12" | |
11500 | "\xf7\x4b\x32\xc4\x9a\x82\xd8\x28" | |
11501 | "\x8f\xd9\xc2\x0f\x60\x03\xbe\x5e" | |
11502 | "\x21\xd6\x5f\x58\xbf\x5c\xb1\x32" | |
11503 | "\x82\x8d\xa9\xe5\xf2\x66\x1a\xc0" | |
11504 | "\xa0\xbc\x58\x2f\x71\xf5\x2f\xed" | |
11505 | "\xd1\x26\xb9\xd8\x49\x5a\x07\x19" | |
11506 | "\x01\x7c\x59\xb0\xf8\xa4\xb7\xd3" | |
11507 | "\x7b\x1a\x8c\x38\xf4\x50\xa4\x59" | |
11508 | "\xb0\xcc\x41\x0b\x88\x7f\xe5\x31" | |
11509 | "\xb3\x42\xba\xa2\x7e\xd4\x32\x71" | |
11510 | "\x45\x87\x48\xa9\xc2\xf2\x89\xb3" | |
11511 | "\xe4\xa7\x7e\x52\x15\x61\xfa\xfe" | |
11512 | "\xc9\xdd\x81\xeb\x13\xab\xab\xc3" | |
11513 | "\x98\x59\xd8\x16\x3d\x14\x7a\x1c" | |
11514 | "\x3c\x41\x9a\x16\x16\x9b\xd2\xd2" | |
11515 | "\x69\x3a\x29\x23\xac\x86\x32\xa5" | |
11516 | "\x48\x9c\x9e\xf3\x47\x77\x81\x70" | |
11517 | "\x24\xe8\x85\xd2\xf5\xb5\xfa\xff" | |
11518 | "\x59\x6a\xd3\x50\x59\x43\x59\xde" | |
11519 | "\xd9\xf1\x55\xa5\x0c\xc3\x1a\x1a" | |
11520 | "\x18\x34\x0d\x1a\x63\x33\xed\x10" | |
11521 | "\xe0\x1d\x2a\x18\xd2\xc0\x54\xa8" | |
11522 | "\xca\xb5\x9a\xd3\xdd\xca\x45\x84" | |
11523 | "\x50\xe7\x0f\xfe\xa4\x99\x5a\xbe" | |
11524 | "\x43\x2d\x9a\xcb\x92\x3f\x5a\x1d" | |
11525 | "\x85\xd8\xc9\xdf\x68\xc9\x12\x80" | |
11526 | "\x56\x0c\xdc\x00\xdc\x3a\x7d\x9d" | |
11527 | "\xa3\xa2\xe8\x4d\xbf\xf9\x70\xa0" | |
11528 | "\xa4\x13\x4f\x6b\xaf\x0a\x89\x7f" | |
11529 | "\xda\xf0\xbf\x9b\xc8\x1d\xe5\xf8" | |
11530 | "\x2e\x8b\x07\xb5\x73\x1b\xcc\xa2" | |
11531 | "\xa6\xad\x30\xbc\x78\x3c\x5b\x10" | |
11532 | "\xfa\x5e\x62\x2d\x9e\x64\xb3\x33" | |
11533 | "\xce\xf9\x1f\x86\xe7\x8b\xa2\xb8" | |
11534 | "\xe8\x99\x57\x8c\x11\xed\x66\xd9" | |
11535 | "\x3c\x72\xb9\xc3\xe6\x4e\x17\x3a" | |
11536 | "\x6a\xcb\x42\x24\x06\xed\x3e\x4e" | |
11537 | "\xa3\xe8\x6a\x94\xda\x0d\x4e\xd5" | |
11538 | "\x14\x19\xcf\xb6\x26\xd8\x2e\xcc" | |
11539 | "\x64\x76\x38\x49\x4d\xfe\x30\x6d" | |
11540 | "\xe4\xc8\x8c\x7b\xc4\xe0\x35\xba" | |
11541 | "\x22\x6e\x76\xe1\x1a\xf2\x53\xc3" | |
11542 | "\x28\xa2\x82\x1f\x61\x69\xad\xc1" | |
11543 | "\x7b\x28\x4b\x1e\x6c\x85\x95\x9b" | |
11544 | "\x51\xb5\x17\x7f\x12\x69\x8c\x24" | |
11545 | "\xd5\xc7\x5a\x5a\x11\x54\xff\x5a" | |
11546 | "\xf7\x16\xc3\x91\xa6\xf0\xdc\x0a" | |
11547 | "\xb6\xa7\x4a\x0d\x7a\x58\xfe\xa5" | |
11548 | "\xf5\xcb\x8f\x7b\x0e\xea\x57\xe7" | |
11549 | "\xbd\x79\xd6\x1c\x88\x23\x6c\xf2" | |
11550 | "\x4d\x29\x77\x53\x35\x6a\x00\x8d" | |
11551 | "\xcd\xa3\x58\xbe\x77\x99\x18\xf8" | |
11552 | "\xe6\xe1\x8f\xe9\x37\x8f\xe3\xe2" | |
11553 | "\x5a\x8a\x93\x25\xaf\xf3\x78\x80" | |
11554 | "\xbe\xa6\x1b\xc6\xac\x8b\x1c\x91" | |
11555 | "\x58\xe1\x9f\x89\x35\x9d\x1d\x21" | |
11556 | "\x29\x9f\xf4\x99\x02\x27\x0f\xa8" | |
11557 | "\x4f\x79\x94\x2b\x33\x2c\xda\xa2" | |
11558 | "\x26\x39\x83\x94\xef\x27\xd8\x53" | |
11559 | "\x8f\x66\x0d\xe4\x41\x7d\x34\xcd" | |
11560 | "\x43\x7c\x95\x0a\x53\xef\x66\xda" | |
11561 | "\x7e\x9b\xf3\x93\xaf\xd0\x73\x71" | |
11562 | "\xba\x40\x9b\x74\xf8\xd7\xd7\x41" | |
11563 | "\x6d\xaf\x72\x9c\x8d\x21\x87\x3c" | |
11564 | "\xfd\x0a\x90\xa9\x47\x96\x9e\xd3" | |
11565 | "\x88\xee\x73\xcf\x66\x2f\x52\x56" | |
11566 | "\x6d\xa9\x80\x4c\xe2\x6f\x62\x88" | |
11567 | "\x3f\x0e\x54\x17\x48\x80\x5d\xd3" | |
11568 | "\xc3\xda\x25\x3d\xa1\xc8\xcb\x9f" | |
11569 | "\x9b\x70\xb3\xa1\xeb\x04\x52\xa1" | |
11570 | "\xf2\x22\x0f\xfc\xc8\x18\xfa\xf9" | |
11571 | "\x85\x9c\xf1\xac\xeb\x0c\x02\x46" | |
11572 | "\x75\xd2\xf5\x2c\xe3\xd2\x59\x94" | |
11573 | "\x12\xf3\x3c\xfc\xd7\x92\xfa\x36" | |
11574 | "\xba\x61\x34\x38\x7c\xda\x48\x3e" | |
11575 | "\x08\xc9\x39\x23\x5e\x02\x2c\x1a" | |
11576 | "\x18\x7e\xb4\xd9\xfd\x9e\x40\x02" | |
11577 | "\xb1\x33\x37\x32\xe7\xde\xd6\xd0" | |
11578 | "\x7c\x58\x65\x4b\xf8\x34\x27\x9c" | |
11579 | "\x44\xb4\xbd\xe9\xe9\x4c\x78\x7d" | |
11580 | "\x4b\x9f\xce\xb1\xcd\x47\xa5\x37" | |
11581 | "\xe5\x6d\xbd\xb9\x43\x94\x0a\xd4" | |
11582 | "\xd6\xf9\x04\x5f\xb5\x66\x6c\x1a" | |
11583 | "\x35\x12\xe3\x36\x28\x27\x36\x58" | |
11584 | "\x01\x2b\x79\xe4\xba\x6d\x10\x7d" | |
11585 | "\x65\xdf\x84\x95\xf4\xd5\xb6\x8f" | |
11586 | "\x2b\x9f\x96\x00\x86\x60\xf0\x21" | |
11587 | "\x76\xa8\x6a\x8c\x28\x1c\xb3\x6b" | |
11588 | "\x97\xd7\xb6\x53\x2a\xcc\xab\x40" | |
11589 | "\x9d\x62\x79\x58\x52\xe6\x65\xb7" | |
11590 | "\xab\x55\x67\x9c\x89\x7c\x03\xb0" | |
11591 | "\x73\x59\xc5\x81\xf5\x18\x17\x5c" | |
11592 | "\x89\xf3\x78\x35\x44\x62\x78\x72" | |
11593 | "\xd0\x96\xeb\x31\xe7\x87\x77\x14" | |
11594 | "\x99\x51\xf2\x59\x26\x9e\xb5\xa6" | |
11595 | "\x45\xfe\x6e\xbd\x07\x4c\x94\x5a" | |
11596 | "\xa5\x7d\xfc\xf1\x2b\x77\xe2\xfe" | |
11597 | "\x17\xd4\x84\xa0\xac\xb5\xc7\xda" | |
11598 | "\xa9\x1a\xb6\xf3\x74\x11\xb4\x9d" | |
11599 | "\xfb\x79\x2e\x04\x2d\x50\x28\x83" | |
11600 | "\xbf\xc6\x52\xd3\x34\xd6\xe8\x7a" | |
11601 | "\xb6\xea\xe7\xa8\x6c\x15\x1e\x2c" | |
11602 | "\x57\xbc\x48\x4e\x5f\x5c\xb6\x92" | |
11603 | "\xd2\x49\x77\x81\x6d\x90\x70\xae" | |
11604 | "\x98\xa1\x03\x0d\x6b\xb9\x77\x14" | |
11605 | "\xf1\x4e\x23\xd3\xf8\x68\xbd\xc2" | |
11606 | "\xfe\x04\xb7\x5c\xc5\x17\x60\x8f" | |
11607 | "\x65\x54\xa4\x7a\x42\xdc\x18\x0d" | |
11608 | "\xb5\xcf\x0f\xd3\xc7\x91\x66\x1b" | |
11609 | "\x45\x42\x27\x75\x50\xe5\xee\xb8" | |
11610 | "\x7f\x33\x2c\xba\x4a\x92\x4d\x2c" | |
11611 | "\x3c\xe3\x0d\x80\x01\xba\x0d\x29" | |
11612 | "\xd8\x3c\xe9\x13\x16\x57\xe6\xea" | |
11613 | "\x94\x52\xe7\x00\x4d\x30\xb0\x0f" | |
11614 | "\x35\xb8\xb8\xa7\xb1\xb5\x3b\x44" | |
11615 | "\xe1\x2f\xfd\x88\xed\x43\xe7\x52" | |
11616 | "\x10\x93\xb3\x8a\x30\x6b\x0a\xf7" | |
11617 | "\x23\xc6\x50\x9d\x4a\xb0\xde\xc3" | |
11618 | "\xdc\x9b\x2f\x01\x56\x36\x09\xc5" | |
11619 | "\x2f\x6b\xfe\xf1\xd8\x27\x45\x03" | |
11620 | "\x30\x5e\x5c\x5b\xb4\x62\x0e\x1a" | |
11621 | "\xa9\x21\x2b\x92\x94\x87\x62\x57" | |
11622 | "\x4c\x10\x74\x1a\xf1\x0a\xc5\x84" | |
11623 | "\x3b\x9e\x72\x02\xd7\xcc\x09\x56" | |
11624 | "\xbd\x54\xc1\xf0\xc3\xe3\xb3\xf8" | |
11625 | "\xd2\x0d\x61\xcb\xef\xce\x0d\x05" | |
11626 | "\xb0\x98\xd9\x8e\x4f\xf9\xbc\x93" | |
11627 | "\xa6\xea\xc8\xcf\x10\x53\x4b\xf1" | |
11628 | "\xec\xfc\x89\xf9\x64\xb0\x22\xbf" | |
11629 | "\x9e\x55\x46\x9f\x7c\x50\x8e\x84" | |
11630 | "\x54\x20\x98\xd7\x6c\x40\x1e\xdb" | |
11631 | "\x69\x34\x78\x61\x24\x21\x9c\x8a" | |
11632 | "\xb3\x62\x31\x8b\x6e\xf5\x2a\x35" | |
11633 | "\x86\x13\xb1\x6c\x64\x2e\x41\xa5" | |
11634 | "\x05\xf2\x42\xba\xd2\x3a\x0d\x8e" | |
11635 | "\x8a\x59\x94\x3c\xcf\x36\x27\x82" | |
11636 | "\xc2\x45\xee\x58\xcd\x88\xb4\xec" | |
11637 | "\xde\xb2\x96\x0a\xaf\x38\x6f\x88" | |
11638 | "\xd7\xd8\xe1\xdf\xb9\x96\xa9\x0a" | |
11639 | "\xb1\x95\x28\x86\x20\xe9\x17\x49" | |
11640 | "\xa2\x29\x38\xaa\xa5\xe9\x6e\xf1" | |
11641 | "\x19\x27\xc0\xd5\x2a\x22\xc3\x0b" | |
11642 | "\xdb\x7c\x73\x10\xb9\xba\x89\x76" | |
11643 | "\x54\xae\x7d\x71\xb3\x93\xf6\x32" | |
11644 | "\xe6\x47\x43\x55\xac\xa0\x0d\xc2" | |
11645 | "\x93\x27\x4a\x8e\x0e\x74\x15\xc7" | |
11646 | "\x0b\x85\xd9\x0c\xa9\x30\x7a\x3e" | |
11647 | "\xea\x8f\x85\x6d\x3a\x12\x4f\x72" | |
11648 | "\x69\x58\x7a\x80\xbb\xb5\x97\xf3" | |
11649 | "\xcf\x70\xd2\x5d\xdd\x4d\x21\x79" | |
11650 | "\x54\x4d\xe4\x05\xe8\xbd\xc2\x62" | |
11651 | "\xb1\x3b\x77\x1c\xd6\x5c\xf3\xa0" | |
11652 | "\x79\x00\xa8\x6c\x29\xd9\x18\x24" | |
11653 | "\x36\xa2\x46\xc0\x96\x65\x7f\xbd" | |
11654 | "\x2a\xed\x36\x16\x0c\xaa\x9f\xf4" | |
11655 | "\xc5\xb4\xe2\x12\xed\x69\xed\x4f" | |
11656 | "\x26\x2c\x39\x52\x89\x98\xe7\x2c" | |
11657 | "\x99\xa4\x9e\xa3\x9b\x99\x46\x7a" | |
11658 | "\x3a\xdc\xa8\x59\xa3\xdb\xc3\x3b" | |
11659 | "\x95\x0d\x3b\x09\x6e\xee\x83\x5d" | |
11660 | "\x32\x4d\xed\xab\xfa\x98\x14\x4e" | |
11661 | "\xc3\x15\x45\x53\x61\xc4\x93\xbd" | |
11662 | "\x90\xf4\x99\x95\x4c\xe6\x76\x92" | |
11663 | "\x29\x90\x46\x30\x92\x69\x7d\x13" | |
11664 | "\xf2\xa5\xcd\x69\x49\x44\xb2\x0f" | |
11665 | "\x63\x40\x36\x5f\x09\xe2\x78\xf8" | |
11666 | "\x91\xe3\xe2\xfa\x10\xf7\xc8\x24" | |
11667 | "\xa8\x89\x32\x5c\x37\x25\x1d\xb2" | |
11668 | "\xea\x17\x8a\x0a\xa9\x64\xc3\x7c" | |
11669 | "\x3c\x7c\xbd\xc6\x79\x34\xe7\xe2" | |
11670 | "\x85\x8e\xbf\xf8\xde\x92\xa0\xae" | |
11671 | "\x20\xc4\xf6\xbb\x1f\x38\x19\x0e" | |
11672 | "\xe8\x79\x9c\xa1\x23\xe9\x54\x7e" | |
11673 | "\x37\x2f\xe2\x94\x32\xaf\xa0\x23" | |
11674 | "\x49\xe4\xc0\xb3\xac\x00\x8f\x36" | |
11675 | "\x05\xc4\xa6\x96\xec\x05\x98\x4f" | |
11676 | "\x96\x67\x57\x1f\x20\x86\x1b\x2d" | |
11677 | "\x69\xe4\x29\x93\x66\x5f\xaf\x6b" | |
11678 | "\x88\x26\x2c\x67\x02\x4b\x52\xd0" | |
11679 | "\x83\x7a\x43\x1f\xc0\x71\x15\x25" | |
11680 | "\x77\x65\x08\x60\x11\x76\x4c\x8d" | |
11681 | "\xed\xa9\x27\xc6\xb1\x2a\x2c\x6a" | |
11682 | "\x4a\x97\xf5\xc6\xb7\x70\x42\xd3" | |
11683 | "\x03\xd1\x24\x95\xec\x6d\xab\x38" | |
11684 | "\x72\xce\xe2\x8b\x33\xd7\x51\x09" | |
11685 | "\xdc\x45\xe0\x09\x96\x32\xf3\xc4" | |
11686 | "\x84\xdc\x73\x73\x2d\x1b\x11\x98" | |
11687 | "\xc5\x0e\x69\x28\x94\xc7\xb5\x4d" | |
11688 | "\xc8\x8a\xd0\xaa\x13\x2e\x18\x74" | |
11689 | "\xdd\xd1\x1e\xf3\x90\xe8\xfc\x9a" | |
11690 | "\x72\x4a\x0e\xd1\xe4\xfb\x0d\x96" | |
11691 | "\xd1\x0c\x79\x85\x1b\x1c\xfe\xe1" | |
11692 | "\x62\x8f\x7a\x73\x32\xab\xc8\x18" | |
11693 | "\x69\xe3\x34\x30\xdf\x13\xa6\xe5" | |
11694 | "\xe8\x0e\x67\x7f\x81\x11\xb4\x60" | |
11695 | "\xc7\xbd\x79\x65\x50\xdc\xc4\x5b" | |
11696 | "\xde\x39\xa4\x01\x72\x63\xf3\xd1" | |
11697 | "\x64\x4e\xdf\xfc\x27\x92\x37\x0d" | |
11698 | "\x57\xcd\x11\x4f\x11\x04\x8e\x1d" | |
11699 | "\x16\xf7\xcd\x92\x9a\x99\x30\x14" | |
11700 | "\xf1\x7c\x67\x1b\x1f\x41\x0b\xe8" | |
11701 | "\x32\xe8\xb8\xc1\x4f\x54\x86\x4f" | |
11702 | "\xe5\x79\x81\x73\xcd\x43\x59\x68" | |
11703 | "\x73\x02\x3b\x78\x21\x72\x43\x00" | |
11704 | "\x49\x17\xf7\x00\xaf\x68\x24\x53" | |
11705 | "\x05\x0a\xc3\x33\xe0\x33\x3f\x69" | |
11706 | "\xd2\x84\x2f\x0b\xed\xde\x04\xf4" | |
11707 | "\x11\x94\x13\x69\x51\x09\x28\xde" | |
11708 | "\x57\x5c\xef\xdc\x9a\x49\x1c\x17" | |
11709 | "\x97\xf3\x96\xc1\x7f\x5d\x2e\x7d" | |
11710 | "\x55\xb8\xb3\x02\x09\xb3\x1f\xe7" | |
11711 | "\xc9\x8d\xa3\x36\x34\x8a\x77\x13" | |
11712 | "\x30\x63\x4c\xa5\xcd\xc3\xe0\x7e" | |
11713 | "\x05\xa1\x7b\x0c\xcb\x74\x47\x31" | |
11714 | "\x62\x03\x43\xf1\x87\xb4\xb0\x85" | |
11715 | "\x87\x8e\x4b\x25\xc7\xcf\xae\x4b" | |
11716 | "\x36\x46\x3e\x62\xbc\x6f\xeb\x5f" | |
11717 | "\x73\xac\xe6\x07\xee\xc1\xa1\xd6" | |
11718 | "\xc4\xab\xc9\xd6\x89\x45\xe1\xf1" | |
11719 | "\x04\x4e\x1a\x6f\xbb\x4f\x3a\xa3" | |
11720 | "\xa0\xcb\xa3\x0a\xd8\x71\x35\x55" | |
11721 | "\xe4\xbc\x2e\x04\x06\xe6\xff\x5b" | |
11722 | "\x1c\xc0\x11\x7c\xc5\x17\xf3\x38" | |
11723 | "\xcf\xe9\xba\x0f\x0e\xef\x02\xc2" | |
11724 | "\x8d\xc6\xbc\x4b\x67\x20\x95\xd7" | |
11725 | "\x2c\x45\x5b\x86\x44\x8c\x6f\x2e" | |
11726 | "\x7e\x9f\x1c\x77\xba\x6b\x0e\xa3" | |
11727 | "\x69\xdc\xab\x24\x57\x60\x47\xc1" | |
11728 | "\xd1\xa5\x9d\x23\xe6\xb1\x37\xfe" | |
11729 | "\x93\xd2\x4c\x46\xf9\x0c\xc6\xfb" | |
11730 | "\xd6\x9d\x99\x69\xab\x7a\x07\x0c" | |
11731 | "\x65\xe7\xc4\x08\x96\xe2\xa5\x01" | |
11732 | "\x3f\x46\x07\x05\x7e\xe8\x9a\x90" | |
11733 | "\x50\xdc\xe9\x7a\xea\xa1\x39\x6e" | |
11734 | "\x66\xe4\x6f\xa5\x5f\xb2\xd9\x5b" | |
11735 | "\xf5\xdb\x2a\x32\xf0\x11\x6f\x7c" | |
11736 | "\x26\x10\x8f\x3d\x80\xe9\x58\xf7" | |
11737 | "\xe0\xa8\x57\xf8\xdb\x0e\xce\x99" | |
11738 | "\x63\x19\x3d\xd5\xec\x1b\x77\x69" | |
11739 | "\x98\xf6\xe4\x5f\x67\x17\x4b\x09" | |
11740 | "\x85\x62\x82\x70\x18\xe2\x9a\x78" | |
11741 | "\xe2\x62\xbd\xb4\xf1\x42\xc6\xfb" | |
11742 | "\x08\xd0\xbd\xeb\x4e\x09\xf2\xc8" | |
11743 | "\x1e\xdc\x3d\x32\x21\x56\x9c\x4f" | |
11744 | "\x35\xf3\x61\x06\x72\x84\xc4\x32" | |
11745 | "\xf2\xf1\xfa\x0b\x2f\xc3\xdb\x02" | |
11746 | "\x04\xc2\xde\x57\x64\x60\x8d\xcf" | |
11747 | "\xcb\x86\x5d\x97\x3e\xb1\x9c\x01" | |
11748 | "\xd6\x28\x8f\x99\xbc\x46\xeb\x05" | |
11749 | "\xaf\x7e\xb8\x21\x2a\x56\x85\x1c" | |
11750 | "\xb3\x71\xa0\xde\xca\x96\xf1\x78" | |
11751 | "\x49\xa2\x99\x81\x80\x5c\x01\xf5" | |
11752 | "\xa0\xa2\x56\x63\xe2\x70\x07\xa5" | |
11753 | "\x95\xd6\x85\xeb\x36\x9e\xa9\x51" | |
11754 | "\x66\x56\x5f\x1d\x02\x19\xe2\xf6" | |
11755 | "\x4f\x73\x38\x09\x75\x64\x48\xe0" | |
11756 | "\xf1\x7e\x0e\xe8\x9d\xf9\xed\x94" | |
11757 | "\xfe\x16\x26\x62\x49\x74\xf4\xb0" | |
11758 | "\xd4\xa9\x6c\xb0\xfd\x53\xe9\x81" | |
11759 | "\xe0\x7a\xbf\xcf\xb5\xc4\x01\x81" | |
11760 | "\x79\x99\x77\x01\x3b\xe9\xa2\xb6" | |
11761 | "\xe6\x6a\x8a\x9e\x56\x1c\x8d\x1e" | |
11762 | "\x8f\x06\x55\x2c\x6c\xdc\x92\x87" | |
11763 | "\x64\x3b\x4b\x19\xa1\x13\x64\x1d" | |
11764 | "\x4a\xe9\xc0\x00\xb8\x95\xef\x6b" | |
11765 | "\x1a\x86\x6d\x37\x52\x02\xc2\xe0" | |
11766 | "\xc8\xbb\x42\x0c\x02\x21\x4a\xc9" | |
11767 | "\xef\xa0\x54\xe4\x5e\x16\x53\x81" | |
11768 | "\x70\x62\x10\xaf\xde\xb8\xb5\xd3" | |
11769 | "\xe8\x5e\x6c\xc3\x8a\x3e\x18\x07" | |
11770 | "\xf2\x2f\x7d\xa7\xe1\x3d\x4e\xb4" | |
11771 | "\x26\xa7\xa3\x93\x86\xb2\x04\x1e" | |
11772 | "\x53\x5d\x86\xd6\xde\x65\xca\xe3" | |
11773 | "\x4e\xc1\xcf\xef\xc8\x70\x1b\x83" | |
11774 | "\x13\xdd\x18\x8b\x0d\x76\xd2\xf6" | |
11775 | "\x37\x7a\x93\x7a\x50\x11\x9f\x96" | |
11776 | "\x86\x25\xfd\xac\xdc\xbe\x18\x93" | |
11777 | "\x19\x6b\xec\x58\x4f\xb9\x75\xa7" | |
11778 | "\xdd\x3f\x2f\xec\xc8\x5a\x84\xab" | |
11779 | "\xd5\xe4\x8a\x07\xf6\x4d\x23\xd6" | |
11780 | "\x03\xfb\x03\x6a\xea\x66\xbf\xd4" | |
11781 | "\xb1\x34\xfb\x78\xe9\x55\xdc\x7c" | |
11782 | "\x3d\x9c\xe5\x9a\xac\xc3\x7a\x80" | |
11783 | "\x24\x6d\xa0\xef\x25\x7c\xb7\xea" | |
11784 | "\xce\x4d\x5f\x18\x60\xce\x87\x22" | |
11785 | "\x66\x2f\xd5\xdd\xdd\x02\x21\x75" | |
11786 | "\x82\xa0\x1f\x58\xc6\xd3\x62\xf7" | |
11787 | "\x32\xd8\xaf\x1e\x07\x77\x51\x96" | |
11788 | "\xd5\x6b\x1e\x7e\x80\x02\xe8\x67" | |
11789 | "\xea\x17\x0b\x10\xd2\x3f\x28\x25" | |
11790 | "\x4f\x05\x77\x02\x14\x69\xf0\x2c" | |
11791 | "\xbe\x0c\xf1\x74\x30\xd1\xb9\x9b" | |
11792 | "\xfc\x8c\xbb\x04\x16\xd9\xba\xc3" | |
11793 | "\xbc\x91\x8a\xc4\x30\xa4\xb0\x12" | |
11794 | "\x4c\x21\x87\xcb\xc9\x1d\x16\x96" | |
11795 | "\x07\x6f\x23\x54\xb9\x6f\x79\xe5" | |
11796 | "\x64\xc0\x64\xda\xb1\xae\xdd\x60" | |
11797 | "\x6c\x1a\x9d\xd3\x04\x8e\x45\xb0" | |
11798 | "\x92\x61\xd0\x48\x81\xed\x5e\x1d" | |
11799 | "\xa0\xc9\xa4\x33\xc7\x13\x51\x5d" | |
11800 | "\x7f\x83\x73\xb6\x70\x18\x65\x3e" | |
11801 | "\x2f\x0e\x7a\x12\x39\x98\xab\xd8" | |
11802 | "\x7e\x6f\xa3\xd1\xba\x56\xad\xbd" | |
11803 | "\xf0\x03\x01\x1c\x85\x35\x9f\xeb" | |
11804 | "\x19\x63\xa1\xaf\xfe\x2d\x35\x50" | |
11805 | "\x39\xa0\x65\x7c\x95\x7e\x6b\xfe" | |
11806 | "\xc1\xac\x07\x7c\x98\x4f\xbe\x57" | |
11807 | "\xa7\x22\xec\xe2\x7e\x29\x09\x53" | |
11808 | "\xe8\xbf\xb4\x7e\x3f\x8f\xfc\x14" | |
11809 | "\xce\x54\xf9\x18\x58\xb5\xff\x44" | |
11810 | "\x05\x9d\xce\x1b\xb6\x82\x23\xc8" | |
11811 | "\x2e\xbc\x69\xbb\x4a\x29\x0f\x65" | |
11812 | "\x94\xf0\x63\x06\x0e\xef\x8c\xbd" | |
11813 | "\xff\xfd\xb0\x21\x6e\x57\x05\x75" | |
11814 | "\xda\xd5\xc4\xeb\x8d\x32\xf7\x50" | |
11815 | "\xd3\x6f\x22\xed\x5f\x8e\xa2\x5b" | |
11816 | "\x80\x8c\xc8\x78\x40\x24\x4b\x89" | |
11817 | "\x30\xce\x7a\x97\x0e\xc4\xaf\xef" | |
11818 | "\x9b\xb4\xcd\x66\x74\x14\x04\x2b" | |
11819 | "\xf7\xce\x0b\x1c\x6e\xc2\x78\x8c" | |
11820 | "\xca\xc5\xd0\x1c\x95\x4a\x91\x2d" | |
11821 | "\xa7\x20\xeb\x86\x52\xb7\x67\xd8" | |
11822 | "\x0c\xd6\x04\x14\xde\x51\x74\x75" | |
11823 | "\xe7\x11\xb4\x87\xa3\x3d\x2d\xad" | |
11824 | "\x4f\xef\xa0\x0f\x70\x00\x6d\x13" | |
11825 | "\x19\x1d\x41\x50\xe9\xd8\xf0\x32" | |
11826 | "\x71\xbc\xd3\x11\xf2\xac\xbe\xaf" | |
11827 | "\x75\x46\x65\x4e\x07\x34\x37\xa3" | |
11828 | "\x89\xfe\x75\xd4\x70\x4c\xc6\x3f" | |
11829 | "\x69\x24\x0e\x38\x67\x43\x8c\xde" | |
11830 | "\x06\xb5\xb8\xe7\xc4\xf0\x41\x8f" | |
11831 | "\xf0\xbd\x2f\x0b\xb9\x18\xf8\xde" | |
11832 | "\x64\xb1\xdb\xee\x00\x50\x77\xe1" | |
11833 | "\xc7\xff\xa6\xfa\xdd\x70\xf4\xe3" | |
11834 | "\x93\xe9\x77\x35\x3d\x4b\x2f\x2b" | |
11835 | "\x6d\x55\xf0\xfc\x88\x54\x4e\x89" | |
11836 | "\xc1\x8a\x23\x31\x2d\x14\x2a\xb8" | |
11837 | "\x1b\x15\xdd\x9e\x6e\x7b\xda\x05" | |
11838 | "\x91\x7d\x62\x64\x96\x72\xde\xfc" | |
11839 | "\xc1\xec\xf0\x23\x51\x6f\xdb\x5b" | |
11840 | "\x1d\x08\x57\xce\x09\xb8\xf6\xcd" | |
11841 | "\x8d\x95\xf2\x20\xbf\x0f\x20\x57" | |
11842 | "\x98\x81\x84\x4f\x15\x5c\x76\xe7" | |
11843 | "\x3e\x0a\x3a\x6c\xc4\x8a\xbe\x78" | |
11844 | "\x74\x77\xc3\x09\x4b\x5d\x48\xe4" | |
11845 | "\xc8\xcb\x0b\xea\x17\x28\xcf\xcf" | |
11846 | "\x31\x32\x44\xa4\xe5\x0e\x1a\x98" | |
11847 | "\x94\xc4\xf0\xff\xae\x3e\x44\xe8" | |
11848 | "\xa5\xb3\xb5\x37\x2f\xe8\xaf\x6f" | |
11849 | "\x28\xc1\x37\x5f\x31\xd2\xb9\x33" | |
11850 | "\xb1\xb2\x52\x94\x75\x2c\x29\x59" | |
11851 | "\x06\xc2\x25\xe8\x71\x65\x4e\xed" | |
11852 | "\xc0\x9c\xb1\xbb\x25\xdc\x6c\xe7" | |
11853 | "\x4b\xa5\x7a\x54\x7a\x60\xff\x7a" | |
11854 | "\xe0\x50\x40\x96\x35\x63\xe4\x0b" | |
11855 | "\x76\xbd\xa4\x65\x00\x1b\x57\x88" | |
11856 | "\xae\xed\x39\x88\x42\x11\x3c\xed" | |
11857 | "\x85\x67\x7d\xb9\x68\x82\xe9\x43" | |
11858 | "\x3c\x47\x53\xfa\xe8\xf8\x9f\x1f" | |
11859 | "\x9f\xef\x0f\xf7\x30\xd9\x30\x0e" | |
11860 | "\xb9\x9f\x69\x18\x2f\x7e\xf8\xf8" | |
11861 | "\xf8\x8c\x0f\xd4\x02\x4d\xea\xcd" | |
11862 | "\x0a\x9c\x6f\x71\x6d\x5a\x4c\x60" | |
11863 | "\xce\x20\x56\x32\xc6\xc5\x99\x1f" | |
11864 | "\x09\xe6\x4e\x18\x1a\x15\x13\xa8" | |
11865 | "\x7d\xb1\x6b\xc0\xb2\x6d\xf8\x26" | |
11866 | "\x66\xf8\x3d\x18\x74\x70\x66\x7a" | |
11867 | "\x34\x17\xde\xba\x47\xf1\x06\x18" | |
11868 | "\xcb\xaf\xeb\x4a\x1e\x8f\xa7\x77" | |
11869 | "\xe0\x3b\x78\x62\x66\xc9\x10\xea" | |
11870 | "\x1f\xb7\x29\x0a\x45\xa1\x1d\x1e" | |
11871 | "\x1d\xe2\x65\x61\x50\x9c\xd7\x05" | |
11872 | "\xf2\x0b\x5b\x12\x61\x02\xc8\xe5" | |
11873 | "\x63\x4f\x20\x0c\x07\x17\x33\x5e" | |
11874 | "\x03\x9a\x53\x0f\x2e\x55\xfe\x50" | |
11875 | "\x43\x7d\xd0\xb6\x7e\x5a\xda\xae" | |
11876 | "\x58\xef\x15\xa9\x83\xd9\x46\xb1" | |
11877 | "\x42\xaa\xf5\x02\x6c\xce\x92\x06" | |
11878 | "\x1b\xdb\x66\x45\x91\x79\xc2\x2d" | |
11879 | "\xe6\x53\xd3\x14\xfd\xbb\x44\x63" | |
11880 | "\xc6\xd7\x3d\x7a\x0c\x75\x78\x9d" | |
11881 | "\x5c\xa6\x39\xb3\xe5\x63\xca\x8b" | |
11882 | "\xfe\xd3\xef\x60\x83\xf6\x8e\x70" | |
11883 | "\xb6\x67\xc7\x77\xed\x23\xef\x4c" | |
11884 | "\xf0\xed\x2d\x07\x59\x6f\xc1\x01" | |
11885 | "\x34\x37\x08\xab\xd9\x1f\x09\xb1" | |
11886 | "\xce\x5b\x17\xff\x74\xf8\x9c\xd5" | |
11887 | "\x2c\x56\x39\x79\x0f\x69\x44\x75" | |
11888 | "\x58\x27\x01\xc4\xbf\xa7\xa1\x1d" | |
11889 | "\x90\x17\x77\x86\x5a\x3f\xd9\xd1" | |
11890 | "\x0e\xa0\x10\xf8\xec\x1e\xa5\x7f" | |
11891 | "\x5e\x36\xd1\xe3\x04\x2c\x70\xf7" | |
11892 | "\x8e\xc0\x98\x2f\x6c\x94\x2b\x41" | |
11893 | "\xb7\x60\x00\xb7\x2e\xb8\x02\x8d" | |
11894 | "\xb8\xb0\xd3\x86\xba\x1d\xd7\x90" | |
11895 | "\xd6\xb6\xe1\xfc\xd7\xd8\x28\x06" | |
11896 | "\x63\x9b\xce\x61\x24\x79\xc0\x70" | |
11897 | "\x52\xd0\xb6\xd4\x28\x95\x24\x87" | |
11898 | "\x03\x1f\xb7\x9a\xda\xa3\xfb\x52" | |
11899 | "\x5b\x68\xe7\x4c\x8c\x24\xe1\x42" | |
11900 | "\xf7\xd5\xfd\xad\x06\x32\x9f\xba" | |
11901 | "\xc1\xfc\xdd\xc6\xfc\xfc\xb3\x38" | |
11902 | "\x74\x56\x58\x40\x02\x37\x52\x2c" | |
11903 | "\x55\xcc\xb3\x9e\x7a\xe9\xd4\x38" | |
11904 | "\x41\x5e\x0c\x35\xe2\x11\xd1\x13" | |
11905 | "\xf8\xb7\x8d\x72\x6b\x22\x2a\xb0" | |
11906 | "\xdb\x08\xba\x35\xb9\x3f\xc8\xd3" | |
11907 | "\x24\x90\xec\x58\xd2\x09\xc7\x2d" | |
11908 | "\xed\x38\x80\x36\x72\x43\x27\x49" | |
11909 | "\x4a\x80\x8a\xa2\xe8\xd3\xda\x30" | |
11910 | "\x7d\xb6\x82\x37\x86\x92\x86\x3e" | |
11911 | "\x08\xb2\x28\x5a\x55\x44\x24\x7d" | |
11912 | "\x40\x48\x8a\xb6\x89\x58\x08\xa0" | |
11913 | "\xd6\x6d\x3a\x17\xbf\xf6\x54\xa2" | |
11914 | "\xf5\xd3\x8c\x0f\x78\x12\x57\x8b" | |
11915 | "\xd5\xc2\xfd\x58\x5b\x7f\x38\xe3" | |
11916 | "\xcc\xb7\x7c\x48\xb3\x20\xe8\x81" | |
11917 | "\x14\x32\x45\x05\xe0\xdb\x9f\x75" | |
11918 | "\x85\xb4\x6a\xfc\x95\xe3\x54\x22" | |
11919 | "\x12\xee\x30\xfe\xd8\x30\xef\x34" | |
11920 | "\x50\xab\x46\x30\x98\x2f\xb7\xc0" | |
11921 | "\x15\xa2\x83\xb6\xf2\x06\x21\xa2" | |
11922 | "\xc3\x26\x37\x14\xd1\x4d\xb5\x10" | |
11923 | "\x52\x76\x4d\x6a\xee\xb5\x2b\x15" | |
11924 | "\xb7\xf9\x51\xe8\x2a\xaf\xc7\xfa" | |
11925 | "\x77\xaf\xb0\x05\x4d\xd1\x68\x8e" | |
11926 | "\x74\x05\x9f\x9d\x93\xa5\x3e\x7f" | |
11927 | "\x4e\x5f\x9d\xcb\x09\xc7\x83\xe3" | |
11928 | "\x02\x9d\x27\x1f\xef\x85\x05\x8d" | |
11929 | "\xec\x55\x88\x0f\x0d\x7c\x4c\xe8" | |
11930 | "\xa1\x75\xa0\xd8\x06\x47\x14\xef" | |
11931 | "\xaa\x61\xcf\x26\x15\xad\xd8\xa3" | |
11932 | "\xaa\x75\xf2\x78\x4a\x5a\x61\xdf" | |
11933 | "\x8b\xc7\x04\xbc\xb2\x32\xd2\x7e" | |
11934 | "\x42\xee\xb4\x2f\x51\xff\x7b\x2e" | |
11935 | "\xd3\x02\xe8\xdc\x5d\x0d\x50\xdc" | |
11936 | "\xae\xb7\x46\xf9\xa8\xe6\xd0\x16" | |
11937 | "\xcc\xe6\x2c\x81\xc7\xad\xe9\xf0" | |
11938 | "\x05\x72\x6d\x3d\x0a\x7a\xa9\x02" | |
11939 | "\xac\x82\x93\x6e\xb6\x1c\x28\xfc" | |
11940 | "\x44\x12\xfb\x73\x77\xd4\x13\x39" | |
11941 | "\x29\x88\x8a\xf3\x5c\xa6\x36\xa0" | |
11942 | "\x2a\xed\x7e\xb1\x1d\xd6\x4c\x6b" | |
11943 | "\x41\x01\x18\x5d\x5d\x07\x97\xa6" | |
11944 | "\x4b\xef\x31\x18\xea\xac\xb1\x84" | |
11945 | "\x21\xed\xda\x86", | |
11946 | .rlen = 4100, | |
11947 | .np = 2, | |
11948 | .tap = { 4064, 36 }, | |
11949 | }, | |
11950 | }; | |
11951 | ||
f7cb80f2 | 11952 | static struct cipher_testvec aes_ctr_rfc3686_dec_tv_template[] = { |
da7f033d HX |
11953 | { /* From RFC 3686 */ |
11954 | .key = "\xae\x68\x52\xf8\x12\x10\x67\xcc" | |
11955 | "\x4b\xf7\xa5\x76\x55\x77\xf3\x9e" | |
11956 | "\x00\x00\x00\x30", | |
11957 | .klen = 20, | |
11958 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
11959 | .input = "\xe4\x09\x5d\x4f\xb7\xa7\xb3\x79" | |
11960 | "\x2d\x61\x75\xa3\x26\x13\x11\xb8", | |
11961 | .ilen = 16, | |
11962 | .result = "Single block msg", | |
11963 | .rlen = 16, | |
11964 | }, { | |
11965 | .key = "\x7e\x24\x06\x78\x17\xfa\xe0\xd7" | |
11966 | "\x43\xd6\xce\x1f\x32\x53\x91\x63" | |
11967 | "\x00\x6c\xb6\xdb", | |
11968 | .klen = 20, | |
11969 | .iv = "\xc0\x54\x3b\x59\xda\x48\xd9\x0b", | |
11970 | .input = "\x51\x04\xa1\x06\x16\x8a\x72\xd9" | |
11971 | "\x79\x0d\x41\xee\x8e\xda\xd3\x88" | |
11972 | "\xeb\x2e\x1e\xfc\x46\xda\x57\xc8" | |
11973 | "\xfc\xe6\x30\xdf\x91\x41\xbe\x28", | |
11974 | .ilen = 32, | |
11975 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
11976 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
11977 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
11978 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
11979 | .rlen = 32, | |
11980 | }, { | |
11981 | .key = "\x16\xaf\x5b\x14\x5f\xc9\xf5\x79" | |
11982 | "\xc1\x75\xf9\x3e\x3b\xfb\x0e\xed" | |
11983 | "\x86\x3d\x06\xcc\xfd\xb7\x85\x15" | |
11984 | "\x00\x00\x00\x48", | |
11985 | .klen = 28, | |
11986 | .iv = "\x36\x73\x3c\x14\x7d\x6d\x93\xcb", | |
11987 | .input = "\x4b\x55\x38\x4f\xe2\x59\xc9\xc8" | |
11988 | "\x4e\x79\x35\xa0\x03\xcb\xe9\x28", | |
11989 | .ilen = 16, | |
11990 | .result = "Single block msg", | |
11991 | .rlen = 16, | |
11992 | }, { | |
11993 | .key = "\x7c\x5c\xb2\x40\x1b\x3d\xc3\x3c" | |
11994 | "\x19\xe7\x34\x08\x19\xe0\xf6\x9c" | |
11995 | "\x67\x8c\x3d\xb8\xe6\xf6\xa9\x1a" | |
11996 | "\x00\x96\xb0\x3b", | |
11997 | .klen = 28, | |
11998 | .iv = "\x02\x0c\x6e\xad\xc2\xcb\x50\x0d", | |
11999 | .input = "\x45\x32\x43\xfc\x60\x9b\x23\x32" | |
12000 | "\x7e\xdf\xaa\xfa\x71\x31\xcd\x9f" | |
12001 | "\x84\x90\x70\x1c\x5a\xd4\xa7\x9c" | |
12002 | "\xfc\x1f\xe0\xff\x42\xf4\xfb\x00", | |
12003 | .ilen = 32, | |
12004 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
12005 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
12006 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
12007 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
12008 | .rlen = 32, | |
12009 | }, { | |
12010 | .key = "\x77\x6b\xef\xf2\x85\x1d\xb0\x6f" | |
12011 | "\x4c\x8a\x05\x42\xc8\x69\x6f\x6c" | |
12012 | "\x6a\x81\xaf\x1e\xec\x96\xb4\xd3" | |
12013 | "\x7f\xc1\xd6\x89\xe6\xc1\xc1\x04" | |
12014 | "\x00\x00\x00\x60", | |
12015 | .klen = 36, | |
12016 | .iv = "\xdb\x56\x72\xc9\x7a\xa8\xf0\xb2", | |
12017 | .input = "\x14\x5a\xd0\x1d\xbf\x82\x4e\xc7" | |
12018 | "\x56\x08\x63\xdc\x71\xe3\xe0\xc0", | |
12019 | .ilen = 16, | |
12020 | .result = "Single block msg", | |
12021 | .rlen = 16, | |
12022 | }, { | |
12023 | .key = "\xf6\xd6\x6d\x6b\xd5\x2d\x59\xbb" | |
12024 | "\x07\x96\x36\x58\x79\xef\xf8\x86" | |
12025 | "\xc6\x6d\xd5\x1a\x5b\x6a\x99\x74" | |
12026 | "\x4b\x50\x59\x0c\x87\xa2\x38\x84" | |
12027 | "\x00\xfa\xac\x24", | |
12028 | .klen = 36, | |
12029 | .iv = "\xc1\x58\x5e\xf1\x5a\x43\xd8\x75", | |
12030 | .input = "\xf0\x5e\x23\x1b\x38\x94\x61\x2c" | |
12031 | "\x49\xee\x00\x0b\x80\x4e\xb2\xa9" | |
12032 | "\xb8\x30\x6b\x50\x8f\x83\x9d\x6a" | |
12033 | "\x55\x30\x83\x1d\x93\x44\xaf\x1c", | |
12034 | .ilen = 32, | |
12035 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
12036 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
12037 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
12038 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
12039 | .rlen = 32, | |
12040 | }, | |
12041 | }; | |
12042 | ||
ba0e14ac PS |
12043 | static struct cipher_testvec aes_ofb_enc_tv_template[] = { |
12044 | /* From NIST Special Publication 800-38A, Appendix F.5 */ | |
12045 | { | |
12046 | .key = "\x2b\x7e\x15\x16\x28\xae\xd2\xa6" | |
12047 | "\xab\xf7\x15\x88\x09\xcf\x4f\x3c", | |
12048 | .klen = 16, | |
12049 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07\x08" | |
12050 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
12051 | .input = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
12052 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
12053 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
12054 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
12055 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
12056 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
12057 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
12058 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
12059 | .ilen = 64, | |
12060 | .result = "\x3b\x3f\xd9\x2e\xb7\x2d\xad\x20" | |
12061 | "\x33\x34\x49\xf8\xe8\x3c\xfb\x4a" | |
12062 | "\x77\x89\x50\x8d\x16\x91\x8f\x03\xf5" | |
12063 | "\x3c\x52\xda\xc5\x4e\xd8\x25" | |
12064 | "\x97\x40\x05\x1e\x9c\x5f\xec\xf6\x43" | |
12065 | "\x44\xf7\xa8\x22\x60\xed\xcc" | |
12066 | "\x30\x4c\x65\x28\xf6\x59\xc7\x78" | |
12067 | "\x66\xa5\x10\xd9\xc1\xd6\xae\x5e", | |
12068 | .rlen = 64, | |
12069 | } | |
12070 | }; | |
12071 | ||
12072 | static struct cipher_testvec aes_ofb_dec_tv_template[] = { | |
12073 | /* From NIST Special Publication 800-38A, Appendix F.5 */ | |
12074 | { | |
12075 | .key = "\x2b\x7e\x15\x16\x28\xae\xd2\xa6" | |
12076 | "\xab\xf7\x15\x88\x09\xcf\x4f\x3c", | |
12077 | .klen = 16, | |
12078 | .iv = "\x00\x01\x02\x03\x04\x05\x06\x07\x08" | |
12079 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
12080 | .input = "\x3b\x3f\xd9\x2e\xb7\x2d\xad\x20" | |
12081 | "\x33\x34\x49\xf8\xe8\x3c\xfb\x4a" | |
12082 | "\x77\x89\x50\x8d\x16\x91\x8f\x03\xf5" | |
12083 | "\x3c\x52\xda\xc5\x4e\xd8\x25" | |
12084 | "\x97\x40\x05\x1e\x9c\x5f\xec\xf6\x43" | |
12085 | "\x44\xf7\xa8\x22\x60\xed\xcc" | |
12086 | "\x30\x4c\x65\x28\xf6\x59\xc7\x78" | |
12087 | "\x66\xa5\x10\xd9\xc1\xd6\xae\x5e", | |
12088 | .ilen = 64, | |
12089 | .result = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96" | |
12090 | "\xe9\x3d\x7e\x11\x73\x93\x17\x2a" | |
12091 | "\xae\x2d\x8a\x57\x1e\x03\xac\x9c" | |
12092 | "\x9e\xb7\x6f\xac\x45\xaf\x8e\x51" | |
12093 | "\x30\xc8\x1c\x46\xa3\x5c\xe4\x11" | |
12094 | "\xe5\xfb\xc1\x19\x1a\x0a\x52\xef" | |
12095 | "\xf6\x9f\x24\x45\xdf\x4f\x9b\x17" | |
12096 | "\xad\x2b\x41\x7b\xe6\x6c\x37\x10", | |
12097 | .rlen = 64, | |
12098 | } | |
12099 | }; | |
12100 | ||
da7f033d HX |
12101 | static struct aead_testvec aes_gcm_enc_tv_template[] = { |
12102 | { /* From McGrew & Viega - http://citeseer.ist.psu.edu/656989.html */ | |
12103 | .key = zeroed_string, | |
12104 | .klen = 16, | |
12105 | .result = "\x58\xe2\xfc\xce\xfa\x7e\x30\x61" | |
12106 | "\x36\x7f\x1d\x57\xa4\xe7\x45\x5a", | |
12107 | .rlen = 16, | |
12108 | }, { | |
12109 | .key = zeroed_string, | |
12110 | .klen = 16, | |
12111 | .input = zeroed_string, | |
12112 | .ilen = 16, | |
12113 | .result = "\x03\x88\xda\xce\x60\xb6\xa3\x92" | |
12114 | "\xf3\x28\xc2\xb9\x71\xb2\xfe\x78" | |
12115 | "\xab\x6e\x47\xd4\x2c\xec\x13\xbd" | |
12116 | "\xf5\x3a\x67\xb2\x12\x57\xbd\xdf", | |
12117 | .rlen = 32, | |
12118 | }, { | |
12119 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12120 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08", | |
12121 | .klen = 16, | |
12122 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12123 | "\xde\xca\xf8\x88", | |
12124 | .input = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12125 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12126 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12127 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12128 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12129 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12130 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12131 | "\xba\x63\x7b\x39\x1a\xaf\xd2\x55", | |
12132 | .ilen = 64, | |
12133 | .result = "\x42\x83\x1e\xc2\x21\x77\x74\x24" | |
12134 | "\x4b\x72\x21\xb7\x84\xd0\xd4\x9c" | |
12135 | "\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0" | |
12136 | "\x35\xc1\x7e\x23\x29\xac\xa1\x2e" | |
12137 | "\x21\xd5\x14\xb2\x54\x66\x93\x1c" | |
12138 | "\x7d\x8f\x6a\x5a\xac\x84\xaa\x05" | |
12139 | "\x1b\xa3\x0b\x39\x6a\x0a\xac\x97" | |
12140 | "\x3d\x58\xe0\x91\x47\x3f\x59\x85" | |
12141 | "\x4d\x5c\x2a\xf3\x27\xcd\x64\xa6" | |
12142 | "\x2c\xf3\x5a\xbd\x2b\xa6\xfa\xb4", | |
12143 | .rlen = 80, | |
12144 | }, { | |
12145 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12146 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08", | |
12147 | .klen = 16, | |
12148 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12149 | "\xde\xca\xf8\x88", | |
12150 | .input = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12151 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12152 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12153 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12154 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12155 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12156 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12157 | "\xba\x63\x7b\x39", | |
12158 | .ilen = 60, | |
12159 | .assoc = "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12160 | "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12161 | "\xab\xad\xda\xd2", | |
12162 | .alen = 20, | |
12163 | .result = "\x42\x83\x1e\xc2\x21\x77\x74\x24" | |
12164 | "\x4b\x72\x21\xb7\x84\xd0\xd4\x9c" | |
12165 | "\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0" | |
12166 | "\x35\xc1\x7e\x23\x29\xac\xa1\x2e" | |
12167 | "\x21\xd5\x14\xb2\x54\x66\x93\x1c" | |
12168 | "\x7d\x8f\x6a\x5a\xac\x84\xaa\x05" | |
12169 | "\x1b\xa3\x0b\x39\x6a\x0a\xac\x97" | |
12170 | "\x3d\x58\xe0\x91" | |
12171 | "\x5b\xc9\x4f\xbc\x32\x21\xa5\xdb" | |
12172 | "\x94\xfa\xe9\x5a\xe7\x12\x1a\x47", | |
12173 | .rlen = 76, | |
12174 | }, { | |
12175 | .key = zeroed_string, | |
12176 | .klen = 24, | |
12177 | .result = "\xcd\x33\xb2\x8a\xc7\x73\xf7\x4b" | |
12178 | "\xa0\x0e\xd1\xf3\x12\x57\x24\x35", | |
12179 | .rlen = 16, | |
12180 | }, { | |
12181 | .key = zeroed_string, | |
12182 | .klen = 24, | |
12183 | .input = zeroed_string, | |
12184 | .ilen = 16, | |
12185 | .result = "\x98\xe7\x24\x7c\x07\xf0\xfe\x41" | |
12186 | "\x1c\x26\x7e\x43\x84\xb0\xf6\x00" | |
12187 | "\x2f\xf5\x8d\x80\x03\x39\x27\xab" | |
12188 | "\x8e\xf4\xd4\x58\x75\x14\xf0\xfb", | |
12189 | .rlen = 32, | |
12190 | }, { | |
12191 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12192 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12193 | "\xfe\xff\xe9\x92\x86\x65\x73\x1c", | |
12194 | .klen = 24, | |
12195 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12196 | "\xde\xca\xf8\x88", | |
12197 | .input = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12198 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12199 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12200 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12201 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12202 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12203 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12204 | "\xba\x63\x7b\x39\x1a\xaf\xd2\x55", | |
12205 | .ilen = 64, | |
12206 | .result = "\x39\x80\xca\x0b\x3c\x00\xe8\x41" | |
12207 | "\xeb\x06\xfa\xc4\x87\x2a\x27\x57" | |
12208 | "\x85\x9e\x1c\xea\xa6\xef\xd9\x84" | |
12209 | "\x62\x85\x93\xb4\x0c\xa1\xe1\x9c" | |
12210 | "\x7d\x77\x3d\x00\xc1\x44\xc5\x25" | |
12211 | "\xac\x61\x9d\x18\xc8\x4a\x3f\x47" | |
12212 | "\x18\xe2\x44\x8b\x2f\xe3\x24\xd9" | |
12213 | "\xcc\xda\x27\x10\xac\xad\xe2\x56" | |
12214 | "\x99\x24\xa7\xc8\x58\x73\x36\xbf" | |
12215 | "\xb1\x18\x02\x4d\xb8\x67\x4a\x14", | |
12216 | .rlen = 80, | |
12217 | }, { | |
12218 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12219 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12220 | "\xfe\xff\xe9\x92\x86\x65\x73\x1c", | |
12221 | .klen = 24, | |
12222 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12223 | "\xde\xca\xf8\x88", | |
12224 | .input = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12225 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12226 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12227 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12228 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12229 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12230 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12231 | "\xba\x63\x7b\x39", | |
12232 | .ilen = 60, | |
12233 | .assoc = "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12234 | "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12235 | "\xab\xad\xda\xd2", | |
12236 | .alen = 20, | |
12237 | .result = "\x39\x80\xca\x0b\x3c\x00\xe8\x41" | |
12238 | "\xeb\x06\xfa\xc4\x87\x2a\x27\x57" | |
12239 | "\x85\x9e\x1c\xea\xa6\xef\xd9\x84" | |
12240 | "\x62\x85\x93\xb4\x0c\xa1\xe1\x9c" | |
12241 | "\x7d\x77\x3d\x00\xc1\x44\xc5\x25" | |
12242 | "\xac\x61\x9d\x18\xc8\x4a\x3f\x47" | |
12243 | "\x18\xe2\x44\x8b\x2f\xe3\x24\xd9" | |
12244 | "\xcc\xda\x27\x10" | |
12245 | "\x25\x19\x49\x8e\x80\xf1\x47\x8f" | |
12246 | "\x37\xba\x55\xbd\x6d\x27\x61\x8c", | |
12247 | .rlen = 76, | |
12248 | .np = 2, | |
12249 | .tap = { 32, 28 }, | |
12250 | .anp = 2, | |
12251 | .atap = { 8, 12 } | |
12252 | }, { | |
12253 | .key = zeroed_string, | |
12254 | .klen = 32, | |
12255 | .result = "\x53\x0f\x8a\xfb\xc7\x45\x36\xb9" | |
12256 | "\xa9\x63\xb4\xf1\xc4\xcb\x73\x8b", | |
12257 | .rlen = 16, | |
12258 | } | |
12259 | }; | |
12260 | ||
12261 | static struct aead_testvec aes_gcm_dec_tv_template[] = { | |
12262 | { /* From McGrew & Viega - http://citeseer.ist.psu.edu/656989.html */ | |
12263 | .key = zeroed_string, | |
12264 | .klen = 32, | |
12265 | .input = "\xce\xa7\x40\x3d\x4d\x60\x6b\x6e" | |
12266 | "\x07\x4e\xc5\xd3\xba\xf3\x9d\x18" | |
12267 | "\xd0\xd1\xc8\xa7\x99\x99\x6b\xf0" | |
12268 | "\x26\x5b\x98\xb5\xd4\x8a\xb9\x19", | |
12269 | .ilen = 32, | |
12270 | .result = zeroed_string, | |
12271 | .rlen = 16, | |
12272 | }, { | |
12273 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12274 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12275 | "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12276 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08", | |
12277 | .klen = 32, | |
12278 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12279 | "\xde\xca\xf8\x88", | |
12280 | .input = "\x52\x2d\xc1\xf0\x99\x56\x7d\x07" | |
12281 | "\xf4\x7f\x37\xa3\x2a\x84\x42\x7d" | |
12282 | "\x64\x3a\x8c\xdc\xbf\xe5\xc0\xc9" | |
12283 | "\x75\x98\xa2\xbd\x25\x55\xd1\xaa" | |
12284 | "\x8c\xb0\x8e\x48\x59\x0d\xbb\x3d" | |
12285 | "\xa7\xb0\x8b\x10\x56\x82\x88\x38" | |
12286 | "\xc5\xf6\x1e\x63\x93\xba\x7a\x0a" | |
12287 | "\xbc\xc9\xf6\x62\x89\x80\x15\xad" | |
12288 | "\xb0\x94\xda\xc5\xd9\x34\x71\xbd" | |
12289 | "\xec\x1a\x50\x22\x70\xe3\xcc\x6c", | |
12290 | .ilen = 80, | |
12291 | .result = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12292 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12293 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12294 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12295 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12296 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12297 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12298 | "\xba\x63\x7b\x39\x1a\xaf\xd2\x55", | |
12299 | .rlen = 64, | |
12300 | }, { | |
12301 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12302 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12303 | "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12304 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08", | |
12305 | .klen = 32, | |
12306 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12307 | "\xde\xca\xf8\x88", | |
12308 | .input = "\x52\x2d\xc1\xf0\x99\x56\x7d\x07" | |
12309 | "\xf4\x7f\x37\xa3\x2a\x84\x42\x7d" | |
12310 | "\x64\x3a\x8c\xdc\xbf\xe5\xc0\xc9" | |
12311 | "\x75\x98\xa2\xbd\x25\x55\xd1\xaa" | |
12312 | "\x8c\xb0\x8e\x48\x59\x0d\xbb\x3d" | |
12313 | "\xa7\xb0\x8b\x10\x56\x82\x88\x38" | |
12314 | "\xc5\xf6\x1e\x63\x93\xba\x7a\x0a" | |
12315 | "\xbc\xc9\xf6\x62" | |
12316 | "\x76\xfc\x6e\xce\x0f\x4e\x17\x68" | |
12317 | "\xcd\xdf\x88\x53\xbb\x2d\x55\x1b", | |
12318 | .ilen = 76, | |
12319 | .assoc = "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12320 | "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12321 | "\xab\xad\xda\xd2", | |
12322 | .alen = 20, | |
12323 | .result = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12324 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12325 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12326 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12327 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12328 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12329 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12330 | "\xba\x63\x7b\x39", | |
12331 | .rlen = 60, | |
12332 | .np = 2, | |
12333 | .tap = { 48, 28 }, | |
12334 | .anp = 3, | |
12335 | .atap = { 8, 8, 4 } | |
12336 | }, { | |
12337 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12338 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08", | |
12339 | .klen = 16, | |
12340 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12341 | "\xde\xca\xf8\x88", | |
12342 | .input = "\x42\x83\x1e\xc2\x21\x77\x74\x24" | |
12343 | "\x4b\x72\x21\xb7\x84\xd0\xd4\x9c" | |
12344 | "\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0" | |
12345 | "\x35\xc1\x7e\x23\x29\xac\xa1\x2e" | |
12346 | "\x21\xd5\x14\xb2\x54\x66\x93\x1c" | |
12347 | "\x7d\x8f\x6a\x5a\xac\x84\xaa\x05" | |
12348 | "\x1b\xa3\x0b\x39\x6a\x0a\xac\x97" | |
12349 | "\x3d\x58\xe0\x91\x47\x3f\x59\x85" | |
12350 | "\x4d\x5c\x2a\xf3\x27\xcd\x64\xa6" | |
12351 | "\x2c\xf3\x5a\xbd\x2b\xa6\xfa\xb4", | |
12352 | .ilen = 80, | |
12353 | .result = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12354 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12355 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12356 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12357 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12358 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12359 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12360 | "\xba\x63\x7b\x39\x1a\xaf\xd2\x55", | |
12361 | .rlen = 64, | |
12362 | }, { | |
12363 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12364 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08", | |
12365 | .klen = 16, | |
12366 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12367 | "\xde\xca\xf8\x88", | |
12368 | .input = "\x42\x83\x1e\xc2\x21\x77\x74\x24" | |
12369 | "\x4b\x72\x21\xb7\x84\xd0\xd4\x9c" | |
12370 | "\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0" | |
12371 | "\x35\xc1\x7e\x23\x29\xac\xa1\x2e" | |
12372 | "\x21\xd5\x14\xb2\x54\x66\x93\x1c" | |
12373 | "\x7d\x8f\x6a\x5a\xac\x84\xaa\x05" | |
12374 | "\x1b\xa3\x0b\x39\x6a\x0a\xac\x97" | |
12375 | "\x3d\x58\xe0\x91" | |
12376 | "\x5b\xc9\x4f\xbc\x32\x21\xa5\xdb" | |
12377 | "\x94\xfa\xe9\x5a\xe7\x12\x1a\x47", | |
12378 | .ilen = 76, | |
12379 | .assoc = "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12380 | "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12381 | "\xab\xad\xda\xd2", | |
12382 | .alen = 20, | |
12383 | .result = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12384 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12385 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12386 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12387 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12388 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12389 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12390 | "\xba\x63\x7b\x39", | |
12391 | .rlen = 60, | |
12392 | }, { | |
12393 | .key = zeroed_string, | |
12394 | .klen = 24, | |
12395 | .input = "\x98\xe7\x24\x7c\x07\xf0\xfe\x41" | |
12396 | "\x1c\x26\x7e\x43\x84\xb0\xf6\x00" | |
12397 | "\x2f\xf5\x8d\x80\x03\x39\x27\xab" | |
12398 | "\x8e\xf4\xd4\x58\x75\x14\xf0\xfb", | |
12399 | .ilen = 32, | |
12400 | .result = zeroed_string, | |
12401 | .rlen = 16, | |
12402 | }, { | |
12403 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12404 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12405 | "\xfe\xff\xe9\x92\x86\x65\x73\x1c", | |
12406 | .klen = 24, | |
12407 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12408 | "\xde\xca\xf8\x88", | |
12409 | .input = "\x39\x80\xca\x0b\x3c\x00\xe8\x41" | |
12410 | "\xeb\x06\xfa\xc4\x87\x2a\x27\x57" | |
12411 | "\x85\x9e\x1c\xea\xa6\xef\xd9\x84" | |
12412 | "\x62\x85\x93\xb4\x0c\xa1\xe1\x9c" | |
12413 | "\x7d\x77\x3d\x00\xc1\x44\xc5\x25" | |
12414 | "\xac\x61\x9d\x18\xc8\x4a\x3f\x47" | |
12415 | "\x18\xe2\x44\x8b\x2f\xe3\x24\xd9" | |
12416 | "\xcc\xda\x27\x10\xac\xad\xe2\x56" | |
12417 | "\x99\x24\xa7\xc8\x58\x73\x36\xbf" | |
12418 | "\xb1\x18\x02\x4d\xb8\x67\x4a\x14", | |
12419 | .ilen = 80, | |
12420 | .result = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12421 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12422 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12423 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12424 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12425 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12426 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12427 | "\xba\x63\x7b\x39\x1a\xaf\xd2\x55", | |
12428 | .rlen = 64, | |
12429 | }, { | |
12430 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12431 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12432 | "\xfe\xff\xe9\x92\x86\x65\x73\x1c", | |
12433 | .klen = 24, | |
12434 | .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad" | |
12435 | "\xde\xca\xf8\x88", | |
12436 | .input = "\x39\x80\xca\x0b\x3c\x00\xe8\x41" | |
12437 | "\xeb\x06\xfa\xc4\x87\x2a\x27\x57" | |
12438 | "\x85\x9e\x1c\xea\xa6\xef\xd9\x84" | |
12439 | "\x62\x85\x93\xb4\x0c\xa1\xe1\x9c" | |
12440 | "\x7d\x77\x3d\x00\xc1\x44\xc5\x25" | |
12441 | "\xac\x61\x9d\x18\xc8\x4a\x3f\x47" | |
12442 | "\x18\xe2\x44\x8b\x2f\xe3\x24\xd9" | |
12443 | "\xcc\xda\x27\x10" | |
12444 | "\x25\x19\x49\x8e\x80\xf1\x47\x8f" | |
12445 | "\x37\xba\x55\xbd\x6d\x27\x61\x8c", | |
12446 | .ilen = 76, | |
12447 | .assoc = "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12448 | "\xfe\xed\xfa\xce\xde\xad\xbe\xef" | |
12449 | "\xab\xad\xda\xd2", | |
12450 | .alen = 20, | |
12451 | .result = "\xd9\x31\x32\x25\xf8\x84\x06\xe5" | |
12452 | "\xa5\x59\x09\xc5\xaf\xf5\x26\x9a" | |
12453 | "\x86\xa7\xa9\x53\x15\x34\xf7\xda" | |
12454 | "\x2e\x4c\x30\x3d\x8a\x31\x8a\x72" | |
12455 | "\x1c\x3c\x0c\x95\x95\x68\x09\x53" | |
12456 | "\x2f\xcf\x0e\x24\x49\xa6\xb5\x25" | |
12457 | "\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57" | |
12458 | "\xba\x63\x7b\x39", | |
12459 | .rlen = 60, | |
12460 | } | |
12461 | }; | |
12462 | ||
69435b94 AH |
12463 | static struct aead_testvec aes_gcm_rfc4106_enc_tv_template[] = { |
12464 | { /* Generated using Crypto++ */ | |
12465 | .key = zeroed_string, | |
12466 | .klen = 20, | |
12467 | .iv = zeroed_string, | |
12468 | .input = zeroed_string, | |
12469 | .ilen = 16, | |
12470 | .assoc = zeroed_string, | |
12471 | .alen = 8, | |
12472 | .result = "\x03\x88\xDA\xCE\x60\xB6\xA3\x92" | |
12473 | "\xF3\x28\xC2\xB9\x71\xB2\xFE\x78" | |
12474 | "\x97\xFE\x4C\x23\x37\x42\x01\xE0" | |
12475 | "\x81\x9F\x8D\xC5\xD7\x41\xA0\x1B", | |
12476 | .rlen = 32, | |
12477 | },{ | |
12478 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12479 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12480 | "\x00\x00\x00\x00", | |
12481 | .klen = 20, | |
12482 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x01" | |
12483 | "\x00\x00\x00\x00", | |
12484 | .input = zeroed_string, | |
12485 | .ilen = 16, | |
12486 | .assoc = zeroed_string, | |
12487 | .alen = 8, | |
12488 | .result = "\xC0\x0D\x8B\x42\x0F\x8F\x34\x18" | |
12489 | "\x88\xB1\xC5\xBC\xC5\xB6\xD6\x28" | |
12490 | "\x6A\x9D\xDF\x11\x5E\xFE\x5E\x9D" | |
12491 | "\x2F\x70\x44\x92\xF7\xF2\xE3\xEF", | |
12492 | .rlen = 32, | |
12493 | ||
12494 | }, { | |
12495 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12496 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12497 | "\x00\x00\x00\x00", | |
12498 | .klen = 20, | |
12499 | .iv = zeroed_string, | |
12500 | .input = "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12501 | "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12502 | .ilen = 16, | |
12503 | .assoc = zeroed_string, | |
12504 | .alen = 8, | |
12505 | .result = "\x4B\xB1\xB5\xE3\x25\x71\x70\xDE" | |
12506 | "\x7F\xC9\x9C\xA5\x14\x19\xF2\xAC" | |
12507 | "\x0B\x8F\x88\x69\x17\xE6\xB4\x3C" | |
12508 | "\xB1\x68\xFD\x14\x52\x64\x61\xB2", | |
12509 | .rlen = 32, | |
12510 | }, { | |
12511 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12512 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12513 | "\x00\x00\x00\x00", | |
12514 | .klen = 20, | |
12515 | .iv = zeroed_string, | |
12516 | .input = "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12517 | "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12518 | .ilen = 16, | |
12519 | .assoc = "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12520 | .alen = 8, | |
12521 | .result = "\x4B\xB1\xB5\xE3\x25\x71\x70\xDE" | |
12522 | "\x7F\xC9\x9C\xA5\x14\x19\xF2\xAC" | |
12523 | "\x90\x92\xB7\xE3\x5F\xA3\x9A\x63" | |
12524 | "\x7E\xD7\x1F\xD8\xD3\x7C\x4B\xF5", | |
12525 | .rlen = 32, | |
12526 | }, { | |
12527 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12528 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12529 | "\x00\x00\x00\x00", | |
12530 | .klen = 20, | |
12531 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x01" | |
12532 | "\x00\x00\x00\x00", | |
12533 | .input = "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12534 | "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12535 | .ilen = 16, | |
12536 | .assoc = "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12537 | .alen = 8, | |
12538 | .result = "\xC1\x0C\x8A\x43\x0E\x8E\x35\x19" | |
12539 | "\x89\xB0\xC4\xBD\xC4\xB7\xD7\x29" | |
12540 | "\x64\x50\xF9\x32\x13\xFB\x74\x61" | |
12541 | "\xF4\xED\x52\xD3\xC5\x10\x55\x3C", | |
12542 | .rlen = 32, | |
12543 | }, { | |
12544 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12545 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12546 | "\x00\x00\x00\x00", | |
12547 | .klen = 20, | |
12548 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x01" | |
12549 | "\x00\x00\x00\x00", | |
12550 | .input = "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12551 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12552 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12553 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12554 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12555 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12556 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12557 | "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12558 | .ilen = 64, | |
12559 | .assoc = "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12560 | .alen = 8, | |
12561 | .result = "\xC1\x0C\x8A\x43\x0E\x8E\x35\x19" | |
12562 | "\x89\xB0\xC4\xBD\xC4\xB7\xD7\x29" | |
12563 | "\x98\x14\xA1\x42\x37\x80\xFD\x90" | |
12564 | "\x68\x12\x01\xA8\x91\x89\xB9\x83" | |
12565 | "\x5B\x11\x77\x12\x9B\xFF\x24\x89" | |
12566 | "\x94\x5F\x18\x12\xBA\x27\x09\x39" | |
12567 | "\x99\x96\x76\x42\x15\x1C\xCD\xCB" | |
12568 | "\xDC\xD3\xDA\x65\x73\xAF\x80\xCD" | |
12569 | "\xD2\xB6\xC2\x4A\x76\xC2\x92\x85" | |
12570 | "\xBD\xCF\x62\x98\x58\x14\xE5\xBD", | |
12571 | .rlen = 80, | |
12572 | }, { | |
12573 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
12574 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
12575 | "\x00\x00\x00\x00", | |
12576 | .klen = 20, | |
12577 | .iv = "\x00\x00\x45\x67\x89\xab\xcd\xef" | |
12578 | "\x00\x00\x00\x00", | |
12579 | .input = "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12580 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12581 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12582 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12583 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12584 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12585 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12586 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12587 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12588 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12589 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12590 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12591 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12592 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12593 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12594 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12595 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12596 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12597 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12598 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12599 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12600 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12601 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12602 | "\xff\xff\xff\xff\xff\xff\xff\xff", | |
12603 | .ilen = 192, | |
12604 | .assoc = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
12605 | "\xaa\xaa\xaa\xaa", | |
12606 | .alen = 12, | |
12607 | .result = "\xC1\x76\x33\x85\xE2\x9B\x5F\xDE" | |
12608 | "\xDE\x89\x3D\x42\xE7\xC9\x69\x8A" | |
12609 | "\x44\x6D\xC3\x88\x46\x2E\xC2\x01" | |
12610 | "\x5E\xF6\x0C\x39\xF0\xC4\xA5\x82" | |
12611 | "\xCD\xE8\x31\xCC\x0A\x4C\xE4\x44" | |
12612 | "\x41\xA9\x82\x6F\x22\xA1\x23\x1A" | |
12613 | "\xA8\xE3\x16\xFD\x31\x5C\x27\x31" | |
12614 | "\xF1\x7F\x01\x63\xA3\xAF\x70\xA1" | |
12615 | "\xCF\x07\x57\x41\x67\xD0\xC4\x42" | |
12616 | "\xDB\x18\xC6\x4C\x4C\xE0\x3D\x9F" | |
12617 | "\x05\x07\xFB\x13\x7D\x4A\xCA\x5B" | |
12618 | "\xF0\xBF\x64\x7E\x05\xB1\x72\xEE" | |
12619 | "\x7C\x3B\xD4\xCD\x14\x03\xB2\x2C" | |
12620 | "\xD3\xA9\xEE\xFA\x17\xFC\x9C\xDF" | |
12621 | "\xC7\x75\x40\xFF\xAE\xAD\x1E\x59" | |
12622 | "\x2F\x30\x24\xFB\xAD\x6B\x10\xFA" | |
12623 | "\x6C\x9F\x5B\xE7\x25\xD5\xD0\x25" | |
12624 | "\xAC\x4A\x4B\xDA\xFC\x7A\x85\x1B" | |
12625 | "\x7E\x13\x06\x82\x08\x17\xA4\x35" | |
12626 | "\xEC\xC5\x8D\x63\x96\x81\x0A\x8F" | |
12627 | "\xA3\x05\x38\x95\x20\x1A\x47\x04" | |
12628 | "\x6F\x6D\xDA\x8F\xEF\xC1\x76\x35" | |
12629 | "\x6B\xC7\x4D\x0F\x94\x12\xCA\x3E" | |
12630 | "\x2E\xD5\x03\x2E\x86\x7E\xAA\x3B" | |
12631 | "\x37\x08\x1C\xCF\xBA\x5D\x71\x46" | |
12632 | "\x80\x72\xB0\x4C\x82\x0D\x60\x3C", | |
12633 | .rlen = 208, | |
12634 | } | |
12635 | }; | |
12636 | ||
12637 | static struct aead_testvec aes_gcm_rfc4106_dec_tv_template[] = { | |
12638 | { /* Generated using Crypto++ */ | |
12639 | .key = zeroed_string, | |
12640 | .klen = 20, | |
12641 | .iv = zeroed_string, | |
12642 | .input = "\x03\x88\xDA\xCE\x60\xB6\xA3\x92" | |
12643 | "\xF3\x28\xC2\xB9\x71\xB2\xFE\x78" | |
12644 | "\x97\xFE\x4C\x23\x37\x42\x01\xE0" | |
12645 | "\x81\x9F\x8D\xC5\xD7\x41\xA0\x1B", | |
12646 | .ilen = 32, | |
12647 | .assoc = zeroed_string, | |
12648 | .alen = 8, | |
12649 | .result = zeroed_string, | |
12650 | .rlen = 16, | |
12651 | ||
12652 | },{ | |
12653 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12654 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12655 | "\x00\x00\x00\x00", | |
12656 | .klen = 20, | |
12657 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x01" | |
12658 | "\x00\x00\x00\x00", | |
12659 | .input = "\xC0\x0D\x8B\x42\x0F\x8F\x34\x18" | |
12660 | "\x88\xB1\xC5\xBC\xC5\xB6\xD6\x28" | |
12661 | "\x6A\x9D\xDF\x11\x5E\xFE\x5E\x9D" | |
12662 | "\x2F\x70\x44\x92\xF7\xF2\xE3\xEF", | |
12663 | .ilen = 32, | |
12664 | .assoc = zeroed_string, | |
12665 | .alen = 8, | |
12666 | .result = zeroed_string, | |
12667 | .rlen = 16, | |
12668 | }, { | |
12669 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12670 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12671 | "\x00\x00\x00\x00", | |
12672 | .klen = 20, | |
12673 | .iv = zeroed_string, | |
12674 | .input = "\x4B\xB1\xB5\xE3\x25\x71\x70\xDE" | |
12675 | "\x7F\xC9\x9C\xA5\x14\x19\xF2\xAC" | |
12676 | "\x0B\x8F\x88\x69\x17\xE6\xB4\x3C" | |
12677 | "\xB1\x68\xFD\x14\x52\x64\x61\xB2", | |
12678 | .ilen = 32, | |
12679 | .assoc = zeroed_string, | |
12680 | .alen = 8, | |
12681 | .result = "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12682 | "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12683 | .rlen = 16, | |
12684 | }, { | |
12685 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12686 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12687 | "\x00\x00\x00\x00", | |
12688 | .klen = 20, | |
12689 | .iv = zeroed_string, | |
12690 | .input = "\x4B\xB1\xB5\xE3\x25\x71\x70\xDE" | |
12691 | "\x7F\xC9\x9C\xA5\x14\x19\xF2\xAC" | |
12692 | "\x90\x92\xB7\xE3\x5F\xA3\x9A\x63" | |
12693 | "\x7E\xD7\x1F\xD8\xD3\x7C\x4B\xF5", | |
12694 | .ilen = 32, | |
12695 | .assoc = "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12696 | .alen = 8, | |
12697 | .result = "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12698 | "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12699 | .rlen = 16, | |
12700 | ||
12701 | }, { | |
12702 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12703 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12704 | "\x00\x00\x00\x00", | |
12705 | .klen = 20, | |
12706 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x01" | |
12707 | "\x00\x00\x00\x00", | |
12708 | .input = "\xC1\x0C\x8A\x43\x0E\x8E\x35\x19" | |
12709 | "\x89\xB0\xC4\xBD\xC4\xB7\xD7\x29" | |
12710 | "\x64\x50\xF9\x32\x13\xFB\x74\x61" | |
12711 | "\xF4\xED\x52\xD3\xC5\x10\x55\x3C", | |
12712 | .ilen = 32, | |
12713 | .assoc = "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12714 | .alen = 8, | |
12715 | .result = "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12716 | "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12717 | .rlen = 16, | |
12718 | }, { | |
12719 | .key = "\xfe\xff\xe9\x92\x86\x65\x73\x1c" | |
12720 | "\x6d\x6a\x8f\x94\x67\x30\x83\x08" | |
12721 | "\x00\x00\x00\x00", | |
12722 | .klen = 20, | |
12723 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x01" | |
12724 | "\x00\x00\x00\x00", | |
12725 | .input = "\xC1\x0C\x8A\x43\x0E\x8E\x35\x19" | |
12726 | "\x89\xB0\xC4\xBD\xC4\xB7\xD7\x29" | |
12727 | "\x98\x14\xA1\x42\x37\x80\xFD\x90" | |
12728 | "\x68\x12\x01\xA8\x91\x89\xB9\x83" | |
12729 | "\x5B\x11\x77\x12\x9B\xFF\x24\x89" | |
12730 | "\x94\x5F\x18\x12\xBA\x27\x09\x39" | |
12731 | "\x99\x96\x76\x42\x15\x1C\xCD\xCB" | |
12732 | "\xDC\xD3\xDA\x65\x73\xAF\x80\xCD" | |
12733 | "\xD2\xB6\xC2\x4A\x76\xC2\x92\x85" | |
12734 | "\xBD\xCF\x62\x98\x58\x14\xE5\xBD", | |
12735 | .ilen = 80, | |
12736 | .assoc = "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12737 | .alen = 8, | |
12738 | .result = "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12739 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12740 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12741 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12742 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12743 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12744 | "\x01\x01\x01\x01\x01\x01\x01\x01" | |
12745 | "\x01\x01\x01\x01\x01\x01\x01\x01", | |
12746 | .rlen = 64, | |
12747 | }, { | |
12748 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
12749 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
12750 | "\x00\x00\x00\x00", | |
12751 | .klen = 20, | |
12752 | .iv = "\x00\x00\x45\x67\x89\xab\xcd\xef" | |
12753 | "\x00\x00\x00\x00", | |
12754 | .input = "\xC1\x76\x33\x85\xE2\x9B\x5F\xDE" | |
12755 | "\xDE\x89\x3D\x42\xE7\xC9\x69\x8A" | |
12756 | "\x44\x6D\xC3\x88\x46\x2E\xC2\x01" | |
12757 | "\x5E\xF6\x0C\x39\xF0\xC4\xA5\x82" | |
12758 | "\xCD\xE8\x31\xCC\x0A\x4C\xE4\x44" | |
12759 | "\x41\xA9\x82\x6F\x22\xA1\x23\x1A" | |
12760 | "\xA8\xE3\x16\xFD\x31\x5C\x27\x31" | |
12761 | "\xF1\x7F\x01\x63\xA3\xAF\x70\xA1" | |
12762 | "\xCF\x07\x57\x41\x67\xD0\xC4\x42" | |
12763 | "\xDB\x18\xC6\x4C\x4C\xE0\x3D\x9F" | |
12764 | "\x05\x07\xFB\x13\x7D\x4A\xCA\x5B" | |
12765 | "\xF0\xBF\x64\x7E\x05\xB1\x72\xEE" | |
12766 | "\x7C\x3B\xD4\xCD\x14\x03\xB2\x2C" | |
12767 | "\xD3\xA9\xEE\xFA\x17\xFC\x9C\xDF" | |
12768 | "\xC7\x75\x40\xFF\xAE\xAD\x1E\x59" | |
12769 | "\x2F\x30\x24\xFB\xAD\x6B\x10\xFA" | |
12770 | "\x6C\x9F\x5B\xE7\x25\xD5\xD0\x25" | |
12771 | "\xAC\x4A\x4B\xDA\xFC\x7A\x85\x1B" | |
12772 | "\x7E\x13\x06\x82\x08\x17\xA4\x35" | |
12773 | "\xEC\xC5\x8D\x63\x96\x81\x0A\x8F" | |
12774 | "\xA3\x05\x38\x95\x20\x1A\x47\x04" | |
12775 | "\x6F\x6D\xDA\x8F\xEF\xC1\x76\x35" | |
12776 | "\x6B\xC7\x4D\x0F\x94\x12\xCA\x3E" | |
12777 | "\x2E\xD5\x03\x2E\x86\x7E\xAA\x3B" | |
12778 | "\x37\x08\x1C\xCF\xBA\x5D\x71\x46" | |
12779 | "\x80\x72\xB0\x4C\x82\x0D\x60\x3C", | |
12780 | .ilen = 208, | |
12781 | .assoc = "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa" | |
12782 | "\xaa\xaa\xaa\xaa", | |
12783 | .alen = 12, | |
12784 | .result = "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12785 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12786 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12787 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12788 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12789 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12790 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12791 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12792 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12793 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12794 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12795 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12796 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12797 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12798 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12799 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12800 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12801 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12802 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12803 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12804 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12805 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12806 | "\xff\xff\xff\xff\xff\xff\xff\xff" | |
12807 | "\xff\xff\xff\xff\xff\xff\xff\xff", | |
12808 | .rlen = 192, | |
12809 | ||
12810 | } | |
12811 | }; | |
12812 | ||
da7f033d HX |
12813 | static struct aead_testvec aes_ccm_enc_tv_template[] = { |
12814 | { /* From RFC 3610 */ | |
12815 | .key = "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
12816 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", | |
12817 | .klen = 16, | |
12818 | .iv = "\x01\x00\x00\x00\x03\x02\x01\x00" | |
12819 | "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00", | |
12820 | .assoc = "\x00\x01\x02\x03\x04\x05\x06\x07", | |
12821 | .alen = 8, | |
12822 | .input = "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
12823 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
12824 | "\x18\x19\x1a\x1b\x1c\x1d\x1e", | |
12825 | .ilen = 23, | |
12826 | .result = "\x58\x8c\x97\x9a\x61\xc6\x63\xd2" | |
12827 | "\xf0\x66\xd0\xc2\xc0\xf9\x89\x80" | |
12828 | "\x6d\x5f\x6b\x61\xda\xc3\x84\x17" | |
12829 | "\xe8\xd1\x2c\xfd\xf9\x26\xe0", | |
12830 | .rlen = 31, | |
12831 | }, { | |
12832 | .key = "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
12833 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", | |
12834 | .klen = 16, | |
12835 | .iv = "\x01\x00\x00\x00\x07\x06\x05\x04" | |
12836 | "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00", | |
12837 | .assoc = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
12838 | "\x08\x09\x0a\x0b", | |
12839 | .alen = 12, | |
12840 | .input = "\x0c\x0d\x0e\x0f\x10\x11\x12\x13" | |
12841 | "\x14\x15\x16\x17\x18\x19\x1a\x1b" | |
12842 | "\x1c\x1d\x1e\x1f", | |
12843 | .ilen = 20, | |
12844 | .result = "\xdc\xf1\xfb\x7b\x5d\x9e\x23\xfb" | |
12845 | "\x9d\x4e\x13\x12\x53\x65\x8a\xd8" | |
12846 | "\x6e\xbd\xca\x3e\x51\xe8\x3f\x07" | |
12847 | "\x7d\x9c\x2d\x93", | |
12848 | .rlen = 28, | |
12849 | }, { | |
12850 | .key = "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
12851 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", | |
12852 | .klen = 16, | |
12853 | .iv = "\x01\x00\x00\x00\x0b\x0a\x09\x08" | |
12854 | "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00", | |
12855 | .assoc = "\x00\x01\x02\x03\x04\x05\x06\x07", | |
12856 | .alen = 8, | |
12857 | .input = "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
12858 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
12859 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
12860 | "\x20", | |
12861 | .ilen = 25, | |
12862 | .result = "\x82\x53\x1a\x60\xcc\x24\x94\x5a" | |
12863 | "\x4b\x82\x79\x18\x1a\xb5\xc8\x4d" | |
12864 | "\xf2\x1c\xe7\xf9\xb7\x3f\x42\xe1" | |
12865 | "\x97\xea\x9c\x07\xe5\x6b\x5e\xb1" | |
12866 | "\x7e\x5f\x4e", | |
12867 | .rlen = 35, | |
12868 | }, { | |
12869 | .key = "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
12870 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", | |
12871 | .klen = 16, | |
12872 | .iv = "\x01\x00\x00\x00\x0c\x0b\x0a\x09" | |
12873 | "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00", | |
12874 | .assoc = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
12875 | "\x08\x09\x0a\x0b", | |
12876 | .alen = 12, | |
12877 | .input = "\x0c\x0d\x0e\x0f\x10\x11\x12\x13" | |
12878 | "\x14\x15\x16\x17\x18\x19\x1a\x1b" | |
12879 | "\x1c\x1d\x1e", | |
12880 | .ilen = 19, | |
12881 | .result = "\x07\x34\x25\x94\x15\x77\x85\x15" | |
12882 | "\x2b\x07\x40\x98\x33\x0a\xbb\x14" | |
12883 | "\x1b\x94\x7b\x56\x6a\xa9\x40\x6b" | |
12884 | "\x4d\x99\x99\x88\xdd", | |
12885 | .rlen = 29, | |
12886 | }, { | |
12887 | .key = "\xd7\x82\x8d\x13\xb2\xb0\xbd\xc3" | |
12888 | "\x25\xa7\x62\x36\xdf\x93\xcc\x6b", | |
12889 | .klen = 16, | |
12890 | .iv = "\x01\x00\x33\x56\x8e\xf7\xb2\x63" | |
12891 | "\x3c\x96\x96\x76\x6c\xfa\x00\x00", | |
12892 | .assoc = "\x63\x01\x8f\x76\xdc\x8a\x1b\xcb", | |
12893 | .alen = 8, | |
12894 | .input = "\x90\x20\xea\x6f\x91\xbd\xd8\x5a" | |
12895 | "\xfa\x00\x39\xba\x4b\xaf\xf9\xbf" | |
12896 | "\xb7\x9c\x70\x28\x94\x9c\xd0\xec", | |
12897 | .ilen = 24, | |
12898 | .result = "\x4c\xcb\x1e\x7c\xa9\x81\xbe\xfa" | |
12899 | "\xa0\x72\x6c\x55\xd3\x78\x06\x12" | |
12900 | "\x98\xc8\x5c\x92\x81\x4a\xbc\x33" | |
12901 | "\xc5\x2e\xe8\x1d\x7d\x77\xc0\x8a", | |
12902 | .rlen = 32, | |
12903 | }, { | |
12904 | .key = "\xd7\x82\x8d\x13\xb2\xb0\xbd\xc3" | |
12905 | "\x25\xa7\x62\x36\xdf\x93\xcc\x6b", | |
12906 | .klen = 16, | |
12907 | .iv = "\x01\x00\xd5\x60\x91\x2d\x3f\x70" | |
12908 | "\x3c\x96\x96\x76\x6c\xfa\x00\x00", | |
12909 | .assoc = "\xcd\x90\x44\xd2\xb7\x1f\xdb\x81" | |
12910 | "\x20\xea\x60\xc0", | |
12911 | .alen = 12, | |
12912 | .input = "\x64\x35\xac\xba\xfb\x11\xa8\x2e" | |
12913 | "\x2f\x07\x1d\x7c\xa4\xa5\xeb\xd9" | |
12914 | "\x3a\x80\x3b\xa8\x7f", | |
12915 | .ilen = 21, | |
12916 | .result = "\x00\x97\x69\xec\xab\xdf\x48\x62" | |
12917 | "\x55\x94\xc5\x92\x51\xe6\x03\x57" | |
12918 | "\x22\x67\x5e\x04\xc8\x47\x09\x9e" | |
12919 | "\x5a\xe0\x70\x45\x51", | |
12920 | .rlen = 29, | |
12921 | }, { | |
12922 | .key = "\xd7\x82\x8d\x13\xb2\xb0\xbd\xc3" | |
12923 | "\x25\xa7\x62\x36\xdf\x93\xcc\x6b", | |
12924 | .klen = 16, | |
12925 | .iv = "\x01\x00\x42\xff\xf8\xf1\x95\x1c" | |
12926 | "\x3c\x96\x96\x76\x6c\xfa\x00\x00", | |
12927 | .assoc = "\xd8\x5b\xc7\xe6\x9f\x94\x4f\xb8", | |
12928 | .alen = 8, | |
12929 | .input = "\x8a\x19\xb9\x50\xbc\xf7\x1a\x01" | |
12930 | "\x8e\x5e\x67\x01\xc9\x17\x87\x65" | |
12931 | "\x98\x09\xd6\x7d\xbe\xdd\x18", | |
12932 | .ilen = 23, | |
12933 | .result = "\xbc\x21\x8d\xaa\x94\x74\x27\xb6" | |
12934 | "\xdb\x38\x6a\x99\xac\x1a\xef\x23" | |
12935 | "\xad\xe0\xb5\x29\x39\xcb\x6a\x63" | |
12936 | "\x7c\xf9\xbe\xc2\x40\x88\x97\xc6" | |
12937 | "\xba", | |
12938 | .rlen = 33, | |
12939 | }, | |
12940 | }; | |
12941 | ||
12942 | static struct aead_testvec aes_ccm_dec_tv_template[] = { | |
12943 | { /* From RFC 3610 */ | |
12944 | .key = "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
12945 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", | |
12946 | .klen = 16, | |
12947 | .iv = "\x01\x00\x00\x00\x03\x02\x01\x00" | |
12948 | "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00", | |
12949 | .assoc = "\x00\x01\x02\x03\x04\x05\x06\x07", | |
12950 | .alen = 8, | |
12951 | .input = "\x58\x8c\x97\x9a\x61\xc6\x63\xd2" | |
12952 | "\xf0\x66\xd0\xc2\xc0\xf9\x89\x80" | |
12953 | "\x6d\x5f\x6b\x61\xda\xc3\x84\x17" | |
12954 | "\xe8\xd1\x2c\xfd\xf9\x26\xe0", | |
12955 | .ilen = 31, | |
12956 | .result = "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
12957 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
12958 | "\x18\x19\x1a\x1b\x1c\x1d\x1e", | |
12959 | .rlen = 23, | |
12960 | }, { | |
12961 | .key = "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
12962 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", | |
12963 | .klen = 16, | |
12964 | .iv = "\x01\x00\x00\x00\x07\x06\x05\x04" | |
12965 | "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00", | |
12966 | .assoc = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
12967 | "\x08\x09\x0a\x0b", | |
12968 | .alen = 12, | |
12969 | .input = "\xdc\xf1\xfb\x7b\x5d\x9e\x23\xfb" | |
12970 | "\x9d\x4e\x13\x12\x53\x65\x8a\xd8" | |
12971 | "\x6e\xbd\xca\x3e\x51\xe8\x3f\x07" | |
12972 | "\x7d\x9c\x2d\x93", | |
12973 | .ilen = 28, | |
12974 | .result = "\x0c\x0d\x0e\x0f\x10\x11\x12\x13" | |
12975 | "\x14\x15\x16\x17\x18\x19\x1a\x1b" | |
12976 | "\x1c\x1d\x1e\x1f", | |
12977 | .rlen = 20, | |
12978 | }, { | |
12979 | .key = "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
12980 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", | |
12981 | .klen = 16, | |
12982 | .iv = "\x01\x00\x00\x00\x0b\x0a\x09\x08" | |
12983 | "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00", | |
12984 | .assoc = "\x00\x01\x02\x03\x04\x05\x06\x07", | |
12985 | .alen = 8, | |
12986 | .input = "\x82\x53\x1a\x60\xcc\x24\x94\x5a" | |
12987 | "\x4b\x82\x79\x18\x1a\xb5\xc8\x4d" | |
12988 | "\xf2\x1c\xe7\xf9\xb7\x3f\x42\xe1" | |
12989 | "\x97\xea\x9c\x07\xe5\x6b\x5e\xb1" | |
12990 | "\x7e\x5f\x4e", | |
12991 | .ilen = 35, | |
12992 | .result = "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
12993 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
12994 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
12995 | "\x20", | |
12996 | .rlen = 25, | |
12997 | }, { | |
12998 | .key = "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
12999 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", | |
13000 | .klen = 16, | |
13001 | .iv = "\x01\x00\x00\x00\x0c\x0b\x0a\x09" | |
13002 | "\xa0\xa1\xa2\xa3\xa4\xa5\x00\x00", | |
13003 | .assoc = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
13004 | "\x08\x09\x0a\x0b", | |
13005 | .alen = 12, | |
13006 | .input = "\x07\x34\x25\x94\x15\x77\x85\x15" | |
13007 | "\x2b\x07\x40\x98\x33\x0a\xbb\x14" | |
13008 | "\x1b\x94\x7b\x56\x6a\xa9\x40\x6b" | |
13009 | "\x4d\x99\x99\x88\xdd", | |
13010 | .ilen = 29, | |
13011 | .result = "\x0c\x0d\x0e\x0f\x10\x11\x12\x13" | |
13012 | "\x14\x15\x16\x17\x18\x19\x1a\x1b" | |
13013 | "\x1c\x1d\x1e", | |
13014 | .rlen = 19, | |
13015 | }, { | |
13016 | .key = "\xd7\x82\x8d\x13\xb2\xb0\xbd\xc3" | |
13017 | "\x25\xa7\x62\x36\xdf\x93\xcc\x6b", | |
13018 | .klen = 16, | |
13019 | .iv = "\x01\x00\x33\x56\x8e\xf7\xb2\x63" | |
13020 | "\x3c\x96\x96\x76\x6c\xfa\x00\x00", | |
13021 | .assoc = "\x63\x01\x8f\x76\xdc\x8a\x1b\xcb", | |
13022 | .alen = 8, | |
13023 | .input = "\x4c\xcb\x1e\x7c\xa9\x81\xbe\xfa" | |
13024 | "\xa0\x72\x6c\x55\xd3\x78\x06\x12" | |
13025 | "\x98\xc8\x5c\x92\x81\x4a\xbc\x33" | |
13026 | "\xc5\x2e\xe8\x1d\x7d\x77\xc0\x8a", | |
13027 | .ilen = 32, | |
13028 | .result = "\x90\x20\xea\x6f\x91\xbd\xd8\x5a" | |
13029 | "\xfa\x00\x39\xba\x4b\xaf\xf9\xbf" | |
13030 | "\xb7\x9c\x70\x28\x94\x9c\xd0\xec", | |
13031 | .rlen = 24, | |
13032 | }, { | |
13033 | .key = "\xd7\x82\x8d\x13\xb2\xb0\xbd\xc3" | |
13034 | "\x25\xa7\x62\x36\xdf\x93\xcc\x6b", | |
13035 | .klen = 16, | |
13036 | .iv = "\x01\x00\xd5\x60\x91\x2d\x3f\x70" | |
13037 | "\x3c\x96\x96\x76\x6c\xfa\x00\x00", | |
13038 | .assoc = "\xcd\x90\x44\xd2\xb7\x1f\xdb\x81" | |
13039 | "\x20\xea\x60\xc0", | |
13040 | .alen = 12, | |
13041 | .input = "\x00\x97\x69\xec\xab\xdf\x48\x62" | |
13042 | "\x55\x94\xc5\x92\x51\xe6\x03\x57" | |
13043 | "\x22\x67\x5e\x04\xc8\x47\x09\x9e" | |
13044 | "\x5a\xe0\x70\x45\x51", | |
13045 | .ilen = 29, | |
13046 | .result = "\x64\x35\xac\xba\xfb\x11\xa8\x2e" | |
13047 | "\x2f\x07\x1d\x7c\xa4\xa5\xeb\xd9" | |
13048 | "\x3a\x80\x3b\xa8\x7f", | |
13049 | .rlen = 21, | |
13050 | }, { | |
13051 | .key = "\xd7\x82\x8d\x13\xb2\xb0\xbd\xc3" | |
13052 | "\x25\xa7\x62\x36\xdf\x93\xcc\x6b", | |
13053 | .klen = 16, | |
13054 | .iv = "\x01\x00\x42\xff\xf8\xf1\x95\x1c" | |
13055 | "\x3c\x96\x96\x76\x6c\xfa\x00\x00", | |
13056 | .assoc = "\xd8\x5b\xc7\xe6\x9f\x94\x4f\xb8", | |
13057 | .alen = 8, | |
13058 | .input = "\xbc\x21\x8d\xaa\x94\x74\x27\xb6" | |
13059 | "\xdb\x38\x6a\x99\xac\x1a\xef\x23" | |
13060 | "\xad\xe0\xb5\x29\x39\xcb\x6a\x63" | |
13061 | "\x7c\xf9\xbe\xc2\x40\x88\x97\xc6" | |
13062 | "\xba", | |
13063 | .ilen = 33, | |
13064 | .result = "\x8a\x19\xb9\x50\xbc\xf7\x1a\x01" | |
13065 | "\x8e\x5e\x67\x01\xc9\x17\x87\x65" | |
13066 | "\x98\x09\xd6\x7d\xbe\xdd\x18", | |
13067 | .rlen = 23, | |
13068 | }, | |
13069 | }; | |
13070 | ||
5d667322 JW |
13071 | /* |
13072 | * rfc4309 refers to section 8 of rfc3610 for test vectors, but they all | |
13073 | * use a 13-byte nonce, we only support an 11-byte nonce. Similarly, all of | |
13074 | * Special Publication 800-38C's test vectors also use nonce lengths our | |
13075 | * implementation doesn't support. The following are taken from fips cavs | |
13076 | * fax files on hand at Red Hat. | |
13077 | * | |
13078 | * nb: actual key lengths are (klen - 3), the last 3 bytes are actually | |
13079 | * part of the nonce which combine w/the iv, but need to be input this way. | |
13080 | */ | |
13081 | static struct aead_testvec aes_ccm_rfc4309_enc_tv_template[] = { | |
13082 | { | |
13083 | .key = "\x83\xac\x54\x66\xc2\xeb\xe5\x05" | |
13084 | "\x2e\x01\xd1\xfc\x5d\x82\x66\x2e" | |
13085 | "\x96\xac\x59", | |
13086 | .klen = 19, | |
13087 | .iv = "\x30\x07\xa1\xe2\xa2\xc7\x55\x24", | |
13088 | .alen = 0, | |
13089 | .input = "\x19\xc8\x81\xf6\xe9\x86\xff\x93" | |
13090 | "\x0b\x78\x67\xe5\xbb\xb7\xfc\x6e" | |
13091 | "\x83\x77\xb3\xa6\x0c\x8c\x9f\x9c" | |
13092 | "\x35\x2e\xad\xe0\x62\xf9\x91\xa1", | |
13093 | .ilen = 32, | |
13094 | .result = "\xab\x6f\xe1\x69\x1d\x19\x99\xa8" | |
13095 | "\x92\xa0\xc4\x6f\x7e\xe2\x8b\xb1" | |
13096 | "\x70\xbb\x8c\xa6\x4c\x6e\x97\x8a" | |
13097 | "\x57\x2b\xbe\x5d\x98\xa6\xb1\x32" | |
13098 | "\xda\x24\xea\xd9\xa1\x39\x98\xfd" | |
13099 | "\xa4\xbe\xd9\xf2\x1a\x6d\x22\xa8", | |
13100 | .rlen = 48, | |
13101 | }, { | |
13102 | .key = "\x1e\x2c\x7e\x01\x41\x9a\xef\xc0" | |
13103 | "\x0d\x58\x96\x6e\x5c\xa2\x4b\xd3" | |
13104 | "\x4f\xa3\x19", | |
13105 | .klen = 19, | |
13106 | .iv = "\xd3\x01\x5a\xd8\x30\x60\x15\x56", | |
13107 | .assoc = "\xda\xe6\x28\x9c\x45\x2d\xfd\x63" | |
13108 | "\x5e\xda\x4c\xb6\xe6\xfc\xf9\xb7" | |
13109 | "\x0c\x56\xcb\xe4\xe0\x05\x7a\xe1" | |
13110 | "\x0a\x63\x09\x78\xbc\x2c\x55\xde", | |
13111 | .alen = 32, | |
13112 | .input = "\x87\xa3\x36\xfd\x96\xb3\x93\x78" | |
13113 | "\xa9\x28\x63\xba\x12\xa3\x14\x85" | |
13114 | "\x57\x1e\x06\xc9\x7b\x21\xef\x76" | |
13115 | "\x7f\x38\x7e\x8e\x29\xa4\x3e\x7e", | |
13116 | .ilen = 32, | |
13117 | .result = "\x8a\x1e\x11\xf0\x02\x6b\xe2\x19" | |
13118 | "\xfc\x70\xc4\x6d\x8e\xb7\x99\xab" | |
13119 | "\xc5\x4b\xa2\xac\xd3\xf3\x48\xff" | |
13120 | "\x3b\xb5\xce\x53\xef\xde\xbb\x02" | |
13121 | "\xa9\x86\x15\x6c\x13\xfe\xda\x0a" | |
13122 | "\x22\xb8\x29\x3d\xd8\x39\x9a\x23", | |
13123 | .rlen = 48, | |
13124 | }, { | |
13125 | .key = "\xf4\x6b\xc2\x75\x62\xfe\xb4\xe1" | |
13126 | "\xa3\xf0\xff\xdd\x4e\x4b\x12\x75" | |
13127 | "\x53\x14\x73\x66\x8d\x88\xf6\x80" | |
13128 | "\xa0\x20\x35", | |
13129 | .klen = 27, | |
13130 | .iv = "\x26\xf2\x21\x8d\x50\x20\xda\xe2", | |
13131 | .assoc = "\x5b\x9e\x13\x67\x02\x5e\xef\xc1" | |
13132 | "\x6c\xf9\xd7\x1e\x52\x8f\x7a\x47" | |
13133 | "\xe9\xd4\xcf\x20\x14\x6e\xf0\x2d" | |
13134 | "\xd8\x9e\x2b\x56\x10\x23\x56\xe7", | |
13135 | .alen = 32, | |
13136 | .ilen = 0, | |
13137 | .result = "\x36\xea\x7a\x70\x08\xdc\x6a\xbc" | |
13138 | "\xad\x0c\x7a\x63\xf6\x61\xfd\x9b", | |
13139 | .rlen = 16, | |
13140 | }, { | |
13141 | .key = "\x56\xdf\x5c\x8f\x26\x3f\x0e\x42" | |
13142 | "\xef\x7a\xd3\xce\xfc\x84\x60\x62" | |
13143 | "\xca\xb4\x40\xaf\x5f\xc9\xc9\x01" | |
13144 | "\xd6\x3c\x8c", | |
13145 | .klen = 27, | |
13146 | .iv = "\x86\x84\xb6\xcd\xef\x09\x2e\x94", | |
13147 | .assoc = "\x02\x65\x78\x3c\xe9\x21\x30\x91" | |
13148 | "\xb1\xb9\xda\x76\x9a\x78\x6d\x95" | |
13149 | "\xf2\x88\x32\xa3\xf2\x50\xcb\x4c" | |
13150 | "\xe3\x00\x73\x69\x84\x69\x87\x79", | |
13151 | .alen = 32, | |
13152 | .input = "\x9f\xd2\x02\x4b\x52\x49\x31\x3c" | |
13153 | "\x43\x69\x3a\x2d\x8e\x70\xad\x7e" | |
13154 | "\xe0\xe5\x46\x09\x80\x89\x13\xb2" | |
13155 | "\x8c\x8b\xd9\x3f\x86\xfb\xb5\x6b", | |
13156 | .ilen = 32, | |
13157 | .result = "\x39\xdf\x7c\x3c\x5a\x29\xb9\x62" | |
13158 | "\x5d\x51\xc2\x16\xd8\xbd\x06\x9f" | |
13159 | "\x9b\x6a\x09\x70\xc1\x51\x83\xc2" | |
13160 | "\x66\x88\x1d\x4f\x9a\xda\xe0\x1e" | |
13161 | "\xc7\x79\x11\x58\xe5\x6b\x20\x40" | |
13162 | "\x7a\xea\x46\x42\x8b\xe4\x6f\xe1", | |
13163 | .rlen = 48, | |
13164 | }, { | |
13165 | .key = "\xe0\x8d\x99\x71\x60\xd7\x97\x1a" | |
13166 | "\xbd\x01\x99\xd5\x8a\xdf\x71\x3a" | |
13167 | "\xd3\xdf\x24\x4b\x5e\x3d\x4b\x4e" | |
13168 | "\x30\x7a\xb9\xd8\x53\x0a\x5e\x2b" | |
13169 | "\x1e\x29\x91", | |
13170 | .klen = 35, | |
13171 | .iv = "\xad\x8e\xc1\x53\x0a\xcf\x2d\xbe", | |
13172 | .assoc = "\x19\xb6\x1f\x57\xc4\xf3\xf0\x8b" | |
13173 | "\x78\x2b\x94\x02\x29\x0f\x42\x27" | |
13174 | "\x6b\x75\xcb\x98\x34\x08\x7e\x79" | |
13175 | "\xe4\x3e\x49\x0d\x84\x8b\x22\x87", | |
13176 | .alen = 32, | |
13177 | .input = "\xe1\xd9\xd8\x13\xeb\x3a\x75\x3f" | |
13178 | "\x9d\xbd\x5f\x66\xbe\xdc\xbb\x66" | |
13179 | "\xbf\x17\x99\x62\x4a\x39\x27\x1f" | |
13180 | "\x1d\xdc\x24\xae\x19\x2f\x98\x4c", | |
13181 | .ilen = 32, | |
13182 | .result = "\x19\xb8\x61\x33\x45\x2b\x43\x96" | |
13183 | "\x6f\x51\xd0\x20\x30\x7d\x9b\xc6" | |
13184 | "\x26\x3d\xf8\xc9\x65\x16\xa8\x9f" | |
13185 | "\xf0\x62\x17\x34\xf2\x1e\x8d\x75" | |
13186 | "\x4e\x13\xcc\xc0\xc3\x2a\x54\x2d", | |
13187 | .rlen = 40, | |
13188 | }, { | |
13189 | .key = "\x7c\xc8\x18\x3b\x8d\x99\xe0\x7c" | |
13190 | "\x45\x41\xb8\xbd\x5c\xa7\xc2\x32" | |
13191 | "\x8a\xb8\x02\x59\xa4\xfe\xa9\x2c" | |
13192 | "\x09\x75\x9a\x9b\x3c\x9b\x27\x39" | |
13193 | "\xf9\xd9\x4e", | |
13194 | .klen = 35, | |
13195 | .iv = "\x63\xb5\x3d\x9d\x43\xf6\x1e\x50", | |
13196 | .assoc = "\x57\xf5\x6b\x8b\x57\x5c\x3d\x3b" | |
13197 | "\x13\x02\x01\x0c\x83\x4c\x96\x35" | |
13198 | "\x8e\xd6\x39\xcf\x7d\x14\x9b\x94" | |
13199 | "\xb0\x39\x36\xe6\x8f\x57\xe0\x13", | |
13200 | .alen = 32, | |
13201 | .input = "\x3b\x6c\x29\x36\xb6\xef\x07\xa6" | |
13202 | "\x83\x72\x07\x4f\xcf\xfa\x66\x89" | |
13203 | "\x5f\xca\xb1\xba\xd5\x8f\x2c\x27" | |
13204 | "\x30\xdb\x75\x09\x93\xd4\x65\xe4", | |
13205 | .ilen = 32, | |
13206 | .result = "\xb0\x88\x5a\x33\xaa\xe5\xc7\x1d" | |
13207 | "\x85\x23\xc7\xc6\x2f\xf4\x1e\x3d" | |
13208 | "\xcc\x63\x44\x25\x07\x78\x4f\x9e" | |
13209 | "\x96\xb8\x88\xeb\xbc\x48\x1f\x06" | |
13210 | "\x39\xaf\x39\xac\xd8\x4a\x80\x39" | |
13211 | "\x7b\x72\x8a\xf7", | |
13212 | .rlen = 44, | |
13213 | }, { | |
13214 | .key = "\xab\xd0\xe9\x33\x07\x26\xe5\x83" | |
13215 | "\x8c\x76\x95\xd4\xb6\xdc\xf3\x46" | |
13216 | "\xf9\x8f\xad\xe3\x02\x13\x83\x77" | |
13217 | "\x3f\xb0\xf1\xa1\xa1\x22\x0f\x2b" | |
13218 | "\x24\xa7\x8b", | |
13219 | .klen = 35, | |
13220 | .iv = "\x07\xcb\xcc\x0e\xe6\x33\xbf\xf5", | |
13221 | .assoc = "\xd4\xdb\x30\x1d\x03\xfe\xfd\x5f" | |
13222 | "\x87\xd4\x8c\xb6\xb6\xf1\x7a\x5d" | |
13223 | "\xab\x90\x65\x8d\x8e\xca\x4d\x4f" | |
13224 | "\x16\x0c\x40\x90\x4b\xc7\x36\x73", | |
13225 | .alen = 32, | |
13226 | .input = "\xf5\xc6\x7d\x48\xc1\xb7\xe6\x92" | |
13227 | "\x97\x5a\xca\xc4\xa9\x6d\xf9\x3d" | |
13228 | "\x6c\xde\xbc\xf1\x90\xea\x6a\xb2" | |
13229 | "\x35\x86\x36\xaf\x5c\xfe\x4b\x3a", | |
13230 | .ilen = 32, | |
13231 | .result = "\x83\x6f\x40\x87\x72\xcf\xc1\x13" | |
13232 | "\xef\xbb\x80\x21\x04\x6c\x58\x09" | |
13233 | "\x07\x1b\xfc\xdf\xc0\x3f\x5b\xc7" | |
13234 | "\xe0\x79\xa8\x6e\x71\x7c\x3f\xcf" | |
13235 | "\x5c\xda\xb2\x33\xe5\x13\xe2\x0d" | |
13236 | "\x74\xd1\xef\xb5\x0f\x3a\xb5\xf8", | |
13237 | .rlen = 48, | |
13238 | }, | |
13239 | }; | |
13240 | ||
13241 | static struct aead_testvec aes_ccm_rfc4309_dec_tv_template[] = { | |
13242 | { | |
13243 | .key = "\xab\x2f\x8a\x74\xb7\x1c\xd2\xb1" | |
13244 | "\xff\x80\x2e\x48\x7d\x82\xf8\xb9" | |
13245 | "\xc6\xfb\x7d", | |
13246 | .klen = 19, | |
13247 | .iv = "\x80\x0d\x13\xab\xd8\xa6\xb2\xd8", | |
13248 | .alen = 0, | |
13249 | .input = "\xd5\xe8\x93\x9f\xc7\x89\x2e\x2b", | |
13250 | .ilen = 8, | |
13251 | .result = "\x00", | |
13252 | .rlen = 0, | |
13253 | .novrfy = 1, | |
13254 | }, { | |
13255 | .key = "\xab\x2f\x8a\x74\xb7\x1c\xd2\xb1" | |
13256 | "\xff\x80\x2e\x48\x7d\x82\xf8\xb9" | |
13257 | "\xaf\x94\x87", | |
13258 | .klen = 19, | |
13259 | .iv = "\x78\x35\x82\x81\x7f\x88\x94\x68", | |
13260 | .alen = 0, | |
13261 | .input = "\x41\x3c\xb8\x87\x73\xcb\xf3\xf3", | |
13262 | .ilen = 8, | |
13263 | .result = "\x00", | |
13264 | .rlen = 0, | |
13265 | }, { | |
13266 | .key = "\x61\x0e\x8c\xae\xe3\x23\xb6\x38" | |
13267 | "\x76\x1c\xf6\x3a\x67\xa3\x9c\xd8" | |
13268 | "\xc6\xfb\x7d", | |
13269 | .klen = 19, | |
13270 | .iv = "\x80\x0d\x13\xab\xd8\xa6\xb2\xd8", | |
13271 | .assoc = "\xf3\x94\x87\x78\x35\x82\x81\x7f" | |
13272 | "\x88\x94\x68\xb1\x78\x6b\x2b\xd6" | |
13273 | "\x04\x1f\x4e\xed\x78\xd5\x33\x66" | |
13274 | "\xd8\x94\x99\x91\x81\x54\x62\x57", | |
13275 | .alen = 32, | |
13276 | .input = "\xf0\x7c\x29\x02\xae\x1c\x2f\x55" | |
13277 | "\xd0\xd1\x3d\x1a\xa3\x6d\xe4\x0a" | |
13278 | "\x86\xb0\x87\x6b\x62\x33\x8c\x34" | |
13279 | "\xce\xab\x57\xcc\x79\x0b\xe0\x6f" | |
13280 | "\x5c\x3e\x48\x1f\x6c\x46\xf7\x51" | |
13281 | "\x8b\x84\x83\x2a\xc1\x05\xb8\xc5", | |
13282 | .ilen = 48, | |
13283 | .result = "\x50\x82\x3e\x07\xe2\x1e\xb6\xfb" | |
13284 | "\x33\xe4\x73\xce\xd2\xfb\x95\x79" | |
13285 | "\xe8\xb4\xb5\x77\x11\x10\x62\x6f" | |
13286 | "\x6a\x82\xd1\x13\xec\xf5\xd0\x48", | |
13287 | .rlen = 32, | |
13288 | .novrfy = 1, | |
13289 | }, { | |
13290 | .key = "\x61\x0e\x8c\xae\xe3\x23\xb6\x38" | |
13291 | "\x76\x1c\xf6\x3a\x67\xa3\x9c\xd8" | |
13292 | "\x05\xe0\xc9", | |
13293 | .klen = 19, | |
13294 | .iv = "\x0f\xed\x34\xea\x97\xd4\x3b\xdf", | |
13295 | .assoc = "\x49\x5c\x50\x1f\x1d\x94\xcc\x81" | |
13296 | "\xba\xb7\xb6\x03\xaf\xa5\xc1\xa1" | |
13297 | "\xd8\x5c\x42\x68\xe0\x6c\xda\x89" | |
13298 | "\x05\xac\x56\xac\x1b\x2a\xd3\x86", | |
13299 | .alen = 32, | |
13300 | .input = "\x39\xbe\x7d\x15\x62\x77\xf3\x3c" | |
13301 | "\xad\x83\x52\x6d\x71\x03\x25\x1c" | |
13302 | "\xed\x81\x3a\x9a\x16\x7d\x19\x80" | |
13303 | "\x72\x04\x72\xd0\xf6\xff\x05\x0f" | |
13304 | "\xb7\x14\x30\x00\x32\x9e\xa0\xa6" | |
13305 | "\x9e\x5a\x18\xa1\xb8\xfe\xdb\xd3", | |
13306 | .ilen = 48, | |
13307 | .result = "\x75\x05\xbe\xc2\xd9\x1e\xde\x60" | |
13308 | "\x47\x3d\x8c\x7d\xbd\xb5\xd9\xb7" | |
13309 | "\xf2\xae\x61\x05\x8f\x82\x24\x3f" | |
13310 | "\x9c\x67\x91\xe1\x38\x4f\xe4\x0c", | |
13311 | .rlen = 32, | |
13312 | }, { | |
13313 | .key = "\x39\xbb\xa7\xbe\x59\x97\x9e\x73" | |
13314 | "\xa2\xbc\x6b\x98\xd7\x75\x7f\xe3" | |
13315 | "\xa4\x48\x93\x39\x26\x71\x4a\xc6" | |
13316 | "\xee\x49\x83", | |
13317 | .klen = 27, | |
13318 | .iv = "\xe9\xa9\xff\xe9\x57\xba\xfd\x9e", | |
13319 | .assoc = "\x44\xa6\x2c\x05\xe9\xe1\x43\xb1" | |
13320 | "\x58\x7c\xf2\x5c\x6d\x39\x0a\x64" | |
13321 | "\xa4\xf0\x13\x05\xd1\x77\x99\x67" | |
13322 | "\x11\xc4\xc6\xdb\x00\x56\x36\x61", | |
13323 | .alen = 32, | |
13324 | .input = "\x71\x99\xfa\xf4\x44\x12\x68\x9b", | |
13325 | .ilen = 8, | |
13326 | .result = "\x00", | |
13327 | .rlen = 0, | |
13328 | }, { | |
13329 | .key = "\x58\x5d\xa0\x96\x65\x1a\x04\xd7" | |
13330 | "\x96\xe5\xc5\x68\xaa\x95\x35\xe0" | |
13331 | "\x29\xa0\xba\x9e\x48\x78\xd1\xba" | |
13332 | "\xee\x49\x83", | |
13333 | .klen = 27, | |
13334 | .iv = "\xe9\xa9\xff\xe9\x57\xba\xfd\x9e", | |
13335 | .assoc = "\x44\xa6\x2c\x05\xe9\xe1\x43\xb1" | |
13336 | "\x58\x7c\xf2\x5c\x6d\x39\x0a\x64" | |
13337 | "\xa4\xf0\x13\x05\xd1\x77\x99\x67" | |
13338 | "\x11\xc4\xc6\xdb\x00\x56\x36\x61", | |
13339 | .alen = 32, | |
13340 | .input = "\xfb\xe5\x5d\x34\xbe\xe5\xe8\xe7" | |
13341 | "\x5a\xef\x2f\xbf\x1f\x7f\xd4\xb2" | |
13342 | "\x66\xca\x61\x1e\x96\x7a\x61\xb3" | |
13343 | "\x1c\x16\x45\x52\xba\x04\x9c\x9f" | |
13344 | "\xb1\xd2\x40\xbc\x52\x7c\x6f\xb1", | |
13345 | .ilen = 40, | |
13346 | .result = "\x85\x34\x66\x42\xc8\x92\x0f\x36" | |
13347 | "\x58\xe0\x6b\x91\x3c\x98\x5c\xbb" | |
13348 | "\x0a\x85\xcc\x02\xad\x7a\x96\xe9" | |
13349 | "\x65\x43\xa4\xc3\x0f\xdc\x55\x81", | |
13350 | .rlen = 32, | |
13351 | }, { | |
13352 | .key = "\x58\x5d\xa0\x96\x65\x1a\x04\xd7" | |
13353 | "\x96\xe5\xc5\x68\xaa\x95\x35\xe0" | |
13354 | "\x29\xa0\xba\x9e\x48\x78\xd1\xba" | |
13355 | "\xd1\xfc\x57", | |
13356 | .klen = 27, | |
13357 | .iv = "\x9c\xfe\xb8\x9c\xad\x71\xaa\x1f", | |
13358 | .assoc = "\x86\x67\xa5\xa9\x14\x5f\x0d\xc6" | |
13359 | "\xff\x14\xc7\x44\xbf\x6c\x3a\xc3" | |
13360 | "\xff\xb6\x81\xbd\xe2\xd5\x06\xc7" | |
13361 | "\x3c\xa1\x52\x13\x03\x8a\x23\x3a", | |
13362 | .alen = 32, | |
13363 | .input = "\x3f\x66\xb0\x9d\xe5\x4b\x38\x00" | |
13364 | "\xc6\x0e\x6e\xe5\xd6\x98\xa6\x37" | |
13365 | "\x8c\x26\x33\xc6\xb2\xa2\x17\xfa" | |
13366 | "\x64\x19\xc0\x30\xd7\xfc\x14\x6b" | |
13367 | "\xe3\x33\xc2\x04\xb0\x37\xbe\x3f" | |
13368 | "\xa9\xb4\x2d\x68\x03\xa3\x44\xef", | |
13369 | .ilen = 48, | |
13370 | .result = "\x02\x87\x4d\x28\x80\x6e\xb2\xed" | |
13371 | "\x99\x2a\xa8\xca\x04\x25\x45\x90" | |
13372 | "\x1d\xdd\x5a\xd9\xe4\xdb\x9c\x9c" | |
13373 | "\x49\xe9\x01\xfe\xa7\x80\x6d\x6b", | |
13374 | .rlen = 32, | |
13375 | .novrfy = 1, | |
13376 | }, { | |
13377 | .key = "\xa4\x4b\x54\x29\x0a\xb8\x6d\x01" | |
13378 | "\x5b\x80\x2a\xcf\x25\xc4\xb7\x5c" | |
13379 | "\x20\x2c\xad\x30\xc2\x2b\x41\xfb" | |
13380 | "\x0e\x85\xbc\x33\xad\x0f\x2b\xff" | |
13381 | "\xee\x49\x83", | |
13382 | .klen = 35, | |
13383 | .iv = "\xe9\xa9\xff\xe9\x57\xba\xfd\x9e", | |
13384 | .alen = 0, | |
13385 | .input = "\x1f\xb8\x8f\xa3\xdd\x54\x00\xf2", | |
13386 | .ilen = 8, | |
13387 | .result = "\x00", | |
13388 | .rlen = 0, | |
13389 | }, { | |
13390 | .key = "\x39\xbb\xa7\xbe\x59\x97\x9e\x73" | |
13391 | "\xa2\xbc\x6b\x98\xd7\x75\x7f\xe3" | |
13392 | "\xa4\x48\x93\x39\x26\x71\x4a\xc6" | |
13393 | "\xae\x8f\x11\x4c\xc2\x9c\x4a\xbb" | |
13394 | "\x85\x34\x66", | |
13395 | .klen = 35, | |
13396 | .iv = "\x42\xc8\x92\x0f\x36\x58\xe0\x6b", | |
13397 | .alen = 0, | |
13398 | .input = "\x48\x01\x5e\x02\x24\x04\x66\x47" | |
13399 | "\xa1\xea\x6f\xaf\xe8\xfc\xfb\xdd" | |
13400 | "\xa5\xa9\x87\x8d\x84\xee\x2e\x77" | |
13401 | "\xbb\x86\xb9\xf5\x5c\x6c\xff\xf6" | |
13402 | "\x72\xc3\x8e\xf7\x70\xb1\xb2\x07" | |
13403 | "\xbc\xa8\xa3\xbd\x83\x7c\x1d\x2a", | |
13404 | .ilen = 48, | |
13405 | .result = "\xdc\x56\xf2\x71\xb0\xb1\xa0\x6c" | |
13406 | "\xf0\x97\x3a\xfb\x6d\xe7\x32\x99" | |
13407 | "\x3e\xaf\x70\x5e\xb2\x4d\xea\x39" | |
13408 | "\x89\xd4\x75\x7a\x63\xb1\xda\x93", | |
13409 | .rlen = 32, | |
13410 | .novrfy = 1, | |
13411 | }, { | |
13412 | .key = "\x58\x5d\xa0\x96\x65\x1a\x04\xd7" | |
13413 | "\x96\xe5\xc5\x68\xaa\x95\x35\xe0" | |
13414 | "\x29\xa0\xba\x9e\x48\x78\xd1\xba" | |
13415 | "\x0d\x1a\x53\x3b\xb5\xe3\xf8\x8b" | |
13416 | "\xcf\x76\x3f", | |
13417 | .klen = 35, | |
13418 | .iv = "\xd9\x95\x75\x8f\x44\x89\x40\x7b", | |
13419 | .assoc = "\x8f\x86\x6c\x4d\x1d\xc5\x39\x88" | |
13420 | "\xc8\xf3\x5c\x52\x10\x63\x6f\x2b" | |
13421 | "\x8a\x2a\xc5\x6f\x30\x23\x58\x7b" | |
13422 | "\xfb\x36\x03\x11\xb4\xd9\xf2\xfe", | |
13423 | .alen = 32, | |
13424 | .input = "\x48\x58\xd6\xf3\xad\x63\x58\xbf" | |
13425 | "\xae\xc7\x5e\xae\x83\x8f\x7b\xe4" | |
13426 | "\x78\x5c\x4c\x67\x71\x89\x94\xbf" | |
13427 | "\x47\xf1\x63\x7e\x1c\x59\xbd\xc5" | |
13428 | "\x7f\x44\x0a\x0c\x01\x18\x07\x92" | |
13429 | "\xe1\xd3\x51\xce\x32\x6d\x0c\x5b", | |
13430 | .ilen = 48, | |
13431 | .result = "\xc2\x54\xc8\xde\x78\x87\x77\x40" | |
13432 | "\x49\x71\xe4\xb7\xe7\xcb\x76\x61" | |
13433 | "\x0a\x41\xb9\xe9\xc0\x76\x54\xab" | |
13434 | "\x04\x49\x3b\x19\x93\x57\x25\x5d", | |
13435 | .rlen = 32, | |
13436 | }, | |
13437 | }; | |
13438 | ||
e08ca2da JW |
13439 | /* |
13440 | * ANSI X9.31 Continuous Pseudo-Random Number Generator (AES mode) | |
13441 | * test vectors, taken from Appendix B.2.9 and B.2.10: | |
13442 | * http://csrc.nist.gov/groups/STM/cavp/documents/rng/RNGVS.pdf | |
13443 | * Only AES-128 is supported at this time. | |
13444 | */ | |
13445 | #define ANSI_CPRNG_AES_TEST_VECTORS 6 | |
13446 | ||
13447 | static struct cprng_testvec ansi_cprng_aes_tv_template[] = { | |
13448 | { | |
13449 | .key = "\xf3\xb1\x66\x6d\x13\x60\x72\x42" | |
13450 | "\xed\x06\x1c\xab\xb8\xd4\x62\x02", | |
13451 | .klen = 16, | |
13452 | .dt = "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62" | |
13453 | "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xf9", | |
13454 | .dtlen = 16, | |
13455 | .v = "\x80\x00\x00\x00\x00\x00\x00\x00" | |
13456 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
13457 | .vlen = 16, | |
13458 | .result = "\x59\x53\x1e\xd1\x3b\xb0\xc0\x55" | |
13459 | "\x84\x79\x66\x85\xc1\x2f\x76\x41", | |
13460 | .rlen = 16, | |
13461 | .loops = 1, | |
13462 | }, { | |
13463 | .key = "\xf3\xb1\x66\x6d\x13\x60\x72\x42" | |
13464 | "\xed\x06\x1c\xab\xb8\xd4\x62\x02", | |
13465 | .klen = 16, | |
13466 | .dt = "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62" | |
13467 | "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xfa", | |
13468 | .dtlen = 16, | |
13469 | .v = "\xc0\x00\x00\x00\x00\x00\x00\x00" | |
13470 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
13471 | .vlen = 16, | |
13472 | .result = "\x7c\x22\x2c\xf4\xca\x8f\xa2\x4c" | |
13473 | "\x1c\x9c\xb6\x41\xa9\xf3\x22\x0d", | |
13474 | .rlen = 16, | |
13475 | .loops = 1, | |
13476 | }, { | |
13477 | .key = "\xf3\xb1\x66\x6d\x13\x60\x72\x42" | |
13478 | "\xed\x06\x1c\xab\xb8\xd4\x62\x02", | |
13479 | .klen = 16, | |
13480 | .dt = "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62" | |
13481 | "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xfb", | |
13482 | .dtlen = 16, | |
13483 | .v = "\xe0\x00\x00\x00\x00\x00\x00\x00" | |
13484 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
13485 | .vlen = 16, | |
13486 | .result = "\x8a\xaa\x00\x39\x66\x67\x5b\xe5" | |
13487 | "\x29\x14\x28\x81\xa9\x4d\x4e\xc7", | |
13488 | .rlen = 16, | |
13489 | .loops = 1, | |
13490 | }, { | |
13491 | .key = "\xf3\xb1\x66\x6d\x13\x60\x72\x42" | |
13492 | "\xed\x06\x1c\xab\xb8\xd4\x62\x02", | |
13493 | .klen = 16, | |
13494 | .dt = "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62" | |
13495 | "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xfc", | |
13496 | .dtlen = 16, | |
13497 | .v = "\xf0\x00\x00\x00\x00\x00\x00\x00" | |
13498 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
13499 | .vlen = 16, | |
13500 | .result = "\x88\xdd\xa4\x56\x30\x24\x23\xe5" | |
13501 | "\xf6\x9d\xa5\x7e\x7b\x95\xc7\x3a", | |
13502 | .rlen = 16, | |
13503 | .loops = 1, | |
13504 | }, { | |
13505 | .key = "\xf3\xb1\x66\x6d\x13\x60\x72\x42" | |
13506 | "\xed\x06\x1c\xab\xb8\xd4\x62\x02", | |
13507 | .klen = 16, | |
13508 | .dt = "\xe6\xb3\xbe\x78\x2a\x23\xfa\x62" | |
13509 | "\xd7\x1d\x4a\xfb\xb0\xe9\x22\xfd", | |
13510 | .dtlen = 16, | |
13511 | .v = "\xf8\x00\x00\x00\x00\x00\x00\x00" | |
13512 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
13513 | .vlen = 16, | |
13514 | .result = "\x05\x25\x92\x46\x61\x79\xd2\xcb" | |
13515 | "\x78\xc4\x0b\x14\x0a\x5a\x9a\xc8", | |
13516 | .rlen = 16, | |
13517 | .loops = 1, | |
13518 | }, { /* Monte Carlo Test */ | |
13519 | .key = "\x9f\x5b\x51\x20\x0b\xf3\x34\xb5" | |
13520 | "\xd8\x2b\xe8\xc3\x72\x55\xc8\x48", | |
13521 | .klen = 16, | |
13522 | .dt = "\x63\x76\xbb\xe5\x29\x02\xba\x3b" | |
13523 | "\x67\xc9\x25\xfa\x70\x1f\x11\xac", | |
13524 | .dtlen = 16, | |
13525 | .v = "\x57\x2c\x8e\x76\x87\x26\x47\x97" | |
13526 | "\x7e\x74\xfb\xdd\xc4\x95\x01\xd1", | |
13527 | .vlen = 16, | |
13528 | .result = "\x48\xe9\xbd\x0d\x06\xee\x18\xfb" | |
13529 | "\xe4\x57\x90\xd5\xc3\xfc\x9b\x73", | |
13530 | .rlen = 16, | |
13531 | .loops = 10000, | |
13532 | }, | |
13533 | }; | |
13534 | ||
da7f033d | 13535 | /* Cast5 test vectors from RFC 2144 */ |
a2c58260 JG |
13536 | #define CAST5_ENC_TEST_VECTORS 4 |
13537 | #define CAST5_DEC_TEST_VECTORS 4 | |
13538 | #define CAST5_CBC_ENC_TEST_VECTORS 1 | |
13539 | #define CAST5_CBC_DEC_TEST_VECTORS 1 | |
13540 | #define CAST5_CTR_ENC_TEST_VECTORS 1 | |
13541 | #define CAST5_CTR_DEC_TEST_VECTORS 1 | |
da7f033d HX |
13542 | |
13543 | static struct cipher_testvec cast5_enc_tv_template[] = { | |
13544 | { | |
13545 | .key = "\x01\x23\x45\x67\x12\x34\x56\x78" | |
13546 | "\x23\x45\x67\x89\x34\x56\x78\x9a", | |
13547 | .klen = 16, | |
13548 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
13549 | .ilen = 8, | |
13550 | .result = "\x23\x8b\x4f\xe5\x84\x7e\x44\xb2", | |
13551 | .rlen = 8, | |
13552 | }, { | |
13553 | .key = "\x01\x23\x45\x67\x12\x34\x56\x78" | |
13554 | "\x23\x45", | |
13555 | .klen = 10, | |
13556 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
13557 | .ilen = 8, | |
13558 | .result = "\xeb\x6a\x71\x1a\x2c\x02\x27\x1b", | |
13559 | .rlen = 8, | |
13560 | }, { | |
13561 | .key = "\x01\x23\x45\x67\x12", | |
13562 | .klen = 5, | |
13563 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
13564 | .ilen = 8, | |
13565 | .result = "\x7a\xc8\x16\xd1\x6e\x9b\x30\x2e", | |
13566 | .rlen = 8, | |
a2c58260 JG |
13567 | }, { /* Generated from TF test vectors */ |
13568 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
13569 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A", | |
13570 | .klen = 16, | |
13571 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
13572 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
13573 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
13574 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
13575 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
13576 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
13577 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
13578 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
13579 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
13580 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
13581 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
13582 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
13583 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
13584 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
13585 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
13586 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
13587 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
13588 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
13589 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
13590 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
13591 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
13592 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
13593 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
13594 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
13595 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
13596 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
13597 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
13598 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
13599 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
13600 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
13601 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
13602 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
13603 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
13604 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
13605 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
13606 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
13607 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
13608 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
13609 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
13610 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
13611 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
13612 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
13613 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
13614 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
13615 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
13616 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
13617 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
13618 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
13619 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
13620 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
13621 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
13622 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
13623 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
13624 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
13625 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
13626 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
13627 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
13628 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
13629 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
13630 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
13631 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
13632 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
13633 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
13634 | .ilen = 496, | |
13635 | .result = "\x8D\xFC\x81\x9C\xCB\xAA\x5A\x1C" | |
13636 | "\x7E\x95\xCF\x40\xAB\x4D\x6F\xEA" | |
13637 | "\xD3\xD9\xB0\x9A\xB7\xC7\xE0\x2E" | |
13638 | "\xD1\x39\x34\x92\x8F\xFA\x14\xF1" | |
13639 | "\xD5\xD2\x7B\x59\x1F\x35\x28\xC2" | |
13640 | "\x20\xD9\x42\x06\xC9\x0B\x10\x04" | |
13641 | "\xF8\x79\xCD\x32\x86\x75\x4C\xB6" | |
13642 | "\x7B\x1C\x52\xB1\x91\x64\x22\x4B" | |
13643 | "\x13\xC7\xAE\x98\x0E\xB5\xCF\x6F" | |
13644 | "\x3F\xF4\x43\x96\x73\x0D\xA2\x05" | |
13645 | "\xDB\xFD\x28\x90\x2C\x56\xB9\x37" | |
13646 | "\x5B\x69\x0C\xAD\x84\x67\xFF\x15" | |
13647 | "\x4A\xD4\xA7\xD3\xDD\x99\x47\x3A" | |
13648 | "\xED\x34\x35\x78\x6B\x91\xC9\x32" | |
13649 | "\xE1\xBF\xBC\xB4\x04\x85\x6A\x39" | |
13650 | "\xC0\xBA\x51\xD0\x0F\x4E\xD1\xE2" | |
13651 | "\x1C\xFD\x0E\x05\x07\xF4\x10\xED" | |
13652 | "\xA2\x17\xFF\xF5\x64\xC6\x1A\x22" | |
13653 | "\xAD\x78\xE7\xD7\x11\xE9\x99\xB9" | |
13654 | "\xAA\xEC\x6F\xF8\x3B\xBF\xCE\x77" | |
13655 | "\x93\xE8\xAD\x1D\x50\x6C\xAE\xBC" | |
13656 | "\xBA\x5C\x80\xD1\x91\x65\x51\x1B" | |
13657 | "\xE8\x0A\xCD\x99\x96\x71\x3D\xB6" | |
13658 | "\x78\x75\x37\x55\xC1\xF5\x90\x40" | |
13659 | "\x34\xF4\x7E\xC8\xCC\x3A\x5F\x6E" | |
13660 | "\x36\xA1\xA1\xC2\x3A\x72\x42\x8E" | |
13661 | "\x0E\x37\x88\xE8\xCE\x83\xCB\xAD" | |
13662 | "\xE0\x69\x77\x50\xC7\x0C\x99\xCA" | |
13663 | "\x19\x5B\x30\x25\x9A\xEF\x9B\x0C" | |
13664 | "\xEF\x8F\x74\x4C\xCF\x49\x4E\xB9" | |
13665 | "\xC5\xAE\x9E\x2E\x78\x9A\xB9\x48" | |
13666 | "\xD5\x81\xE4\x37\x1D\xBF\x27\xD9" | |
13667 | "\xC5\xD6\x65\x43\x45\x8C\xBB\xB6" | |
13668 | "\x55\xF4\x06\xBB\x49\x53\x8B\x1B" | |
13669 | "\x07\xA9\x96\x69\x5B\xCB\x0F\xBC" | |
13670 | "\x93\x85\x90\x0F\x0A\x68\x40\x2A" | |
13671 | "\x95\xED\x2D\x88\xBF\x71\xD0\xBB" | |
13672 | "\xEC\xB0\x77\x6C\x79\xFC\x3C\x05" | |
13673 | "\x49\x3F\xB8\x24\xEF\x8E\x09\xA2" | |
13674 | "\x1D\xEF\x92\x02\x96\xD4\x7F\xC8" | |
13675 | "\x03\xB2\xCA\xDB\x17\x5C\x52\xCF" | |
13676 | "\xDD\x70\x37\x63\xAA\xA5\x83\x20" | |
13677 | "\x52\x02\xF6\xB9\xE7\x6E\x0A\xB6" | |
13678 | "\x79\x03\xA0\xDA\xA3\x79\x21\xBD" | |
13679 | "\xE3\x37\x3A\xC0\xF7\x2C\x32\xBE" | |
13680 | "\x8B\xE8\xA6\x00\xC7\x32\xD5\x06" | |
13681 | "\xBB\xE3\xAB\x06\x21\x82\xB8\x32" | |
13682 | "\x31\x34\x2A\xA7\x1F\x64\x99\xBF" | |
13683 | "\xFA\xDA\x3D\x75\xF7\x48\xD5\x48" | |
13684 | "\x4B\x52\x7E\xF6\x7C\xAB\x67\x59" | |
13685 | "\xC5\xDC\xA8\xC6\x63\x85\x4A\xDF" | |
13686 | "\xF0\x40\x5F\xCF\xE3\x58\x52\x67" | |
13687 | "\x7A\x24\x32\xC5\xEC\x9E\xA9\x6F" | |
13688 | "\x58\x56\xDD\x94\x1F\x71\x8D\xF4" | |
13689 | "\x6E\xFF\x2C\xA7\xA5\xD8\xBA\xAF" | |
13690 | "\x1D\x8B\xA2\x46\xB5\xC4\x9F\x57" | |
13691 | "\x8D\xD8\xB3\x3C\x02\x0D\xBB\x84" | |
13692 | "\xC7\xBD\xB4\x9A\x6E\xBB\xB1\x37" | |
13693 | "\x95\x79\xC4\xA7\xEA\x1D\xDC\x33" | |
13694 | "\x5D\x0B\x3F\x03\x8F\x30\xF9\xAE" | |
13695 | "\x4F\xFE\x24\x9C\x9A\x02\xE5\x57" | |
13696 | "\xF5\xBC\x25\xD6\x02\x56\x57\x1C", | |
13697 | .rlen = 496, | |
da7f033d HX |
13698 | }, |
13699 | }; | |
13700 | ||
13701 | static struct cipher_testvec cast5_dec_tv_template[] = { | |
13702 | { | |
13703 | .key = "\x01\x23\x45\x67\x12\x34\x56\x78" | |
13704 | "\x23\x45\x67\x89\x34\x56\x78\x9a", | |
13705 | .klen = 16, | |
13706 | .input = "\x23\x8b\x4f\xe5\x84\x7e\x44\xb2", | |
13707 | .ilen = 8, | |
13708 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
13709 | .rlen = 8, | |
13710 | }, { | |
13711 | .key = "\x01\x23\x45\x67\x12\x34\x56\x78" | |
13712 | "\x23\x45", | |
13713 | .klen = 10, | |
13714 | .input = "\xeb\x6a\x71\x1a\x2c\x02\x27\x1b", | |
13715 | .ilen = 8, | |
13716 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
13717 | .rlen = 8, | |
13718 | }, { | |
13719 | .key = "\x01\x23\x45\x67\x12", | |
13720 | .klen = 5, | |
13721 | .input = "\x7a\xc8\x16\xd1\x6e\x9b\x30\x2e", | |
13722 | .ilen = 8, | |
13723 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
13724 | .rlen = 8, | |
a2c58260 JG |
13725 | }, { /* Generated from TF test vectors */ |
13726 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
13727 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A", | |
13728 | .klen = 16, | |
13729 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
13730 | .input = "\x8D\xFC\x81\x9C\xCB\xAA\x5A\x1C" | |
13731 | "\x7E\x95\xCF\x40\xAB\x4D\x6F\xEA" | |
13732 | "\xD3\xD9\xB0\x9A\xB7\xC7\xE0\x2E" | |
13733 | "\xD1\x39\x34\x92\x8F\xFA\x14\xF1" | |
13734 | "\xD5\xD2\x7B\x59\x1F\x35\x28\xC2" | |
13735 | "\x20\xD9\x42\x06\xC9\x0B\x10\x04" | |
13736 | "\xF8\x79\xCD\x32\x86\x75\x4C\xB6" | |
13737 | "\x7B\x1C\x52\xB1\x91\x64\x22\x4B" | |
13738 | "\x13\xC7\xAE\x98\x0E\xB5\xCF\x6F" | |
13739 | "\x3F\xF4\x43\x96\x73\x0D\xA2\x05" | |
13740 | "\xDB\xFD\x28\x90\x2C\x56\xB9\x37" | |
13741 | "\x5B\x69\x0C\xAD\x84\x67\xFF\x15" | |
13742 | "\x4A\xD4\xA7\xD3\xDD\x99\x47\x3A" | |
13743 | "\xED\x34\x35\x78\x6B\x91\xC9\x32" | |
13744 | "\xE1\xBF\xBC\xB4\x04\x85\x6A\x39" | |
13745 | "\xC0\xBA\x51\xD0\x0F\x4E\xD1\xE2" | |
13746 | "\x1C\xFD\x0E\x05\x07\xF4\x10\xED" | |
13747 | "\xA2\x17\xFF\xF5\x64\xC6\x1A\x22" | |
13748 | "\xAD\x78\xE7\xD7\x11\xE9\x99\xB9" | |
13749 | "\xAA\xEC\x6F\xF8\x3B\xBF\xCE\x77" | |
13750 | "\x93\xE8\xAD\x1D\x50\x6C\xAE\xBC" | |
13751 | "\xBA\x5C\x80\xD1\x91\x65\x51\x1B" | |
13752 | "\xE8\x0A\xCD\x99\x96\x71\x3D\xB6" | |
13753 | "\x78\x75\x37\x55\xC1\xF5\x90\x40" | |
13754 | "\x34\xF4\x7E\xC8\xCC\x3A\x5F\x6E" | |
13755 | "\x36\xA1\xA1\xC2\x3A\x72\x42\x8E" | |
13756 | "\x0E\x37\x88\xE8\xCE\x83\xCB\xAD" | |
13757 | "\xE0\x69\x77\x50\xC7\x0C\x99\xCA" | |
13758 | "\x19\x5B\x30\x25\x9A\xEF\x9B\x0C" | |
13759 | "\xEF\x8F\x74\x4C\xCF\x49\x4E\xB9" | |
13760 | "\xC5\xAE\x9E\x2E\x78\x9A\xB9\x48" | |
13761 | "\xD5\x81\xE4\x37\x1D\xBF\x27\xD9" | |
13762 | "\xC5\xD6\x65\x43\x45\x8C\xBB\xB6" | |
13763 | "\x55\xF4\x06\xBB\x49\x53\x8B\x1B" | |
13764 | "\x07\xA9\x96\x69\x5B\xCB\x0F\xBC" | |
13765 | "\x93\x85\x90\x0F\x0A\x68\x40\x2A" | |
13766 | "\x95\xED\x2D\x88\xBF\x71\xD0\xBB" | |
13767 | "\xEC\xB0\x77\x6C\x79\xFC\x3C\x05" | |
13768 | "\x49\x3F\xB8\x24\xEF\x8E\x09\xA2" | |
13769 | "\x1D\xEF\x92\x02\x96\xD4\x7F\xC8" | |
13770 | "\x03\xB2\xCA\xDB\x17\x5C\x52\xCF" | |
13771 | "\xDD\x70\x37\x63\xAA\xA5\x83\x20" | |
13772 | "\x52\x02\xF6\xB9\xE7\x6E\x0A\xB6" | |
13773 | "\x79\x03\xA0\xDA\xA3\x79\x21\xBD" | |
13774 | "\xE3\x37\x3A\xC0\xF7\x2C\x32\xBE" | |
13775 | "\x8B\xE8\xA6\x00\xC7\x32\xD5\x06" | |
13776 | "\xBB\xE3\xAB\x06\x21\x82\xB8\x32" | |
13777 | "\x31\x34\x2A\xA7\x1F\x64\x99\xBF" | |
13778 | "\xFA\xDA\x3D\x75\xF7\x48\xD5\x48" | |
13779 | "\x4B\x52\x7E\xF6\x7C\xAB\x67\x59" | |
13780 | "\xC5\xDC\xA8\xC6\x63\x85\x4A\xDF" | |
13781 | "\xF0\x40\x5F\xCF\xE3\x58\x52\x67" | |
13782 | "\x7A\x24\x32\xC5\xEC\x9E\xA9\x6F" | |
13783 | "\x58\x56\xDD\x94\x1F\x71\x8D\xF4" | |
13784 | "\x6E\xFF\x2C\xA7\xA5\xD8\xBA\xAF" | |
13785 | "\x1D\x8B\xA2\x46\xB5\xC4\x9F\x57" | |
13786 | "\x8D\xD8\xB3\x3C\x02\x0D\xBB\x84" | |
13787 | "\xC7\xBD\xB4\x9A\x6E\xBB\xB1\x37" | |
13788 | "\x95\x79\xC4\xA7\xEA\x1D\xDC\x33" | |
13789 | "\x5D\x0B\x3F\x03\x8F\x30\xF9\xAE" | |
13790 | "\x4F\xFE\x24\x9C\x9A\x02\xE5\x57" | |
13791 | "\xF5\xBC\x25\xD6\x02\x56\x57\x1C", | |
13792 | .ilen = 496, | |
13793 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
13794 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
13795 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
13796 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
13797 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
13798 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
13799 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
13800 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
13801 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
13802 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
13803 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
13804 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
13805 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
13806 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
13807 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
13808 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
13809 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
13810 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
13811 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
13812 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
13813 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
13814 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
13815 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
13816 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
13817 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
13818 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
13819 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
13820 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
13821 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
13822 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
13823 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
13824 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
13825 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
13826 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
13827 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
13828 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
13829 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
13830 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
13831 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
13832 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
13833 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
13834 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
13835 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
13836 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
13837 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
13838 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
13839 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
13840 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
13841 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
13842 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
13843 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
13844 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
13845 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
13846 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
13847 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
13848 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
13849 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
13850 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
13851 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
13852 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
13853 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
13854 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
13855 | .rlen = 496, | |
13856 | }, | |
13857 | }; | |
13858 | ||
13859 | static struct cipher_testvec cast5_cbc_enc_tv_template[] = { | |
13860 | { /* Generated from TF test vectors */ | |
13861 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
13862 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A", | |
13863 | .klen = 16, | |
13864 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
13865 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
13866 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
13867 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
13868 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
13869 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
13870 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
13871 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
13872 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
13873 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
13874 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
13875 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
13876 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
13877 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
13878 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
13879 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
13880 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
13881 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
13882 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
13883 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
13884 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
13885 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
13886 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
13887 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
13888 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
13889 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
13890 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
13891 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
13892 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
13893 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
13894 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
13895 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
13896 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
13897 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
13898 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
13899 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
13900 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
13901 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
13902 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
13903 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
13904 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
13905 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
13906 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
13907 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
13908 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
13909 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
13910 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
13911 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
13912 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
13913 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
13914 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
13915 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
13916 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
13917 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
13918 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
13919 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
13920 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
13921 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
13922 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
13923 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
13924 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
13925 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
13926 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
13927 | .ilen = 496, | |
13928 | .result = "\x05\x28\xCE\x61\x90\x80\xE1\x78" | |
13929 | "\xB9\x2A\x97\x7C\xB0\x83\xD8\x1A" | |
13930 | "\xDE\x58\x7F\xD7\xFD\x72\xB8\xFB" | |
13931 | "\xDA\xF0\x6E\x77\x14\x47\x82\xBA" | |
13932 | "\x29\x0E\x25\x6E\xB4\x39\xD9\x7F" | |
13933 | "\x05\xA7\xA7\x3A\xC1\x5D\x9E\x39" | |
13934 | "\xA7\xFB\x0D\x05\x00\xF3\x58\x67" | |
13935 | "\x60\xEC\x73\x77\x46\x85\x9B\x6A" | |
13936 | "\x08\x3E\xBE\x59\xFB\xE4\x96\x34" | |
13937 | "\xB4\x05\x49\x1A\x97\x43\xAD\xA0" | |
13938 | "\xA9\x1E\x6E\x74\xF1\x94\xEC\xA8" | |
13939 | "\xB5\x8A\x20\xEA\x89\x6B\x19\xAA" | |
13940 | "\xA7\xF1\x33\x67\x90\x23\x0D\xEE" | |
13941 | "\x81\xD5\x78\x4F\xD3\x63\xEA\x46" | |
13942 | "\xB5\xB2\x6E\xBB\xCA\x76\x06\x10" | |
13943 | "\x96\x2A\x0A\xBA\xF9\x41\x5A\x1D" | |
13944 | "\x36\x7C\x56\x14\x54\x83\xFA\xA1" | |
13945 | "\x27\xDD\xBA\x8A\x90\x29\xD6\xA6" | |
13946 | "\xFA\x48\x3E\x1E\x23\x6E\x98\xA8" | |
13947 | "\xA7\xD9\x67\x92\x5C\x13\xB4\x71" | |
13948 | "\xA8\xAA\x89\x4A\xA4\xB3\x49\x7C" | |
13949 | "\x7D\x7F\xCE\x6F\x29\x2E\x7E\x37" | |
13950 | "\xC8\x52\x60\xD9\xE7\xCA\x60\x98" | |
13951 | "\xED\xCD\xE8\x60\x83\xAD\x34\x4D" | |
13952 | "\x96\x4A\x99\x2B\xB7\x14\x75\x66" | |
13953 | "\x6C\x2C\x1A\xBA\x4B\xBB\x49\x56" | |
13954 | "\xE1\x86\xA2\x0E\xD0\xF0\x07\xD3" | |
13955 | "\x18\x38\x09\x9C\x0E\x8B\x86\x07" | |
13956 | "\x90\x12\x37\x49\x27\x98\x69\x18" | |
13957 | "\xB0\xCC\xFB\xD3\xBD\x04\xA0\x85" | |
13958 | "\x4B\x22\x97\x07\xB6\x97\xE9\x95" | |
13959 | "\x0F\x88\x36\xA9\x44\x00\xC6\xE9" | |
13960 | "\x27\x53\x5C\x5B\x1F\xD3\xE2\xEE" | |
13961 | "\xD0\xCD\x63\x30\xA9\xC0\xDD\x49" | |
13962 | "\xFE\x16\xA4\x07\x0D\xE2\x5D\x97" | |
13963 | "\xDE\x89\xBA\x2E\xF3\xA9\x5E\xBE" | |
13964 | "\x03\x55\x0E\x02\x41\x4A\x45\x06" | |
13965 | "\xBE\xEA\x32\xF2\xDC\x91\x5C\x20" | |
13966 | "\x94\x02\x30\xD2\xFC\x29\xFA\x8E" | |
13967 | "\x34\xA0\x31\xB8\x34\xBA\xAE\x54" | |
13968 | "\xB5\x88\x1F\xDC\x43\xDC\x22\x9F" | |
13969 | "\xDC\xCE\xD3\xFA\xA4\xA8\xBC\x8A" | |
13970 | "\xC7\x5A\x43\x21\xA5\xB1\xDB\xC3" | |
13971 | "\x84\x3B\xB4\x9B\xB5\xA7\xF1\x0A" | |
13972 | "\xB6\x37\x21\x19\x55\xC2\xBD\x99" | |
13973 | "\x49\x24\xBB\x7C\xB3\x8E\xEF\xD2" | |
13974 | "\x3A\xCF\xA0\x31\x28\x0E\x25\xA2" | |
13975 | "\x11\xB4\x18\x17\x1A\x65\x92\x56" | |
13976 | "\xE8\xE0\x52\x9C\x61\x18\x2A\xB1" | |
13977 | "\x1A\x01\x22\x45\x17\x62\x52\x6C" | |
13978 | "\x91\x44\xCF\x98\xC7\xC0\x79\x26" | |
13979 | "\x32\x66\x6F\x23\x7F\x94\x36\x88" | |
13980 | "\x3C\xC9\xD0\xB7\x45\x30\x31\x86" | |
13981 | "\x3D\xC6\xA3\x98\x62\x84\x1A\x8B" | |
13982 | "\x16\x88\xC7\xA3\xE9\x4F\xE0\x86" | |
13983 | "\xA4\x93\xA8\x34\x5A\xCA\xDF\xCA" | |
13984 | "\x46\x38\xD2\xF4\xE0\x2D\x1E\xC9" | |
13985 | "\x7C\xEF\x53\xB7\x60\x72\x41\xBF" | |
13986 | "\x29\x00\x87\x02\xAF\x44\x4C\xB7" | |
13987 | "\x8C\xF5\x3F\x19\xF4\x80\x45\xA7" | |
13988 | "\x15\x5F\xDB\xE9\xB1\x83\xD2\xE6" | |
13989 | "\x1D\x18\x66\x44\x5B\x8F\x14\xEB", | |
13990 | .rlen = 496, | |
13991 | }, | |
13992 | }; | |
13993 | ||
13994 | static struct cipher_testvec cast5_cbc_dec_tv_template[] = { | |
13995 | { /* Generated from TF test vectors */ | |
13996 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
13997 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A", | |
13998 | .klen = 16, | |
13999 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
14000 | .input = "\x05\x28\xCE\x61\x90\x80\xE1\x78" | |
14001 | "\xB9\x2A\x97\x7C\xB0\x83\xD8\x1A" | |
14002 | "\xDE\x58\x7F\xD7\xFD\x72\xB8\xFB" | |
14003 | "\xDA\xF0\x6E\x77\x14\x47\x82\xBA" | |
14004 | "\x29\x0E\x25\x6E\xB4\x39\xD9\x7F" | |
14005 | "\x05\xA7\xA7\x3A\xC1\x5D\x9E\x39" | |
14006 | "\xA7\xFB\x0D\x05\x00\xF3\x58\x67" | |
14007 | "\x60\xEC\x73\x77\x46\x85\x9B\x6A" | |
14008 | "\x08\x3E\xBE\x59\xFB\xE4\x96\x34" | |
14009 | "\xB4\x05\x49\x1A\x97\x43\xAD\xA0" | |
14010 | "\xA9\x1E\x6E\x74\xF1\x94\xEC\xA8" | |
14011 | "\xB5\x8A\x20\xEA\x89\x6B\x19\xAA" | |
14012 | "\xA7\xF1\x33\x67\x90\x23\x0D\xEE" | |
14013 | "\x81\xD5\x78\x4F\xD3\x63\xEA\x46" | |
14014 | "\xB5\xB2\x6E\xBB\xCA\x76\x06\x10" | |
14015 | "\x96\x2A\x0A\xBA\xF9\x41\x5A\x1D" | |
14016 | "\x36\x7C\x56\x14\x54\x83\xFA\xA1" | |
14017 | "\x27\xDD\xBA\x8A\x90\x29\xD6\xA6" | |
14018 | "\xFA\x48\x3E\x1E\x23\x6E\x98\xA8" | |
14019 | "\xA7\xD9\x67\x92\x5C\x13\xB4\x71" | |
14020 | "\xA8\xAA\x89\x4A\xA4\xB3\x49\x7C" | |
14021 | "\x7D\x7F\xCE\x6F\x29\x2E\x7E\x37" | |
14022 | "\xC8\x52\x60\xD9\xE7\xCA\x60\x98" | |
14023 | "\xED\xCD\xE8\x60\x83\xAD\x34\x4D" | |
14024 | "\x96\x4A\x99\x2B\xB7\x14\x75\x66" | |
14025 | "\x6C\x2C\x1A\xBA\x4B\xBB\x49\x56" | |
14026 | "\xE1\x86\xA2\x0E\xD0\xF0\x07\xD3" | |
14027 | "\x18\x38\x09\x9C\x0E\x8B\x86\x07" | |
14028 | "\x90\x12\x37\x49\x27\x98\x69\x18" | |
14029 | "\xB0\xCC\xFB\xD3\xBD\x04\xA0\x85" | |
14030 | "\x4B\x22\x97\x07\xB6\x97\xE9\x95" | |
14031 | "\x0F\x88\x36\xA9\x44\x00\xC6\xE9" | |
14032 | "\x27\x53\x5C\x5B\x1F\xD3\xE2\xEE" | |
14033 | "\xD0\xCD\x63\x30\xA9\xC0\xDD\x49" | |
14034 | "\xFE\x16\xA4\x07\x0D\xE2\x5D\x97" | |
14035 | "\xDE\x89\xBA\x2E\xF3\xA9\x5E\xBE" | |
14036 | "\x03\x55\x0E\x02\x41\x4A\x45\x06" | |
14037 | "\xBE\xEA\x32\xF2\xDC\x91\x5C\x20" | |
14038 | "\x94\x02\x30\xD2\xFC\x29\xFA\x8E" | |
14039 | "\x34\xA0\x31\xB8\x34\xBA\xAE\x54" | |
14040 | "\xB5\x88\x1F\xDC\x43\xDC\x22\x9F" | |
14041 | "\xDC\xCE\xD3\xFA\xA4\xA8\xBC\x8A" | |
14042 | "\xC7\x5A\x43\x21\xA5\xB1\xDB\xC3" | |
14043 | "\x84\x3B\xB4\x9B\xB5\xA7\xF1\x0A" | |
14044 | "\xB6\x37\x21\x19\x55\xC2\xBD\x99" | |
14045 | "\x49\x24\xBB\x7C\xB3\x8E\xEF\xD2" | |
14046 | "\x3A\xCF\xA0\x31\x28\x0E\x25\xA2" | |
14047 | "\x11\xB4\x18\x17\x1A\x65\x92\x56" | |
14048 | "\xE8\xE0\x52\x9C\x61\x18\x2A\xB1" | |
14049 | "\x1A\x01\x22\x45\x17\x62\x52\x6C" | |
14050 | "\x91\x44\xCF\x98\xC7\xC0\x79\x26" | |
14051 | "\x32\x66\x6F\x23\x7F\x94\x36\x88" | |
14052 | "\x3C\xC9\xD0\xB7\x45\x30\x31\x86" | |
14053 | "\x3D\xC6\xA3\x98\x62\x84\x1A\x8B" | |
14054 | "\x16\x88\xC7\xA3\xE9\x4F\xE0\x86" | |
14055 | "\xA4\x93\xA8\x34\x5A\xCA\xDF\xCA" | |
14056 | "\x46\x38\xD2\xF4\xE0\x2D\x1E\xC9" | |
14057 | "\x7C\xEF\x53\xB7\x60\x72\x41\xBF" | |
14058 | "\x29\x00\x87\x02\xAF\x44\x4C\xB7" | |
14059 | "\x8C\xF5\x3F\x19\xF4\x80\x45\xA7" | |
14060 | "\x15\x5F\xDB\xE9\xB1\x83\xD2\xE6" | |
14061 | "\x1D\x18\x66\x44\x5B\x8F\x14\xEB", | |
14062 | .ilen = 496, | |
14063 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
14064 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
14065 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
14066 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
14067 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
14068 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
14069 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
14070 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
14071 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
14072 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
14073 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
14074 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
14075 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
14076 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
14077 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
14078 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
14079 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
14080 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
14081 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
14082 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
14083 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
14084 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
14085 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
14086 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
14087 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
14088 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
14089 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
14090 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
14091 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
14092 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
14093 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
14094 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
14095 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
14096 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
14097 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
14098 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
14099 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
14100 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
14101 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
14102 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
14103 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
14104 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
14105 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
14106 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
14107 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
14108 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
14109 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
14110 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
14111 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
14112 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
14113 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
14114 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
14115 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
14116 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
14117 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
14118 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
14119 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
14120 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
14121 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
14122 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
14123 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
14124 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
14125 | .rlen = 496, | |
14126 | }, | |
14127 | }; | |
14128 | ||
14129 | static struct cipher_testvec cast5_ctr_enc_tv_template[] = { | |
14130 | { /* Generated from TF test vectors */ | |
14131 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
14132 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A", | |
14133 | .klen = 16, | |
14134 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
14135 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
14136 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
14137 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
14138 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
14139 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
14140 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
14141 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
14142 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
14143 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
14144 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
14145 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
14146 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
14147 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
14148 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
14149 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
14150 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
14151 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
14152 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
14153 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
14154 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
14155 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
14156 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
14157 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
14158 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
14159 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
14160 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
14161 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
14162 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
14163 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
14164 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
14165 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
14166 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
14167 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
14168 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
14169 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
14170 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
14171 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
14172 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
14173 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
14174 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
14175 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
14176 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
14177 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
14178 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
14179 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
14180 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
14181 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
14182 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
14183 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
14184 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
14185 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
14186 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
14187 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
14188 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
14189 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
14190 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
14191 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
14192 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
14193 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
14194 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
14195 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
14196 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
14197 | .ilen = 496, | |
14198 | .result = "\xFF\xC4\x2E\x82\x3D\xF8\xA8\x39" | |
14199 | "\x7C\x52\xC4\xD3\xBB\x62\xC6\xA8" | |
14200 | "\x0C\x63\xA5\x55\xE3\xF8\x1C\x7F" | |
14201 | "\xDC\x59\xF9\xA0\x52\xAD\x83\xDF" | |
14202 | "\xD5\x3B\x53\x4A\xAA\x1F\x49\x44" | |
14203 | "\xE8\x20\xCC\xF8\x97\xE6\xE0\x3C" | |
14204 | "\x5A\xD2\x83\xEC\xEE\x25\x3F\xCF" | |
14205 | "\x0D\xC2\x79\x80\x99\x6E\xFF\x7B" | |
14206 | "\x64\xB0\x7B\x86\x29\x1D\x9F\x17" | |
14207 | "\x10\xA5\xA5\xEB\x16\x55\x9E\xE3" | |
14208 | "\x88\x18\x52\x56\x48\x58\xD1\x6B" | |
14209 | "\xE8\x74\x6E\x48\xB0\x2E\x69\x63" | |
14210 | "\x32\xAA\xAC\x26\x55\x45\x94\xDE" | |
14211 | "\x30\x26\x26\xE6\x08\x82\x2F\x5F" | |
14212 | "\xA7\x15\x94\x07\x75\x2D\xC6\x3A" | |
14213 | "\x1B\xA0\x39\xFB\xBA\xB9\x06\x56" | |
14214 | "\xF6\x9F\xF1\x2F\x9B\xF3\x89\x8B" | |
14215 | "\x08\xC8\x9D\x5E\x6B\x95\x09\xC7" | |
14216 | "\x98\xB7\x62\xA4\x1D\x25\xFA\xC5" | |
14217 | "\x62\xC8\x5D\x6B\xB4\x85\x88\x7F" | |
14218 | "\x3B\x29\xF9\xB4\x32\x62\x69\xBF" | |
14219 | "\x32\xB8\xEB\xFD\x0E\x26\xAA\xA3" | |
14220 | "\x44\x67\x90\x20\xAC\x41\xDF\x43" | |
14221 | "\xC6\xC7\x19\x9F\x2C\x28\x74\xEB" | |
14222 | "\x3E\x7F\x7A\x80\x5B\xE4\x08\x60" | |
14223 | "\xC7\xC9\x71\x34\x44\xCE\x05\xFD" | |
14224 | "\xA8\x91\xA8\x44\x5E\xD3\x89\x2C" | |
14225 | "\xAE\x59\x0F\x07\x88\x79\x53\x26" | |
14226 | "\xAF\xAC\xCB\x1D\x6F\x08\x25\x62" | |
14227 | "\xD0\x82\x65\x66\xE4\x2A\x29\x1C" | |
14228 | "\x9C\x64\x5F\x49\x9D\xF8\x62\xF9" | |
14229 | "\xED\xC4\x13\x52\x75\xDC\xE4\xF9" | |
14230 | "\x68\x0F\x8A\xCD\xA6\x8D\x75\xAA" | |
14231 | "\x49\xA1\x86\x86\x37\x5C\x6B\x3D" | |
14232 | "\x56\xE5\x6F\xBE\x27\xC0\x10\xF8" | |
14233 | "\x3C\x4D\x17\x35\x14\xDC\x1C\xA0" | |
14234 | "\x6E\xAE\xD1\x10\xDD\x83\x06\xC2" | |
14235 | "\x23\xD3\xC7\x27\x15\x04\x2C\x27" | |
14236 | "\xDD\x1F\x2E\x97\x09\x9C\x33\x7D" | |
14237 | "\xAC\x50\x1B\x2E\xC9\x52\x0C\x14" | |
14238 | "\x4B\x78\xC4\xDE\x07\x6A\x12\x02" | |
14239 | "\x6E\xD7\x4B\x91\xB9\x88\x4D\x02" | |
14240 | "\xC3\xB5\x04\xBC\xE0\x67\xCA\x18" | |
14241 | "\x22\xA1\xAE\x9A\x21\xEF\xB2\x06" | |
14242 | "\x35\xCD\xEC\x37\x70\x2D\xFC\x1E" | |
14243 | "\xA8\x31\xE7\xFC\xE5\x8E\x88\x66" | |
14244 | "\x16\xB5\xC8\x45\x21\x37\xBD\x24" | |
14245 | "\xA9\xD5\x36\x12\x9F\x6E\x67\x80" | |
14246 | "\x87\x54\xD5\xAF\x97\xE1\x15\xA7" | |
14247 | "\x11\xF0\x63\x7B\xE1\x44\x14\x1C" | |
14248 | "\x06\x32\x05\x8C\x6C\xDB\x9B\x36" | |
14249 | "\x6A\x6B\xAD\x3A\x27\x55\x20\x4C" | |
14250 | "\x76\x36\x43\xE8\x16\x60\xB5\xF3" | |
14251 | "\xDF\x5A\xC6\xA5\x69\x78\x59\x51" | |
14252 | "\x54\x68\x65\x06\x84\xDE\x3D\xAE" | |
14253 | "\x38\x91\xBD\xCC\xA2\x8A\xEC\xE6" | |
14254 | "\x9E\x83\xAE\x1E\x8E\x34\x5D\xDE" | |
14255 | "\x91\xCE\x8F\xED\x40\xF7\xC8\x8B" | |
14256 | "\x9A\x13\x4C\xAD\x89\x97\x9E\xD1" | |
14257 | "\x91\x01\xD7\x21\x23\x28\x1E\xCC" | |
14258 | "\x8C\x98\xDB\xDE\xFC\x72\x94\xAA" | |
14259 | "\xC0\x0D\x96\xAA\x23\xF8\xFE\x13", | |
14260 | .rlen = 496, | |
14261 | }, | |
14262 | }; | |
14263 | ||
14264 | static struct cipher_testvec cast5_ctr_dec_tv_template[] = { | |
14265 | { /* Generated from TF test vectors */ | |
14266 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
14267 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A", | |
14268 | .klen = 16, | |
14269 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F", | |
14270 | .input = "\xFF\xC4\x2E\x82\x3D\xF8\xA8\x39" | |
14271 | "\x7C\x52\xC4\xD3\xBB\x62\xC6\xA8" | |
14272 | "\x0C\x63\xA5\x55\xE3\xF8\x1C\x7F" | |
14273 | "\xDC\x59\xF9\xA0\x52\xAD\x83\xDF" | |
14274 | "\xD5\x3B\x53\x4A\xAA\x1F\x49\x44" | |
14275 | "\xE8\x20\xCC\xF8\x97\xE6\xE0\x3C" | |
14276 | "\x5A\xD2\x83\xEC\xEE\x25\x3F\xCF" | |
14277 | "\x0D\xC2\x79\x80\x99\x6E\xFF\x7B" | |
14278 | "\x64\xB0\x7B\x86\x29\x1D\x9F\x17" | |
14279 | "\x10\xA5\xA5\xEB\x16\x55\x9E\xE3" | |
14280 | "\x88\x18\x52\x56\x48\x58\xD1\x6B" | |
14281 | "\xE8\x74\x6E\x48\xB0\x2E\x69\x63" | |
14282 | "\x32\xAA\xAC\x26\x55\x45\x94\xDE" | |
14283 | "\x30\x26\x26\xE6\x08\x82\x2F\x5F" | |
14284 | "\xA7\x15\x94\x07\x75\x2D\xC6\x3A" | |
14285 | "\x1B\xA0\x39\xFB\xBA\xB9\x06\x56" | |
14286 | "\xF6\x9F\xF1\x2F\x9B\xF3\x89\x8B" | |
14287 | "\x08\xC8\x9D\x5E\x6B\x95\x09\xC7" | |
14288 | "\x98\xB7\x62\xA4\x1D\x25\xFA\xC5" | |
14289 | "\x62\xC8\x5D\x6B\xB4\x85\x88\x7F" | |
14290 | "\x3B\x29\xF9\xB4\x32\x62\x69\xBF" | |
14291 | "\x32\xB8\xEB\xFD\x0E\x26\xAA\xA3" | |
14292 | "\x44\x67\x90\x20\xAC\x41\xDF\x43" | |
14293 | "\xC6\xC7\x19\x9F\x2C\x28\x74\xEB" | |
14294 | "\x3E\x7F\x7A\x80\x5B\xE4\x08\x60" | |
14295 | "\xC7\xC9\x71\x34\x44\xCE\x05\xFD" | |
14296 | "\xA8\x91\xA8\x44\x5E\xD3\x89\x2C" | |
14297 | "\xAE\x59\x0F\x07\x88\x79\x53\x26" | |
14298 | "\xAF\xAC\xCB\x1D\x6F\x08\x25\x62" | |
14299 | "\xD0\x82\x65\x66\xE4\x2A\x29\x1C" | |
14300 | "\x9C\x64\x5F\x49\x9D\xF8\x62\xF9" | |
14301 | "\xED\xC4\x13\x52\x75\xDC\xE4\xF9" | |
14302 | "\x68\x0F\x8A\xCD\xA6\x8D\x75\xAA" | |
14303 | "\x49\xA1\x86\x86\x37\x5C\x6B\x3D" | |
14304 | "\x56\xE5\x6F\xBE\x27\xC0\x10\xF8" | |
14305 | "\x3C\x4D\x17\x35\x14\xDC\x1C\xA0" | |
14306 | "\x6E\xAE\xD1\x10\xDD\x83\x06\xC2" | |
14307 | "\x23\xD3\xC7\x27\x15\x04\x2C\x27" | |
14308 | "\xDD\x1F\x2E\x97\x09\x9C\x33\x7D" | |
14309 | "\xAC\x50\x1B\x2E\xC9\x52\x0C\x14" | |
14310 | "\x4B\x78\xC4\xDE\x07\x6A\x12\x02" | |
14311 | "\x6E\xD7\x4B\x91\xB9\x88\x4D\x02" | |
14312 | "\xC3\xB5\x04\xBC\xE0\x67\xCA\x18" | |
14313 | "\x22\xA1\xAE\x9A\x21\xEF\xB2\x06" | |
14314 | "\x35\xCD\xEC\x37\x70\x2D\xFC\x1E" | |
14315 | "\xA8\x31\xE7\xFC\xE5\x8E\x88\x66" | |
14316 | "\x16\xB5\xC8\x45\x21\x37\xBD\x24" | |
14317 | "\xA9\xD5\x36\x12\x9F\x6E\x67\x80" | |
14318 | "\x87\x54\xD5\xAF\x97\xE1\x15\xA7" | |
14319 | "\x11\xF0\x63\x7B\xE1\x44\x14\x1C" | |
14320 | "\x06\x32\x05\x8C\x6C\xDB\x9B\x36" | |
14321 | "\x6A\x6B\xAD\x3A\x27\x55\x20\x4C" | |
14322 | "\x76\x36\x43\xE8\x16\x60\xB5\xF3" | |
14323 | "\xDF\x5A\xC6\xA5\x69\x78\x59\x51" | |
14324 | "\x54\x68\x65\x06\x84\xDE\x3D\xAE" | |
14325 | "\x38\x91\xBD\xCC\xA2\x8A\xEC\xE6" | |
14326 | "\x9E\x83\xAE\x1E\x8E\x34\x5D\xDE" | |
14327 | "\x91\xCE\x8F\xED\x40\xF7\xC8\x8B" | |
14328 | "\x9A\x13\x4C\xAD\x89\x97\x9E\xD1" | |
14329 | "\x91\x01\xD7\x21\x23\x28\x1E\xCC" | |
14330 | "\x8C\x98\xDB\xDE\xFC\x72\x94\xAA" | |
14331 | "\xC0\x0D\x96\xAA\x23\xF8\xFE\x13", | |
14332 | .ilen = 496, | |
14333 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
14334 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
14335 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
14336 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
14337 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
14338 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
14339 | "\xDF\x76\x0D\x81\x18\xAF\x23\xBA" | |
14340 | "\x51\xE8\x5C\xF3\x8A\x21\x95\x2C" | |
14341 | "\xC3\x37\xCE\x65\xFC\x70\x07\x9E" | |
14342 | "\x12\xA9\x40\xD7\x4B\xE2\x79\x10" | |
14343 | "\x84\x1B\xB2\x26\xBD\x54\xEB\x5F" | |
14344 | "\xF6\x8D\x01\x98\x2F\xC6\x3A\xD1" | |
14345 | "\x68\xFF\x73\x0A\xA1\x15\xAC\x43" | |
14346 | "\xDA\x4E\xE5\x7C\x13\x87\x1E\xB5" | |
14347 | "\x29\xC0\x57\xEE\x62\xF9\x90\x04" | |
14348 | "\x9B\x32\xC9\x3D\xD4\x6B\x02\x76" | |
14349 | "\x0D\xA4\x18\xAF\x46\xDD\x51\xE8" | |
14350 | "\x7F\x16\x8A\x21\xB8\x2C\xC3\x5A" | |
14351 | "\xF1\x65\xFC\x93\x07\x9E\x35\xCC" | |
14352 | "\x40\xD7\x6E\x05\x79\x10\xA7\x1B" | |
14353 | "\xB2\x49\xE0\x54\xEB\x82\x19\x8D" | |
14354 | "\x24\xBB\x2F\xC6\x5D\xF4\x68\xFF" | |
14355 | "\x96\x0A\xA1\x38\xCF\x43\xDA\x71" | |
14356 | "\x08\x7C\x13\xAA\x1E\xB5\x4C\xE3" | |
14357 | "\x57\xEE\x85\x1C\x90\x27\xBE\x32" | |
14358 | "\xC9\x60\xF7\x6B\x02\x99\x0D\xA4" | |
14359 | "\x3B\xD2\x46\xDD\x74\x0B\x7F\x16" | |
14360 | "\xAD\x21\xB8\x4F\xE6\x5A\xF1\x88" | |
14361 | "\x1F\x93\x2A\xC1\x35\xCC\x63\xFA" | |
14362 | "\x6E\x05\x9C\x10\xA7\x3E\xD5\x49" | |
14363 | "\xE0\x77\x0E\x82\x19\xB0\x24\xBB" | |
14364 | "\x52\xE9\x5D\xF4\x8B\x22\x96\x2D" | |
14365 | "\xC4\x38\xCF\x66\xFD\x71\x08\x9F" | |
14366 | "\x13\xAA\x41\xD8\x4C\xE3\x7A\x11" | |
14367 | "\x85\x1C\xB3\x27\xBE\x55\xEC\x60" | |
14368 | "\xF7\x8E\x02\x99\x30\xC7\x3B\xD2" | |
14369 | "\x69\x00\x74\x0B\xA2\x16\xAD\x44" | |
14370 | "\xDB\x4F\xE6\x7D\x14\x88\x1F\xB6" | |
14371 | "\x2A\xC1\x58\xEF\x63\xFA\x91\x05" | |
14372 | "\x9C\x33\xCA\x3E\xD5\x6C\x03\x77" | |
14373 | "\x0E\xA5\x19\xB0\x47\xDE\x52\xE9" | |
14374 | "\x80\x17\x8B\x22\xB9\x2D\xC4\x5B" | |
14375 | "\xF2\x66\xFD\x94\x08\x9F\x36\xCD" | |
14376 | "\x41\xD8\x6F\x06\x7A\x11\xA8\x1C" | |
14377 | "\xB3\x4A\xE1\x55\xEC\x83\x1A\x8E" | |
14378 | "\x25\xBC\x30\xC7\x5E\xF5\x69\x00" | |
14379 | "\x97\x0B\xA2\x39\xD0\x44\xDB\x72" | |
14380 | "\x09\x7D\x14\xAB\x1F\xB6\x4D\xE4" | |
14381 | "\x58\xEF\x86\x1D\x91\x28\xBF\x33" | |
14382 | "\xCA\x61\xF8\x6C\x03\x9A\x0E\xA5" | |
14383 | "\x3C\xD3\x47\xDE\x75\x0C\x80\x17" | |
14384 | "\xAE\x22\xB9\x50\xE7\x5B\xF2\x89" | |
14385 | "\x20\x94\x2B\xC2\x36\xCD\x64\xFB" | |
14386 | "\x6F\x06\x9D\x11\xA8\x3F\xD6\x4A" | |
14387 | "\xE1\x78\x0F\x83\x1A\xB1\x25\xBC" | |
14388 | "\x53\xEA\x5E\xF5\x8C\x00\x97\x2E" | |
14389 | "\xC5\x39\xD0\x67\xFE\x72\x09\xA0" | |
14390 | "\x14\xAB\x42\xD9\x4D\xE4\x7B\x12" | |
14391 | "\x86\x1D\xB4\x28\xBF\x56\xED\x61" | |
14392 | "\xF8\x8F\x03\x9A\x31\xC8\x3C\xD3" | |
14393 | "\x6A\x01\x75\x0C\xA3\x17\xAE\x45" | |
14394 | "\xDC\x50\xE7\x7E\x15\x89\x20\xB7", | |
14395 | .rlen = 496, | |
da7f033d HX |
14396 | }, |
14397 | }; | |
14398 | ||
14399 | /* | |
14400 | * ARC4 test vectors from OpenSSL | |
14401 | */ | |
14402 | #define ARC4_ENC_TEST_VECTORS 7 | |
14403 | #define ARC4_DEC_TEST_VECTORS 7 | |
14404 | ||
14405 | static struct cipher_testvec arc4_enc_tv_template[] = { | |
14406 | { | |
14407 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
14408 | .klen = 8, | |
14409 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
14410 | .ilen = 8, | |
14411 | .result = "\x75\xb7\x87\x80\x99\xe0\xc5\x96", | |
14412 | .rlen = 8, | |
14413 | }, { | |
14414 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
14415 | .klen = 8, | |
14416 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14417 | .ilen = 8, | |
14418 | .result = "\x74\x94\xc2\xe7\x10\x4b\x08\x79", | |
14419 | .rlen = 8, | |
14420 | }, { | |
14421 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14422 | .klen = 8, | |
14423 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14424 | .ilen = 8, | |
14425 | .result = "\xde\x18\x89\x41\xa3\x37\x5d\x3a", | |
14426 | .rlen = 8, | |
14427 | }, { | |
14428 | .key = "\xef\x01\x23\x45", | |
14429 | .klen = 4, | |
14430 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
14431 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
14432 | "\x00\x00\x00\x00", | |
14433 | .ilen = 20, | |
14434 | .result = "\xd6\xa1\x41\xa7\xec\x3c\x38\xdf" | |
14435 | "\xbd\x61\x5a\x11\x62\xe1\xc7\xba" | |
14436 | "\x36\xb6\x78\x58", | |
14437 | .rlen = 20, | |
14438 | }, { | |
14439 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
14440 | .klen = 8, | |
14441 | .input = "\x12\x34\x56\x78\x9A\xBC\xDE\xF0" | |
14442 | "\x12\x34\x56\x78\x9A\xBC\xDE\xF0" | |
14443 | "\x12\x34\x56\x78\x9A\xBC\xDE\xF0" | |
14444 | "\x12\x34\x56\x78", | |
14445 | .ilen = 28, | |
14446 | .result = "\x66\xa0\x94\x9f\x8a\xf7\xd6\x89" | |
14447 | "\x1f\x7f\x83\x2b\xa8\x33\xc0\x0c" | |
14448 | "\x89\x2e\xbe\x30\x14\x3c\xe2\x87" | |
14449 | "\x40\x01\x1e\xcf", | |
14450 | .rlen = 28, | |
14451 | }, { | |
14452 | .key = "\xef\x01\x23\x45", | |
14453 | .klen = 4, | |
14454 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
14455 | "\x00\x00", | |
14456 | .ilen = 10, | |
14457 | .result = "\xd6\xa1\x41\xa7\xec\x3c\x38\xdf" | |
14458 | "\xbd\x61", | |
14459 | .rlen = 10, | |
14460 | }, { | |
14461 | .key = "\x01\x23\x45\x67\x89\xAB\xCD\xEF" | |
14462 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14463 | .klen = 16, | |
14464 | .input = "\x01\x23\x45\x67\x89\xAB\xCD\xEF", | |
14465 | .ilen = 8, | |
14466 | .result = "\x69\x72\x36\x59\x1B\x52\x42\xB1", | |
14467 | .rlen = 8, | |
14468 | }, | |
14469 | }; | |
14470 | ||
14471 | static struct cipher_testvec arc4_dec_tv_template[] = { | |
14472 | { | |
14473 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
14474 | .klen = 8, | |
14475 | .input = "\x75\xb7\x87\x80\x99\xe0\xc5\x96", | |
14476 | .ilen = 8, | |
14477 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
14478 | .rlen = 8, | |
14479 | }, { | |
14480 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
14481 | .klen = 8, | |
14482 | .input = "\x74\x94\xc2\xe7\x10\x4b\x08\x79", | |
14483 | .ilen = 8, | |
14484 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14485 | .rlen = 8, | |
14486 | }, { | |
14487 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14488 | .klen = 8, | |
14489 | .input = "\xde\x18\x89\x41\xa3\x37\x5d\x3a", | |
14490 | .ilen = 8, | |
14491 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14492 | .rlen = 8, | |
14493 | }, { | |
14494 | .key = "\xef\x01\x23\x45", | |
14495 | .klen = 4, | |
14496 | .input = "\xd6\xa1\x41\xa7\xec\x3c\x38\xdf" | |
14497 | "\xbd\x61\x5a\x11\x62\xe1\xc7\xba" | |
14498 | "\x36\xb6\x78\x58", | |
14499 | .ilen = 20, | |
14500 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
14501 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
14502 | "\x00\x00\x00\x00", | |
14503 | .rlen = 20, | |
14504 | }, { | |
14505 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef", | |
14506 | .klen = 8, | |
14507 | .input = "\x66\xa0\x94\x9f\x8a\xf7\xd6\x89" | |
14508 | "\x1f\x7f\x83\x2b\xa8\x33\xc0\x0c" | |
14509 | "\x89\x2e\xbe\x30\x14\x3c\xe2\x87" | |
14510 | "\x40\x01\x1e\xcf", | |
14511 | .ilen = 28, | |
14512 | .result = "\x12\x34\x56\x78\x9A\xBC\xDE\xF0" | |
14513 | "\x12\x34\x56\x78\x9A\xBC\xDE\xF0" | |
14514 | "\x12\x34\x56\x78\x9A\xBC\xDE\xF0" | |
14515 | "\x12\x34\x56\x78", | |
14516 | .rlen = 28, | |
14517 | }, { | |
14518 | .key = "\xef\x01\x23\x45", | |
14519 | .klen = 4, | |
14520 | .input = "\xd6\xa1\x41\xa7\xec\x3c\x38\xdf" | |
14521 | "\xbd\x61", | |
14522 | .ilen = 10, | |
14523 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
14524 | "\x00\x00", | |
14525 | .rlen = 10, | |
14526 | }, { | |
14527 | .key = "\x01\x23\x45\x67\x89\xAB\xCD\xEF" | |
14528 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14529 | .klen = 16, | |
14530 | .input = "\x69\x72\x36\x59\x1B\x52\x42\xB1", | |
14531 | .ilen = 8, | |
14532 | .result = "\x01\x23\x45\x67\x89\xAB\xCD\xEF", | |
14533 | .rlen = 8, | |
14534 | }, | |
14535 | }; | |
14536 | ||
14537 | /* | |
14538 | * TEA test vectors | |
14539 | */ | |
14540 | #define TEA_ENC_TEST_VECTORS 4 | |
14541 | #define TEA_DEC_TEST_VECTORS 4 | |
14542 | ||
14543 | static struct cipher_testvec tea_enc_tv_template[] = { | |
14544 | { | |
14545 | .key = zeroed_string, | |
14546 | .klen = 16, | |
14547 | .input = zeroed_string, | |
14548 | .ilen = 8, | |
14549 | .result = "\x0a\x3a\xea\x41\x40\xa9\xba\x94", | |
14550 | .rlen = 8, | |
14551 | }, { | |
14552 | .key = "\x2b\x02\x05\x68\x06\x14\x49\x76" | |
14553 | "\x77\x5d\x0e\x26\x6c\x28\x78\x43", | |
14554 | .klen = 16, | |
14555 | .input = "\x74\x65\x73\x74\x20\x6d\x65\x2e", | |
14556 | .ilen = 8, | |
14557 | .result = "\x77\x5d\x2a\x6a\xf6\xce\x92\x09", | |
14558 | .rlen = 8, | |
14559 | }, { | |
14560 | .key = "\x09\x65\x43\x11\x66\x44\x39\x25" | |
14561 | "\x51\x3a\x16\x10\x0a\x08\x12\x6e", | |
14562 | .klen = 16, | |
14563 | .input = "\x6c\x6f\x6e\x67\x65\x72\x5f\x74" | |
14564 | "\x65\x73\x74\x5f\x76\x65\x63\x74", | |
14565 | .ilen = 16, | |
14566 | .result = "\xbe\x7a\xbb\x81\x95\x2d\x1f\x1e" | |
14567 | "\xdd\x89\xa1\x25\x04\x21\xdf\x95", | |
14568 | .rlen = 16, | |
14569 | }, { | |
14570 | .key = "\x4d\x76\x32\x17\x05\x3f\x75\x2c" | |
14571 | "\x5d\x04\x16\x36\x15\x72\x63\x2f", | |
14572 | .klen = 16, | |
14573 | .input = "\x54\x65\x61\x20\x69\x73\x20\x67" | |
14574 | "\x6f\x6f\x64\x20\x66\x6f\x72\x20" | |
14575 | "\x79\x6f\x75\x21\x21\x21\x20\x72" | |
14576 | "\x65\x61\x6c\x6c\x79\x21\x21\x21", | |
14577 | .ilen = 32, | |
14578 | .result = "\xe0\x4d\x5d\x3c\xb7\x8c\x36\x47" | |
14579 | "\x94\x18\x95\x91\xa9\xfc\x49\xf8" | |
14580 | "\x44\xd1\x2d\xc2\x99\xb8\x08\x2a" | |
14581 | "\x07\x89\x73\xc2\x45\x92\xc6\x90", | |
14582 | .rlen = 32, | |
14583 | } | |
14584 | }; | |
14585 | ||
14586 | static struct cipher_testvec tea_dec_tv_template[] = { | |
14587 | { | |
14588 | .key = zeroed_string, | |
14589 | .klen = 16, | |
14590 | .input = "\x0a\x3a\xea\x41\x40\xa9\xba\x94", | |
14591 | .ilen = 8, | |
14592 | .result = zeroed_string, | |
14593 | .rlen = 8, | |
14594 | }, { | |
14595 | .key = "\x2b\x02\x05\x68\x06\x14\x49\x76" | |
14596 | "\x77\x5d\x0e\x26\x6c\x28\x78\x43", | |
14597 | .klen = 16, | |
14598 | .input = "\x77\x5d\x2a\x6a\xf6\xce\x92\x09", | |
14599 | .ilen = 8, | |
14600 | .result = "\x74\x65\x73\x74\x20\x6d\x65\x2e", | |
14601 | .rlen = 8, | |
14602 | }, { | |
14603 | .key = "\x09\x65\x43\x11\x66\x44\x39\x25" | |
14604 | "\x51\x3a\x16\x10\x0a\x08\x12\x6e", | |
14605 | .klen = 16, | |
14606 | .input = "\xbe\x7a\xbb\x81\x95\x2d\x1f\x1e" | |
14607 | "\xdd\x89\xa1\x25\x04\x21\xdf\x95", | |
14608 | .ilen = 16, | |
14609 | .result = "\x6c\x6f\x6e\x67\x65\x72\x5f\x74" | |
14610 | "\x65\x73\x74\x5f\x76\x65\x63\x74", | |
14611 | .rlen = 16, | |
14612 | }, { | |
14613 | .key = "\x4d\x76\x32\x17\x05\x3f\x75\x2c" | |
14614 | "\x5d\x04\x16\x36\x15\x72\x63\x2f", | |
14615 | .klen = 16, | |
14616 | .input = "\xe0\x4d\x5d\x3c\xb7\x8c\x36\x47" | |
14617 | "\x94\x18\x95\x91\xa9\xfc\x49\xf8" | |
14618 | "\x44\xd1\x2d\xc2\x99\xb8\x08\x2a" | |
14619 | "\x07\x89\x73\xc2\x45\x92\xc6\x90", | |
14620 | .ilen = 32, | |
14621 | .result = "\x54\x65\x61\x20\x69\x73\x20\x67" | |
14622 | "\x6f\x6f\x64\x20\x66\x6f\x72\x20" | |
14623 | "\x79\x6f\x75\x21\x21\x21\x20\x72" | |
14624 | "\x65\x61\x6c\x6c\x79\x21\x21\x21", | |
14625 | .rlen = 32, | |
14626 | } | |
14627 | }; | |
14628 | ||
14629 | /* | |
14630 | * XTEA test vectors | |
14631 | */ | |
14632 | #define XTEA_ENC_TEST_VECTORS 4 | |
14633 | #define XTEA_DEC_TEST_VECTORS 4 | |
14634 | ||
14635 | static struct cipher_testvec xtea_enc_tv_template[] = { | |
14636 | { | |
14637 | .key = zeroed_string, | |
14638 | .klen = 16, | |
14639 | .input = zeroed_string, | |
14640 | .ilen = 8, | |
14641 | .result = "\xd8\xd4\xe9\xde\xd9\x1e\x13\xf7", | |
14642 | .rlen = 8, | |
14643 | }, { | |
14644 | .key = "\x2b\x02\x05\x68\x06\x14\x49\x76" | |
14645 | "\x77\x5d\x0e\x26\x6c\x28\x78\x43", | |
14646 | .klen = 16, | |
14647 | .input = "\x74\x65\x73\x74\x20\x6d\x65\x2e", | |
14648 | .ilen = 8, | |
14649 | .result = "\x94\xeb\xc8\x96\x84\x6a\x49\xa8", | |
14650 | .rlen = 8, | |
14651 | }, { | |
14652 | .key = "\x09\x65\x43\x11\x66\x44\x39\x25" | |
14653 | "\x51\x3a\x16\x10\x0a\x08\x12\x6e", | |
14654 | .klen = 16, | |
14655 | .input = "\x6c\x6f\x6e\x67\x65\x72\x5f\x74" | |
14656 | "\x65\x73\x74\x5f\x76\x65\x63\x74", | |
14657 | .ilen = 16, | |
14658 | .result = "\x3e\xce\xae\x22\x60\x56\xa8\x9d" | |
14659 | "\x77\x4d\xd4\xb4\x87\x24\xe3\x9a", | |
14660 | .rlen = 16, | |
14661 | }, { | |
14662 | .key = "\x4d\x76\x32\x17\x05\x3f\x75\x2c" | |
14663 | "\x5d\x04\x16\x36\x15\x72\x63\x2f", | |
14664 | .klen = 16, | |
14665 | .input = "\x54\x65\x61\x20\x69\x73\x20\x67" | |
14666 | "\x6f\x6f\x64\x20\x66\x6f\x72\x20" | |
14667 | "\x79\x6f\x75\x21\x21\x21\x20\x72" | |
14668 | "\x65\x61\x6c\x6c\x79\x21\x21\x21", | |
14669 | .ilen = 32, | |
14670 | .result = "\x99\x81\x9f\x5d\x6f\x4b\x31\x3a" | |
14671 | "\x86\xff\x6f\xd0\xe3\x87\x70\x07" | |
14672 | "\x4d\xb8\xcf\xf3\x99\x50\xb3\xd4" | |
14673 | "\x73\xa2\xfa\xc9\x16\x59\x5d\x81", | |
14674 | .rlen = 32, | |
14675 | } | |
14676 | }; | |
14677 | ||
14678 | static struct cipher_testvec xtea_dec_tv_template[] = { | |
14679 | { | |
14680 | .key = zeroed_string, | |
14681 | .klen = 16, | |
14682 | .input = "\xd8\xd4\xe9\xde\xd9\x1e\x13\xf7", | |
14683 | .ilen = 8, | |
14684 | .result = zeroed_string, | |
14685 | .rlen = 8, | |
14686 | }, { | |
14687 | .key = "\x2b\x02\x05\x68\x06\x14\x49\x76" | |
14688 | "\x77\x5d\x0e\x26\x6c\x28\x78\x43", | |
14689 | .klen = 16, | |
14690 | .input = "\x94\xeb\xc8\x96\x84\x6a\x49\xa8", | |
14691 | .ilen = 8, | |
14692 | .result = "\x74\x65\x73\x74\x20\x6d\x65\x2e", | |
14693 | .rlen = 8, | |
14694 | }, { | |
14695 | .key = "\x09\x65\x43\x11\x66\x44\x39\x25" | |
14696 | "\x51\x3a\x16\x10\x0a\x08\x12\x6e", | |
14697 | .klen = 16, | |
14698 | .input = "\x3e\xce\xae\x22\x60\x56\xa8\x9d" | |
14699 | "\x77\x4d\xd4\xb4\x87\x24\xe3\x9a", | |
14700 | .ilen = 16, | |
14701 | .result = "\x6c\x6f\x6e\x67\x65\x72\x5f\x74" | |
14702 | "\x65\x73\x74\x5f\x76\x65\x63\x74", | |
14703 | .rlen = 16, | |
14704 | }, { | |
14705 | .key = "\x4d\x76\x32\x17\x05\x3f\x75\x2c" | |
14706 | "\x5d\x04\x16\x36\x15\x72\x63\x2f", | |
14707 | .klen = 16, | |
14708 | .input = "\x99\x81\x9f\x5d\x6f\x4b\x31\x3a" | |
14709 | "\x86\xff\x6f\xd0\xe3\x87\x70\x07" | |
14710 | "\x4d\xb8\xcf\xf3\x99\x50\xb3\xd4" | |
14711 | "\x73\xa2\xfa\xc9\x16\x59\x5d\x81", | |
14712 | .ilen = 32, | |
14713 | .result = "\x54\x65\x61\x20\x69\x73\x20\x67" | |
14714 | "\x6f\x6f\x64\x20\x66\x6f\x72\x20" | |
14715 | "\x79\x6f\x75\x21\x21\x21\x20\x72" | |
14716 | "\x65\x61\x6c\x6c\x79\x21\x21\x21", | |
14717 | .rlen = 32, | |
14718 | } | |
14719 | }; | |
14720 | ||
14721 | /* | |
14722 | * KHAZAD test vectors. | |
14723 | */ | |
14724 | #define KHAZAD_ENC_TEST_VECTORS 5 | |
14725 | #define KHAZAD_DEC_TEST_VECTORS 5 | |
14726 | ||
14727 | static struct cipher_testvec khazad_enc_tv_template[] = { | |
14728 | { | |
14729 | .key = "\x80\x00\x00\x00\x00\x00\x00\x00" | |
14730 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14731 | .klen = 16, | |
14732 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14733 | .ilen = 8, | |
14734 | .result = "\x49\xa4\xce\x32\xac\x19\x0e\x3f", | |
14735 | .rlen = 8, | |
14736 | }, { | |
14737 | .key = "\x38\x38\x38\x38\x38\x38\x38\x38" | |
14738 | "\x38\x38\x38\x38\x38\x38\x38\x38", | |
14739 | .klen = 16, | |
14740 | .input = "\x38\x38\x38\x38\x38\x38\x38\x38", | |
14741 | .ilen = 8, | |
14742 | .result = "\x7e\x82\x12\xa1\xd9\x5b\xe4\xf9", | |
14743 | .rlen = 8, | |
14744 | }, { | |
14745 | .key = "\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2" | |
14746 | "\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2", | |
14747 | .klen = 16, | |
14748 | .input = "\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2", | |
14749 | .ilen = 8, | |
14750 | .result = "\xaa\xbe\xc1\x95\xc5\x94\x1a\x9c", | |
14751 | .rlen = 8, | |
14752 | }, { | |
14753 | .key = "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f" | |
14754 | "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f", | |
14755 | .klen = 16, | |
14756 | .input = "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f", | |
14757 | .ilen = 8, | |
14758 | .result = "\x04\x74\xf5\x70\x50\x16\xd3\xb8", | |
14759 | .rlen = 8, | |
14760 | }, { | |
14761 | .key = "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f" | |
14762 | "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f", | |
14763 | .klen = 16, | |
14764 | .input = "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f" | |
14765 | "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f", | |
14766 | .ilen = 16, | |
14767 | .result = "\x04\x74\xf5\x70\x50\x16\xd3\xb8" | |
14768 | "\x04\x74\xf5\x70\x50\x16\xd3\xb8", | |
14769 | .rlen = 16, | |
14770 | }, | |
14771 | }; | |
14772 | ||
14773 | static struct cipher_testvec khazad_dec_tv_template[] = { | |
14774 | { | |
14775 | .key = "\x80\x00\x00\x00\x00\x00\x00\x00" | |
14776 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14777 | .klen = 16, | |
14778 | .input = "\x49\xa4\xce\x32\xac\x19\x0e\x3f", | |
14779 | .ilen = 8, | |
14780 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
14781 | .rlen = 8, | |
14782 | }, { | |
14783 | .key = "\x38\x38\x38\x38\x38\x38\x38\x38" | |
14784 | "\x38\x38\x38\x38\x38\x38\x38\x38", | |
14785 | .klen = 16, | |
14786 | .input = "\x7e\x82\x12\xa1\xd9\x5b\xe4\xf9", | |
14787 | .ilen = 8, | |
14788 | .result = "\x38\x38\x38\x38\x38\x38\x38\x38", | |
14789 | .rlen = 8, | |
14790 | }, { | |
14791 | .key = "\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2" | |
14792 | "\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2", | |
14793 | .klen = 16, | |
14794 | .input = "\xaa\xbe\xc1\x95\xc5\x94\x1a\x9c", | |
14795 | .ilen = 8, | |
14796 | .result = "\xa2\xa2\xa2\xa2\xa2\xa2\xa2\xa2", | |
14797 | .rlen = 8, | |
14798 | }, { | |
14799 | .key = "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f" | |
14800 | "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f", | |
14801 | .klen = 16, | |
14802 | .input = "\x04\x74\xf5\x70\x50\x16\xd3\xb8", | |
14803 | .ilen = 8, | |
14804 | .result = "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f", | |
14805 | .rlen = 8, | |
14806 | }, { | |
14807 | .key = "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f" | |
14808 | "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f", | |
14809 | .klen = 16, | |
14810 | .input = "\x04\x74\xf5\x70\x50\x16\xd3\xb8" | |
14811 | "\x04\x74\xf5\x70\x50\x16\xd3\xb8", | |
14812 | .ilen = 16, | |
14813 | .result = "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f" | |
14814 | "\x2f\x2f\x2f\x2f\x2f\x2f\x2f\x2f", | |
14815 | .rlen = 16, | |
14816 | }, | |
14817 | }; | |
14818 | ||
14819 | /* | |
14820 | * Anubis test vectors. | |
14821 | */ | |
14822 | ||
14823 | #define ANUBIS_ENC_TEST_VECTORS 5 | |
14824 | #define ANUBIS_DEC_TEST_VECTORS 5 | |
14825 | #define ANUBIS_CBC_ENC_TEST_VECTORS 2 | |
14826 | #define ANUBIS_CBC_DEC_TEST_VECTORS 2 | |
14827 | ||
14828 | static struct cipher_testvec anubis_enc_tv_template[] = { | |
14829 | { | |
14830 | .key = "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
14831 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe", | |
14832 | .klen = 16, | |
14833 | .input = "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
14834 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe", | |
14835 | .ilen = 16, | |
14836 | .result = "\x6d\xc5\xda\xa2\x26\x7d\x62\x6f" | |
14837 | "\x08\xb7\x52\x8e\x6e\x6e\x86\x90", | |
14838 | .rlen = 16, | |
14839 | }, { | |
14840 | ||
14841 | .key = "\x03\x03\x03\x03\x03\x03\x03\x03" | |
14842 | "\x03\x03\x03\x03\x03\x03\x03\x03" | |
14843 | "\x03\x03\x03\x03", | |
14844 | .klen = 20, | |
14845 | .input = "\x03\x03\x03\x03\x03\x03\x03\x03" | |
14846 | "\x03\x03\x03\x03\x03\x03\x03\x03", | |
14847 | .ilen = 16, | |
14848 | .result = "\xdb\xf1\x42\xf4\xd1\x8a\xc7\x49" | |
14849 | "\x87\x41\x6f\x82\x0a\x98\x64\xae", | |
14850 | .rlen = 16, | |
14851 | }, { | |
14852 | .key = "\x24\x24\x24\x24\x24\x24\x24\x24" | |
14853 | "\x24\x24\x24\x24\x24\x24\x24\x24" | |
14854 | "\x24\x24\x24\x24\x24\x24\x24\x24" | |
14855 | "\x24\x24\x24\x24", | |
14856 | .klen = 28, | |
14857 | .input = "\x24\x24\x24\x24\x24\x24\x24\x24" | |
14858 | "\x24\x24\x24\x24\x24\x24\x24\x24", | |
14859 | .ilen = 16, | |
14860 | .result = "\xfd\x1b\x4a\xe3\xbf\xf0\xad\x3d" | |
14861 | "\x06\xd3\x61\x27\xfd\x13\x9e\xde", | |
14862 | .rlen = 16, | |
14863 | }, { | |
14864 | .key = "\x25\x25\x25\x25\x25\x25\x25\x25" | |
14865 | "\x25\x25\x25\x25\x25\x25\x25\x25" | |
14866 | "\x25\x25\x25\x25\x25\x25\x25\x25" | |
14867 | "\x25\x25\x25\x25\x25\x25\x25\x25", | |
14868 | .klen = 32, | |
14869 | .input = "\x25\x25\x25\x25\x25\x25\x25\x25" | |
14870 | "\x25\x25\x25\x25\x25\x25\x25\x25", | |
14871 | .ilen = 16, | |
14872 | .result = "\x1a\x91\xfb\x2b\xb7\x78\x6b\xc4" | |
14873 | "\x17\xd9\xff\x40\x3b\x0e\xe5\xfe", | |
14874 | .rlen = 16, | |
14875 | }, { | |
14876 | .key = "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14877 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14878 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14879 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14880 | "\x35\x35\x35\x35\x35\x35\x35\x35", | |
14881 | .klen = 40, | |
14882 | .input = "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14883 | "\x35\x35\x35\x35\x35\x35\x35\x35", | |
14884 | .ilen = 16, | |
14885 | .result = "\xa5\x2c\x85\x6f\x9c\xba\xa0\x97" | |
14886 | "\x9e\xc6\x84\x0f\x17\x21\x07\xee", | |
14887 | .rlen = 16, | |
14888 | }, | |
14889 | }; | |
14890 | ||
14891 | static struct cipher_testvec anubis_dec_tv_template[] = { | |
14892 | { | |
14893 | .key = "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
14894 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe", | |
14895 | .klen = 16, | |
14896 | .input = "\x6d\xc5\xda\xa2\x26\x7d\x62\x6f" | |
14897 | "\x08\xb7\x52\x8e\x6e\x6e\x86\x90", | |
14898 | .ilen = 16, | |
14899 | .result = "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
14900 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe", | |
14901 | .rlen = 16, | |
14902 | }, { | |
14903 | ||
14904 | .key = "\x03\x03\x03\x03\x03\x03\x03\x03" | |
14905 | "\x03\x03\x03\x03\x03\x03\x03\x03" | |
14906 | "\x03\x03\x03\x03", | |
14907 | .klen = 20, | |
14908 | .input = "\xdb\xf1\x42\xf4\xd1\x8a\xc7\x49" | |
14909 | "\x87\x41\x6f\x82\x0a\x98\x64\xae", | |
14910 | .ilen = 16, | |
14911 | .result = "\x03\x03\x03\x03\x03\x03\x03\x03" | |
14912 | "\x03\x03\x03\x03\x03\x03\x03\x03", | |
14913 | .rlen = 16, | |
14914 | }, { | |
14915 | .key = "\x24\x24\x24\x24\x24\x24\x24\x24" | |
14916 | "\x24\x24\x24\x24\x24\x24\x24\x24" | |
14917 | "\x24\x24\x24\x24\x24\x24\x24\x24" | |
14918 | "\x24\x24\x24\x24", | |
14919 | .klen = 28, | |
14920 | .input = "\xfd\x1b\x4a\xe3\xbf\xf0\xad\x3d" | |
14921 | "\x06\xd3\x61\x27\xfd\x13\x9e\xde", | |
14922 | .ilen = 16, | |
14923 | .result = "\x24\x24\x24\x24\x24\x24\x24\x24" | |
14924 | "\x24\x24\x24\x24\x24\x24\x24\x24", | |
14925 | .rlen = 16, | |
14926 | }, { | |
14927 | .key = "\x25\x25\x25\x25\x25\x25\x25\x25" | |
14928 | "\x25\x25\x25\x25\x25\x25\x25\x25" | |
14929 | "\x25\x25\x25\x25\x25\x25\x25\x25" | |
14930 | "\x25\x25\x25\x25\x25\x25\x25\x25", | |
14931 | .klen = 32, | |
14932 | .input = "\x1a\x91\xfb\x2b\xb7\x78\x6b\xc4" | |
14933 | "\x17\xd9\xff\x40\x3b\x0e\xe5\xfe", | |
14934 | .ilen = 16, | |
14935 | .result = "\x25\x25\x25\x25\x25\x25\x25\x25" | |
14936 | "\x25\x25\x25\x25\x25\x25\x25\x25", | |
14937 | .rlen = 16, | |
14938 | }, { | |
14939 | .key = "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14940 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14941 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14942 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14943 | "\x35\x35\x35\x35\x35\x35\x35\x35", | |
14944 | .input = "\xa5\x2c\x85\x6f\x9c\xba\xa0\x97" | |
14945 | "\x9e\xc6\x84\x0f\x17\x21\x07\xee", | |
14946 | .klen = 40, | |
14947 | .ilen = 16, | |
14948 | .result = "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14949 | "\x35\x35\x35\x35\x35\x35\x35\x35", | |
14950 | .rlen = 16, | |
14951 | }, | |
14952 | }; | |
14953 | ||
14954 | static struct cipher_testvec anubis_cbc_enc_tv_template[] = { | |
14955 | { | |
14956 | .key = "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
14957 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe", | |
14958 | .klen = 16, | |
14959 | .input = "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
14960 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
14961 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
14962 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe", | |
14963 | .ilen = 32, | |
14964 | .result = "\x6d\xc5\xda\xa2\x26\x7d\x62\x6f" | |
14965 | "\x08\xb7\x52\x8e\x6e\x6e\x86\x90" | |
14966 | "\x86\xd8\xb5\x6f\x98\x5e\x8a\x66" | |
14967 | "\x4f\x1f\x78\xa1\xbb\x37\xf1\xbe", | |
14968 | .rlen = 32, | |
14969 | }, { | |
14970 | .key = "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14971 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14972 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14973 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14974 | "\x35\x35\x35\x35\x35\x35\x35\x35", | |
14975 | .klen = 40, | |
14976 | .input = "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14977 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14978 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
14979 | "\x35\x35\x35\x35\x35\x35\x35\x35", | |
14980 | .ilen = 32, | |
14981 | .result = "\xa5\x2c\x85\x6f\x9c\xba\xa0\x97" | |
14982 | "\x9e\xc6\x84\x0f\x17\x21\x07\xee" | |
14983 | "\xa2\xbc\x06\x98\xc6\x4b\xda\x75" | |
14984 | "\x2e\xaa\xbe\x58\xce\x01\x5b\xc7", | |
14985 | .rlen = 32, | |
14986 | }, | |
14987 | }; | |
14988 | ||
14989 | static struct cipher_testvec anubis_cbc_dec_tv_template[] = { | |
14990 | { | |
14991 | .key = "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
14992 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe", | |
14993 | .klen = 16, | |
14994 | .input = "\x6d\xc5\xda\xa2\x26\x7d\x62\x6f" | |
14995 | "\x08\xb7\x52\x8e\x6e\x6e\x86\x90" | |
14996 | "\x86\xd8\xb5\x6f\x98\x5e\x8a\x66" | |
14997 | "\x4f\x1f\x78\xa1\xbb\x37\xf1\xbe", | |
14998 | .ilen = 32, | |
14999 | .result = "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
15000 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
15001 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe" | |
15002 | "\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe", | |
15003 | .rlen = 32, | |
15004 | }, { | |
15005 | .key = "\x35\x35\x35\x35\x35\x35\x35\x35" | |
15006 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
15007 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
15008 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
15009 | "\x35\x35\x35\x35\x35\x35\x35\x35", | |
15010 | .klen = 40, | |
15011 | .input = "\xa5\x2c\x85\x6f\x9c\xba\xa0\x97" | |
15012 | "\x9e\xc6\x84\x0f\x17\x21\x07\xee" | |
15013 | "\xa2\xbc\x06\x98\xc6\x4b\xda\x75" | |
15014 | "\x2e\xaa\xbe\x58\xce\x01\x5b\xc7", | |
15015 | .ilen = 32, | |
15016 | .result = "\x35\x35\x35\x35\x35\x35\x35\x35" | |
15017 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
15018 | "\x35\x35\x35\x35\x35\x35\x35\x35" | |
15019 | "\x35\x35\x35\x35\x35\x35\x35\x35", | |
15020 | .rlen = 32, | |
15021 | }, | |
15022 | }; | |
15023 | ||
15024 | /* | |
15025 | * XETA test vectors | |
15026 | */ | |
15027 | #define XETA_ENC_TEST_VECTORS 4 | |
15028 | #define XETA_DEC_TEST_VECTORS 4 | |
15029 | ||
15030 | static struct cipher_testvec xeta_enc_tv_template[] = { | |
15031 | { | |
15032 | .key = zeroed_string, | |
15033 | .klen = 16, | |
15034 | .input = zeroed_string, | |
15035 | .ilen = 8, | |
15036 | .result = "\xaa\x22\x96\xe5\x6c\x61\xf3\x45", | |
15037 | .rlen = 8, | |
15038 | }, { | |
15039 | .key = "\x2b\x02\x05\x68\x06\x14\x49\x76" | |
15040 | "\x77\x5d\x0e\x26\x6c\x28\x78\x43", | |
15041 | .klen = 16, | |
15042 | .input = "\x74\x65\x73\x74\x20\x6d\x65\x2e", | |
15043 | .ilen = 8, | |
15044 | .result = "\x82\x3e\xeb\x35\xdc\xdd\xd9\xc3", | |
15045 | .rlen = 8, | |
15046 | }, { | |
15047 | .key = "\x09\x65\x43\x11\x66\x44\x39\x25" | |
15048 | "\x51\x3a\x16\x10\x0a\x08\x12\x6e", | |
15049 | .klen = 16, | |
15050 | .input = "\x6c\x6f\x6e\x67\x65\x72\x5f\x74" | |
15051 | "\x65\x73\x74\x5f\x76\x65\x63\x74", | |
15052 | .ilen = 16, | |
15053 | .result = "\xe2\x04\xdb\xf2\x89\x85\x9e\xea" | |
15054 | "\x61\x35\xaa\xed\xb5\xcb\x71\x2c", | |
15055 | .rlen = 16, | |
15056 | }, { | |
15057 | .key = "\x4d\x76\x32\x17\x05\x3f\x75\x2c" | |
15058 | "\x5d\x04\x16\x36\x15\x72\x63\x2f", | |
15059 | .klen = 16, | |
15060 | .input = "\x54\x65\x61\x20\x69\x73\x20\x67" | |
15061 | "\x6f\x6f\x64\x20\x66\x6f\x72\x20" | |
15062 | "\x79\x6f\x75\x21\x21\x21\x20\x72" | |
15063 | "\x65\x61\x6c\x6c\x79\x21\x21\x21", | |
15064 | .ilen = 32, | |
15065 | .result = "\x0b\x03\xcd\x8a\xbe\x95\xfd\xb1" | |
15066 | "\xc1\x44\x91\x0b\xa5\xc9\x1b\xb4" | |
15067 | "\xa9\xda\x1e\x9e\xb1\x3e\x2a\x8f" | |
15068 | "\xea\xa5\x6a\x85\xd1\xf4\xa8\xa5", | |
15069 | .rlen = 32, | |
15070 | } | |
15071 | }; | |
15072 | ||
15073 | static struct cipher_testvec xeta_dec_tv_template[] = { | |
15074 | { | |
15075 | .key = zeroed_string, | |
15076 | .klen = 16, | |
15077 | .input = "\xaa\x22\x96\xe5\x6c\x61\xf3\x45", | |
15078 | .ilen = 8, | |
15079 | .result = zeroed_string, | |
15080 | .rlen = 8, | |
15081 | }, { | |
15082 | .key = "\x2b\x02\x05\x68\x06\x14\x49\x76" | |
15083 | "\x77\x5d\x0e\x26\x6c\x28\x78\x43", | |
15084 | .klen = 16, | |
15085 | .input = "\x82\x3e\xeb\x35\xdc\xdd\xd9\xc3", | |
15086 | .ilen = 8, | |
15087 | .result = "\x74\x65\x73\x74\x20\x6d\x65\x2e", | |
15088 | .rlen = 8, | |
15089 | }, { | |
15090 | .key = "\x09\x65\x43\x11\x66\x44\x39\x25" | |
15091 | "\x51\x3a\x16\x10\x0a\x08\x12\x6e", | |
15092 | .klen = 16, | |
15093 | .input = "\xe2\x04\xdb\xf2\x89\x85\x9e\xea" | |
15094 | "\x61\x35\xaa\xed\xb5\xcb\x71\x2c", | |
15095 | .ilen = 16, | |
15096 | .result = "\x6c\x6f\x6e\x67\x65\x72\x5f\x74" | |
15097 | "\x65\x73\x74\x5f\x76\x65\x63\x74", | |
15098 | .rlen = 16, | |
15099 | }, { | |
15100 | .key = "\x4d\x76\x32\x17\x05\x3f\x75\x2c" | |
15101 | "\x5d\x04\x16\x36\x15\x72\x63\x2f", | |
15102 | .klen = 16, | |
15103 | .input = "\x0b\x03\xcd\x8a\xbe\x95\xfd\xb1" | |
15104 | "\xc1\x44\x91\x0b\xa5\xc9\x1b\xb4" | |
15105 | "\xa9\xda\x1e\x9e\xb1\x3e\x2a\x8f" | |
15106 | "\xea\xa5\x6a\x85\xd1\xf4\xa8\xa5", | |
15107 | .ilen = 32, | |
15108 | .result = "\x54\x65\x61\x20\x69\x73\x20\x67" | |
15109 | "\x6f\x6f\x64\x20\x66\x6f\x72\x20" | |
15110 | "\x79\x6f\x75\x21\x21\x21\x20\x72" | |
15111 | "\x65\x61\x6c\x6c\x79\x21\x21\x21", | |
15112 | .rlen = 32, | |
15113 | } | |
15114 | }; | |
15115 | ||
15116 | /* | |
15117 | * FCrypt test vectors | |
15118 | */ | |
15119 | #define FCRYPT_ENC_TEST_VECTORS ARRAY_SIZE(fcrypt_pcbc_enc_tv_template) | |
15120 | #define FCRYPT_DEC_TEST_VECTORS ARRAY_SIZE(fcrypt_pcbc_dec_tv_template) | |
15121 | ||
15122 | static struct cipher_testvec fcrypt_pcbc_enc_tv_template[] = { | |
15123 | { /* http://www.openafs.org/pipermail/openafs-devel/2000-December/005320.html */ | |
15124 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
15125 | .klen = 8, | |
15126 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
15127 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
15128 | .ilen = 8, | |
15129 | .result = "\x0E\x09\x00\xC7\x3E\xF7\xED\x41", | |
15130 | .rlen = 8, | |
15131 | }, { | |
15132 | .key = "\x11\x44\x77\xAA\xDD\x00\x33\x66", | |
15133 | .klen = 8, | |
15134 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
15135 | .input = "\x12\x34\x56\x78\x9A\xBC\xDE\xF0", | |
15136 | .ilen = 8, | |
15137 | .result = "\xD8\xED\x78\x74\x77\xEC\x06\x80", | |
15138 | .rlen = 8, | |
15139 | }, { /* From Arla */ | |
15140 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
15141 | .klen = 8, | |
15142 | .iv = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15143 | .input = "The quick brown fox jumps over the lazy dogs.\0\0", | |
15144 | .ilen = 48, | |
15145 | .result = "\x00\xf0\x0e\x11\x75\xe6\x23\x82" | |
15146 | "\xee\xac\x98\x62\x44\x51\xe4\x84" | |
15147 | "\xc3\x59\xd8\xaa\x64\x60\xae\xf7" | |
15148 | "\xd2\xd9\x13\x79\x72\xa3\x45\x03" | |
15149 | "\x23\xb5\x62\xd7\x0c\xf5\x27\xd1" | |
15150 | "\xf8\x91\x3c\xac\x44\x22\x92\xef", | |
15151 | .rlen = 48, | |
15152 | }, { | |
15153 | .key = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15154 | .klen = 8, | |
15155 | .iv = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
15156 | .input = "The quick brown fox jumps over the lazy dogs.\0\0", | |
15157 | .ilen = 48, | |
15158 | .result = "\xca\x90\xf5\x9d\xcb\xd4\xd2\x3c" | |
15159 | "\x01\x88\x7f\x3e\x31\x6e\x62\x9d" | |
15160 | "\xd8\xe0\x57\xa3\x06\x3a\x42\x58" | |
15161 | "\x2a\x28\xfe\x72\x52\x2f\xdd\xe0" | |
15162 | "\x19\x89\x09\x1c\x2a\x8e\x8c\x94" | |
15163 | "\xfc\xc7\x68\xe4\x88\xaa\xde\x0f", | |
15164 | .rlen = 48, | |
15165 | }, { /* split-page version */ | |
15166 | .key = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15167 | .klen = 8, | |
15168 | .iv = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
15169 | .input = "The quick brown fox jumps over the lazy dogs.\0\0", | |
15170 | .ilen = 48, | |
15171 | .result = "\xca\x90\xf5\x9d\xcb\xd4\xd2\x3c" | |
15172 | "\x01\x88\x7f\x3e\x31\x6e\x62\x9d" | |
15173 | "\xd8\xe0\x57\xa3\x06\x3a\x42\x58" | |
15174 | "\x2a\x28\xfe\x72\x52\x2f\xdd\xe0" | |
15175 | "\x19\x89\x09\x1c\x2a\x8e\x8c\x94" | |
15176 | "\xfc\xc7\x68\xe4\x88\xaa\xde\x0f", | |
15177 | .rlen = 48, | |
15178 | .np = 2, | |
15179 | .tap = { 20, 28 }, | |
15180 | } | |
15181 | }; | |
15182 | ||
15183 | static struct cipher_testvec fcrypt_pcbc_dec_tv_template[] = { | |
15184 | { /* http://www.openafs.org/pipermail/openafs-devel/2000-December/005320.html */ | |
15185 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
15186 | .klen = 8, | |
15187 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
15188 | .input = "\x0E\x09\x00\xC7\x3E\xF7\xED\x41", | |
15189 | .ilen = 8, | |
15190 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
15191 | .rlen = 8, | |
15192 | }, { | |
15193 | .key = "\x11\x44\x77\xAA\xDD\x00\x33\x66", | |
15194 | .klen = 8, | |
15195 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
15196 | .input = "\xD8\xED\x78\x74\x77\xEC\x06\x80", | |
15197 | .ilen = 8, | |
15198 | .result = "\x12\x34\x56\x78\x9A\xBC\xDE\xF0", | |
15199 | .rlen = 8, | |
15200 | }, { /* From Arla */ | |
15201 | .key = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
15202 | .klen = 8, | |
15203 | .iv = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15204 | .input = "\x00\xf0\x0e\x11\x75\xe6\x23\x82" | |
15205 | "\xee\xac\x98\x62\x44\x51\xe4\x84" | |
15206 | "\xc3\x59\xd8\xaa\x64\x60\xae\xf7" | |
15207 | "\xd2\xd9\x13\x79\x72\xa3\x45\x03" | |
15208 | "\x23\xb5\x62\xd7\x0c\xf5\x27\xd1" | |
15209 | "\xf8\x91\x3c\xac\x44\x22\x92\xef", | |
15210 | .ilen = 48, | |
15211 | .result = "The quick brown fox jumps over the lazy dogs.\0\0", | |
15212 | .rlen = 48, | |
15213 | }, { | |
15214 | .key = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15215 | .klen = 8, | |
15216 | .iv = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
15217 | .input = "\xca\x90\xf5\x9d\xcb\xd4\xd2\x3c" | |
15218 | "\x01\x88\x7f\x3e\x31\x6e\x62\x9d" | |
15219 | "\xd8\xe0\x57\xa3\x06\x3a\x42\x58" | |
15220 | "\x2a\x28\xfe\x72\x52\x2f\xdd\xe0" | |
15221 | "\x19\x89\x09\x1c\x2a\x8e\x8c\x94" | |
15222 | "\xfc\xc7\x68\xe4\x88\xaa\xde\x0f", | |
15223 | .ilen = 48, | |
15224 | .result = "The quick brown fox jumps over the lazy dogs.\0\0", | |
15225 | .rlen = 48, | |
15226 | }, { /* split-page version */ | |
15227 | .key = "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15228 | .klen = 8, | |
15229 | .iv = "\xf0\xe1\xd2\xc3\xb4\xa5\x96\x87", | |
15230 | .input = "\xca\x90\xf5\x9d\xcb\xd4\xd2\x3c" | |
15231 | "\x01\x88\x7f\x3e\x31\x6e\x62\x9d" | |
15232 | "\xd8\xe0\x57\xa3\x06\x3a\x42\x58" | |
15233 | "\x2a\x28\xfe\x72\x52\x2f\xdd\xe0" | |
15234 | "\x19\x89\x09\x1c\x2a\x8e\x8c\x94" | |
15235 | "\xfc\xc7\x68\xe4\x88\xaa\xde\x0f", | |
15236 | .ilen = 48, | |
15237 | .result = "The quick brown fox jumps over the lazy dogs.\0\0", | |
15238 | .rlen = 48, | |
15239 | .np = 2, | |
15240 | .tap = { 20, 28 }, | |
15241 | } | |
15242 | }; | |
15243 | ||
15244 | /* | |
15245 | * CAMELLIA test vectors. | |
15246 | */ | |
0840605e JK |
15247 | #define CAMELLIA_ENC_TEST_VECTORS 4 |
15248 | #define CAMELLIA_DEC_TEST_VECTORS 4 | |
15249 | #define CAMELLIA_CBC_ENC_TEST_VECTORS 3 | |
15250 | #define CAMELLIA_CBC_DEC_TEST_VECTORS 3 | |
15251 | #define CAMELLIA_CTR_ENC_TEST_VECTORS 2 | |
15252 | #define CAMELLIA_CTR_DEC_TEST_VECTORS 2 | |
15253 | #define CAMELLIA_LRW_ENC_TEST_VECTORS 8 | |
15254 | #define CAMELLIA_LRW_DEC_TEST_VECTORS 8 | |
15255 | #define CAMELLIA_XTS_ENC_TEST_VECTORS 5 | |
15256 | #define CAMELLIA_XTS_DEC_TEST_VECTORS 5 | |
da7f033d HX |
15257 | |
15258 | static struct cipher_testvec camellia_enc_tv_template[] = { | |
15259 | { | |
15260 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15261 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15262 | .klen = 16, | |
15263 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15264 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15265 | .ilen = 16, | |
15266 | .result = "\x67\x67\x31\x38\x54\x96\x69\x73" | |
15267 | "\x08\x57\x06\x56\x48\xea\xbe\x43", | |
15268 | .rlen = 16, | |
15269 | }, { | |
15270 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15271 | "\xfe\xdc\xba\x98\x76\x54\x32\x10" | |
15272 | "\x00\x11\x22\x33\x44\x55\x66\x77", | |
15273 | .klen = 24, | |
15274 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15275 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15276 | .ilen = 16, | |
15277 | .result = "\xb4\x99\x34\x01\xb3\xe9\x96\xf8" | |
15278 | "\x4e\xe5\xce\xe7\xd7\x9b\x09\xb9", | |
15279 | .rlen = 16, | |
15280 | }, { | |
15281 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15282 | "\xfe\xdc\xba\x98\x76\x54\x32\x10" | |
15283 | "\x00\x11\x22\x33\x44\x55\x66\x77" | |
15284 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
15285 | .klen = 32, | |
15286 | .input = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15287 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15288 | .ilen = 16, | |
15289 | .result = "\x9a\xcc\x23\x7d\xff\x16\xd7\x6c" | |
15290 | "\x20\xef\x7c\x91\x9e\x3a\x75\x09", | |
15291 | .rlen = 16, | |
15292 | }, | |
0840605e JK |
15293 | { /* Generated with Crypto++ */ |
15294 | .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C" | |
15295 | "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D" | |
15296 | "\x4A\x27\x04\xE1\x27\x04\xE1\xBE" | |
15297 | "\x9B\x78\xBE\x9B\x78\x55\x32\x0F", | |
15298 | .klen = 32, | |
15299 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
15300 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
15301 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
15302 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
15303 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
15304 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | |
15305 | .ilen = 48, | |
15306 | .result = "\xED\xCD\xDB\xB8\x68\xCE\xBD\xEA" | |
15307 | "\x9D\x9D\xCD\x9F\x4F\xFC\x4D\xB7" | |
15308 | "\xA5\xFF\x6F\x43\x0F\xBA\x32\x04" | |
15309 | "\xB3\xC2\xB9\x03\xAA\x91\x56\x29" | |
15310 | "\x0D\xD0\xFD\xC4\x65\xA5\x69\xB9" | |
15311 | "\xF1\xF6\xB1\xA5\xB2\x75\x4F\x8A", | |
15312 | .rlen = 48, | |
15313 | }, | |
da7f033d HX |
15314 | }; |
15315 | ||
15316 | static struct cipher_testvec camellia_dec_tv_template[] = { | |
15317 | { | |
15318 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15319 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15320 | .klen = 16, | |
15321 | .input = "\x67\x67\x31\x38\x54\x96\x69\x73" | |
15322 | "\x08\x57\x06\x56\x48\xea\xbe\x43", | |
15323 | .ilen = 16, | |
15324 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15325 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15326 | .rlen = 16, | |
15327 | }, { | |
15328 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15329 | "\xfe\xdc\xba\x98\x76\x54\x32\x10" | |
15330 | "\x00\x11\x22\x33\x44\x55\x66\x77", | |
15331 | .klen = 24, | |
15332 | .input = "\xb4\x99\x34\x01\xb3\xe9\x96\xf8" | |
15333 | "\x4e\xe5\xce\xe7\xd7\x9b\x09\xb9", | |
15334 | .ilen = 16, | |
15335 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15336 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15337 | .rlen = 16, | |
15338 | }, { | |
15339 | .key = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15340 | "\xfe\xdc\xba\x98\x76\x54\x32\x10" | |
15341 | "\x00\x11\x22\x33\x44\x55\x66\x77" | |
15342 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff", | |
15343 | .klen = 32, | |
15344 | .input = "\x9a\xcc\x23\x7d\xff\x16\xd7\x6c" | |
15345 | "\x20\xef\x7c\x91\x9e\x3a\x75\x09", | |
15346 | .ilen = 16, | |
15347 | .result = "\x01\x23\x45\x67\x89\xab\xcd\xef" | |
15348 | "\xfe\xdc\xba\x98\x76\x54\x32\x10", | |
15349 | .rlen = 16, | |
15350 | }, | |
0840605e JK |
15351 | { /* Generated with Crypto++ */ |
15352 | .key = "\x3F\x85\x62\x3F\x1C\xF9\xD6\x1C" | |
15353 | "\xF9\xD6\xB3\x90\x6D\x4A\x90\x6D" | |
15354 | "\x4A\x27\x04\xE1\x27\x04\xE1\xBE" | |
15355 | "\x9B\x78\xBE\x9B\x78\x55\x32\x0F", | |
15356 | .klen = 32, | |
15357 | .input = "\xED\xCD\xDB\xB8\x68\xCE\xBD\xEA" | |
15358 | "\x9D\x9D\xCD\x9F\x4F\xFC\x4D\xB7" | |
15359 | "\xA5\xFF\x6F\x43\x0F\xBA\x32\x04" | |
15360 | "\xB3\xC2\xB9\x03\xAA\x91\x56\x29" | |
15361 | "\x0D\xD0\xFD\xC4\x65\xA5\x69\xB9" | |
15362 | "\xF1\xF6\xB1\xA5\xB2\x75\x4F\x8A", | |
15363 | .ilen = 48, | |
15364 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
15365 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
15366 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
15367 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
15368 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
15369 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | |
15370 | .rlen = 48, | |
15371 | }, | |
da7f033d HX |
15372 | }; |
15373 | ||
15374 | static struct cipher_testvec camellia_cbc_enc_tv_template[] = { | |
15375 | { | |
15376 | .key = "\x06\xa9\x21\x40\x36\xb8\xa1\x5b" | |
15377 | "\x51\x2e\x03\xd5\x34\x12\x00\x06", | |
15378 | .klen = 16, | |
15379 | .iv = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30" | |
15380 | "\xb4\x22\xda\x80\x2c\x9f\xac\x41", | |
15381 | .input = "Single block msg", | |
15382 | .ilen = 16, | |
15383 | .result = "\xea\x32\x12\x76\x3b\x50\x10\xe7" | |
15384 | "\x18\xf6\xfd\x5d\xf6\x8f\x13\x51", | |
15385 | .rlen = 16, | |
15386 | }, { | |
15387 | .key = "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0" | |
15388 | "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a", | |
15389 | .klen = 16, | |
15390 | .iv = "\x56\x2e\x17\x99\x6d\x09\x3d\x28" | |
15391 | "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58", | |
15392 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
15393 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
15394 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
15395 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
15396 | .ilen = 32, | |
15397 | .result = "\xa5\xdf\x6e\x50\xda\x70\x6c\x01" | |
15398 | "\x4a\xab\xf3\xf2\xd6\xfc\x6c\xfd" | |
15399 | "\x19\xb4\x3e\x57\x1c\x02\x5e\xa0" | |
15400 | "\x15\x78\xe0\x5e\xf2\xcb\x87\x16", | |
15401 | .rlen = 32, | |
15402 | }, | |
0840605e JK |
15403 | { /* Generated with Crypto++ */ |
15404 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
15405 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
15406 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
15407 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
15408 | .klen = 32, | |
15409 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
15410 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
15411 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
15412 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
15413 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
15414 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
15415 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
15416 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | |
15417 | .ilen = 48, | |
15418 | .result = "\xCD\x3E\x2A\x3B\x3E\x94\xC5\x77" | |
15419 | "\xBA\xBB\x5B\xB1\xDE\x7B\xA4\x40" | |
15420 | "\x88\x39\xE3\xFD\x94\x4B\x25\x58" | |
15421 | "\xE1\x4B\xC4\x18\x7A\xFD\x17\x2B" | |
15422 | "\xB9\xF9\xC2\x27\x6A\xB6\x31\x27" | |
15423 | "\xA6\xAD\xEF\xE5\x5D\xE4\x02\x01", | |
15424 | .rlen = 48, | |
15425 | }, | |
da7f033d HX |
15426 | }; |
15427 | ||
15428 | static struct cipher_testvec camellia_cbc_dec_tv_template[] = { | |
15429 | { | |
15430 | .key = "\x06\xa9\x21\x40\x36\xb8\xa1\x5b" | |
15431 | "\x51\x2e\x03\xd5\x34\x12\x00\x06", | |
15432 | .klen = 16, | |
15433 | .iv = "\x3d\xaf\xba\x42\x9d\x9e\xb4\x30" | |
15434 | "\xb4\x22\xda\x80\x2c\x9f\xac\x41", | |
15435 | .input = "\xea\x32\x12\x76\x3b\x50\x10\xe7" | |
15436 | "\x18\xf6\xfd\x5d\xf6\x8f\x13\x51", | |
15437 | .ilen = 16, | |
15438 | .result = "Single block msg", | |
15439 | .rlen = 16, | |
15440 | }, { | |
15441 | .key = "\xc2\x86\x69\x6d\x88\x7c\x9a\xa0" | |
15442 | "\x61\x1b\xbb\x3e\x20\x25\xa4\x5a", | |
15443 | .klen = 16, | |
15444 | .iv = "\x56\x2e\x17\x99\x6d\x09\x3d\x28" | |
15445 | "\xdd\xb3\xba\x69\x5a\x2e\x6f\x58", | |
15446 | .input = "\xa5\xdf\x6e\x50\xda\x70\x6c\x01" | |
15447 | "\x4a\xab\xf3\xf2\xd6\xfc\x6c\xfd" | |
15448 | "\x19\xb4\x3e\x57\x1c\x02\x5e\xa0" | |
15449 | "\x15\x78\xe0\x5e\xf2\xcb\x87\x16", | |
15450 | .ilen = 32, | |
15451 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
15452 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
15453 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
15454 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
15455 | .rlen = 32, | |
15456 | }, | |
0840605e JK |
15457 | { /* Generated with Crypto++ */ |
15458 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
15459 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
15460 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
15461 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
15462 | .klen = 32, | |
15463 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
15464 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
15465 | .input = "\xCD\x3E\x2A\x3B\x3E\x94\xC5\x77" | |
15466 | "\xBA\xBB\x5B\xB1\xDE\x7B\xA4\x40" | |
15467 | "\x88\x39\xE3\xFD\x94\x4B\x25\x58" | |
15468 | "\xE1\x4B\xC4\x18\x7A\xFD\x17\x2B" | |
15469 | "\xB9\xF9\xC2\x27\x6A\xB6\x31\x27" | |
15470 | "\xA6\xAD\xEF\xE5\x5D\xE4\x02\x01", | |
15471 | .ilen = 48, | |
15472 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
15473 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
15474 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
15475 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
15476 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
15477 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | |
15478 | .rlen = 48, | |
15479 | }, | |
15480 | }; | |
15481 | ||
15482 | static struct cipher_testvec camellia_ctr_enc_tv_template[] = { | |
15483 | { /* Generated with Crypto++ */ | |
15484 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
15485 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
15486 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
15487 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
15488 | .klen = 32, | |
15489 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
15490 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
15491 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
15492 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
15493 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
15494 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
15495 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
15496 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | |
15497 | .ilen = 48, | |
15498 | .result = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" | |
15499 | "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" | |
15500 | "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" | |
15501 | "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" | |
15502 | "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" | |
15503 | "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C", | |
15504 | .rlen = 48, | |
15505 | }, | |
15506 | { /* Generated with Crypto++ */ | |
15507 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
15508 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
15509 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
15510 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
15511 | .klen = 32, | |
15512 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
15513 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
15514 | .input = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
15515 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
15516 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
15517 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
15518 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
15519 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
15520 | "\xDF\x76\x0D", | |
15521 | .ilen = 51, | |
15522 | .result = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" | |
15523 | "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" | |
15524 | "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" | |
15525 | "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" | |
15526 | "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" | |
15527 | "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C" | |
15528 | "\x1E\x43\xEF", | |
15529 | .rlen = 51, | |
15530 | }, | |
15531 | }; | |
15532 | ||
15533 | static struct cipher_testvec camellia_ctr_dec_tv_template[] = { | |
15534 | { /* Generated with Crypto++ */ | |
15535 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
15536 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
15537 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
15538 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
15539 | .klen = 32, | |
15540 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
15541 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
15542 | .input = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" | |
15543 | "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" | |
15544 | "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" | |
15545 | "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" | |
15546 | "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" | |
15547 | "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C", | |
15548 | .ilen = 48, | |
15549 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
15550 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
15551 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
15552 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
15553 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
15554 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48", | |
15555 | .rlen = 48, | |
15556 | }, | |
15557 | { /* Generated with Crypto++ */ | |
15558 | .key = "\x85\x62\x3F\x1C\xF9\xD6\x1C\xF9" | |
15559 | "\xD6\xB3\x90\x6D\x4A\x90\x6D\x4A" | |
15560 | "\x27\x04\xE1\x27\x04\xE1\xBE\x9B" | |
15561 | "\x78\xBE\x9B\x78\x55\x32\x0F\x55", | |
15562 | .klen = 32, | |
15563 | .iv = "\xE2\x24\x89\xEE\x53\xB8\x1D\x5F" | |
15564 | "\xC4\x29\x8E\xF3\x35\x9A\xFF\x64", | |
15565 | .input = "\xF3\x06\x3A\x84\xCD\xBA\x8E\x11" | |
15566 | "\xB7\x74\x6F\x5C\x97\xFB\x36\xFE" | |
15567 | "\xDE\x71\x58\xD4\x15\xD1\xC1\xA4" | |
15568 | "\xC9\x28\x74\xA6\x6B\xC7\x95\xA6" | |
15569 | "\x6C\x77\xF7\x2F\xDF\xC7\xBB\x85" | |
15570 | "\x60\xFC\xE8\x94\xE8\xB5\x09\x2C" | |
15571 | "\x1E\x43\xEF", | |
15572 | .ilen = 51, | |
15573 | .result = "\x56\xED\x84\x1B\x8F\x26\xBD\x31" | |
15574 | "\xC8\x5F\xF6\x6A\x01\x98\x0C\xA3" | |
15575 | "\x3A\xD1\x45\xDC\x73\x0A\x7E\x15" | |
15576 | "\xAC\x20\xB7\x4E\xE5\x59\xF0\x87" | |
15577 | "\x1E\x92\x29\xC0\x34\xCB\x62\xF9" | |
15578 | "\x6D\x04\x9B\x0F\xA6\x3D\xD4\x48" | |
15579 | "\xDF\x76\x0D", | |
15580 | .rlen = 51, | |
15581 | }, | |
15582 | ||
15583 | }; | |
15584 | ||
15585 | static struct cipher_testvec camellia_lrw_enc_tv_template[] = { | |
15586 | /* Generated from AES-LRW test vectors */ | |
15587 | { | |
15588 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | |
15589 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | |
15590 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | |
15591 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | |
15592 | .klen = 32, | |
15593 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15594 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
15595 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15596 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15597 | .ilen = 16, | |
15598 | .result = "\x92\x68\x19\xd7\xb7\x5b\x0a\x31" | |
15599 | "\x97\xcc\x72\xbe\x99\x17\xeb\x3e", | |
15600 | .rlen = 16, | |
15601 | }, { | |
15602 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | |
15603 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | |
15604 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | |
15605 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | |
15606 | .klen = 32, | |
15607 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15608 | "\x00\x00\x00\x00\x00\x00\x00\x02", | |
15609 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15610 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15611 | .ilen = 16, | |
15612 | .result = "\x73\x09\xb7\x50\xb6\x77\x30\x50" | |
15613 | "\x5c\x8a\x9c\x26\x77\x9d\xfc\x4a", | |
15614 | .rlen = 16, | |
15615 | }, { | |
15616 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | |
15617 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | |
15618 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | |
15619 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | |
15620 | .klen = 32, | |
15621 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15622 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
15623 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15624 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15625 | .ilen = 16, | |
15626 | .result = "\x90\xae\x83\xe0\x22\xb9\x60\x91" | |
15627 | "\xfa\xa9\xb7\x98\xe3\xed\x87\x01", | |
15628 | .rlen = 16, | |
15629 | }, { | |
15630 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | |
15631 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | |
15632 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | |
15633 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | |
15634 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | |
15635 | .klen = 40, | |
15636 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15637 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
15638 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15639 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15640 | .ilen = 16, | |
15641 | .result = "\x99\xe9\x6e\xd4\xc9\x21\xa5\xf0" | |
15642 | "\xd8\x83\xef\xd9\x07\x16\x5f\x35", | |
15643 | .rlen = 16, | |
15644 | }, { | |
15645 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | |
15646 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | |
15647 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | |
15648 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | |
15649 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | |
15650 | .klen = 40, | |
15651 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15652 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
15653 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15654 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15655 | .ilen = 16, | |
15656 | .result = "\x42\x88\xf4\xcb\x21\x11\x6d\x8e" | |
15657 | "\xde\x1a\xf2\x29\xf1\x4a\xe0\x15", | |
15658 | .rlen = 16, | |
15659 | }, { | |
15660 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
15661 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
15662 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
15663 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
15664 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
15665 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
15666 | .klen = 48, | |
15667 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15668 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
15669 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15670 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15671 | .ilen = 16, | |
15672 | .result = "\x40\xaa\x34\x86\x4a\x8f\x78\xb9" | |
15673 | "\xdb\xdb\x0f\x3d\x48\x70\xbe\x8d", | |
15674 | .rlen = 16, | |
15675 | }, { | |
15676 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | |
15677 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | |
15678 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | |
15679 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | |
15680 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | |
15681 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | |
15682 | .klen = 48, | |
15683 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15684 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
15685 | .input = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15686 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15687 | .ilen = 16, | |
15688 | .result = "\x04\xab\x28\x37\x31\x7a\x26\xab" | |
15689 | "\xa1\x70\x1b\x9c\xe7\xdd\x83\xff", | |
15690 | .rlen = 16, | |
15691 | }, { | |
15692 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
15693 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
15694 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
15695 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
15696 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
15697 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
15698 | .klen = 48, | |
15699 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15700 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
15701 | .input = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
15702 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
15703 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
15704 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
15705 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
15706 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
15707 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
15708 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
15709 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
15710 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
15711 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
15712 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
15713 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
15714 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
15715 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
15716 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
15717 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
15718 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
15719 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
15720 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
15721 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
15722 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
15723 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
15724 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
15725 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
15726 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
15727 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
15728 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
15729 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
15730 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
15731 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
15732 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
15733 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
15734 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
15735 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
15736 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
15737 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
15738 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
15739 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
15740 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
15741 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
15742 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
15743 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
15744 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
15745 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
15746 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
15747 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
15748 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
15749 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
15750 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
15751 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
15752 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
15753 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
15754 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
15755 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
15756 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
15757 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
15758 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
15759 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
15760 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
15761 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
15762 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
15763 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
15764 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
15765 | .ilen = 512, | |
15766 | .result = "\x90\x69\x8e\xf2\x14\x86\x59\xf9" | |
15767 | "\xec\xe7\xfa\x3f\x48\x9d\x7f\x96" | |
15768 | "\x67\x76\xac\x2c\xd2\x63\x18\x93" | |
15769 | "\x13\xf8\xf1\xf6\x71\x77\xb3\xee" | |
15770 | "\x93\xb2\xcc\xf3\x26\xc1\x16\x4f" | |
15771 | "\xd4\xe8\x43\xc1\x68\xa3\x3e\x06" | |
15772 | "\x38\x51\xff\xa8\xb9\xa4\xeb\xb1" | |
15773 | "\x62\xdd\x78\x81\xea\x1d\xef\x04" | |
15774 | "\x1d\x07\xc1\x67\xc8\xd6\x77\xa1" | |
15775 | "\x84\x95\xf4\x9a\xd9\xbc\x2d\xe2" | |
15776 | "\xf6\x80\xfc\x91\x2a\xbc\x42\xa0" | |
15777 | "\x40\x41\x69\xaa\x71\xc0\x37\xec" | |
15778 | "\x39\xf3\xf2\xec\x82\xc3\x88\x79" | |
15779 | "\xbc\xc3\xaa\xb7\xcf\x6a\x72\x80" | |
15780 | "\x4c\xf4\x84\x8f\x13\x9e\x94\x5c" | |
15781 | "\xe5\xb2\x91\xbb\x92\x51\x4d\xf1" | |
15782 | "\xd6\x0d\x71\x6b\x7a\xc2\x2f\x12" | |
15783 | "\x6f\x75\xc7\x80\x99\x50\x84\xcf" | |
15784 | "\xa8\xeb\xd6\xe1\x1c\x59\x81\x7e" | |
15785 | "\xb9\xb3\xde\x7a\x93\x14\x12\xa2" | |
15786 | "\xf7\x43\xb3\x9d\x1a\x87\x65\x91" | |
15787 | "\x42\x08\x40\x82\x06\x1c\x2d\x55" | |
15788 | "\x6e\x48\xd5\x74\x07\x6e\x9d\x80" | |
15789 | "\xeb\xb4\x97\xa1\x36\xdf\xfa\x74" | |
15790 | "\x79\x7f\x5a\x75\xe7\x71\xc8\x8c" | |
15791 | "\x7e\xf8\x3a\x77\xcd\x32\x05\xf9" | |
15792 | "\x3d\xd4\xe9\xa2\xbb\xc4\x8b\x83" | |
15793 | "\x42\x5c\x82\xfa\xe9\x4b\x96\x3b" | |
15794 | "\x7f\x89\x8b\xf9\xf1\x87\xda\xf0" | |
15795 | "\x87\xef\x13\x5d\xf0\xe2\xc5\xc1" | |
15796 | "\xed\x14\xa9\x57\x19\x63\x40\x04" | |
15797 | "\x24\xeb\x6e\x19\xd1\x3d\x70\x78" | |
15798 | "\xeb\xda\x55\x70\x2c\x4f\x41\x5b" | |
15799 | "\x56\x9f\x1a\xd3\xac\xf1\xc0\xc3" | |
15800 | "\x21\xec\xd7\xd2\x55\x32\x7c\x2e" | |
15801 | "\x3c\x48\x8e\xb4\x85\x35\x47\xfe" | |
15802 | "\xe2\x88\x79\x98\x6a\xc9\x8d\xff" | |
15803 | "\xe9\x89\x6e\xb8\xe2\x97\x00\xbd" | |
15804 | "\xa4\x8f\xba\xd0\x8c\xcb\x79\x99" | |
15805 | "\xb3\xb2\xb2\x7a\xc3\xb7\xef\x75" | |
15806 | "\x23\x52\x76\xc3\x50\x6e\x66\xf8" | |
15807 | "\xa2\xe2\xce\xba\x40\x21\x3f\xc9" | |
15808 | "\x0a\x32\x7f\xf7\x08\x8c\x66\xcf" | |
15809 | "\xd3\xdf\x57\x59\x83\xb8\xe1\x85" | |
15810 | "\xd6\x8f\xfb\x48\x1f\x3a\xc4\x2f" | |
15811 | "\xb4\x2d\x58\xab\xd8\x7f\x5e\x3a" | |
15812 | "\xbc\x62\x3e\xe2\x6a\x52\x0d\x76" | |
15813 | "\x2f\x1c\x1a\x30\xed\x95\x2a\x44" | |
15814 | "\x35\xa5\x83\x04\x84\x01\x99\x56" | |
15815 | "\xb7\xe3\x10\x96\xfa\xdc\x19\xdd" | |
15816 | "\xe2\x7f\xcb\xa0\x49\x1b\xff\x4c" | |
15817 | "\x73\xf6\xbb\x94\x00\xe8\xa9\x3d" | |
15818 | "\xe2\x20\xe9\x3f\xfa\x07\x5d\x77" | |
15819 | "\x06\xd5\x4f\x4d\x02\xb8\x40\x1b" | |
15820 | "\x30\xed\x1a\x50\x19\xef\xc4\x2c" | |
15821 | "\x02\xd9\xc5\xd3\x11\x33\x37\xe5" | |
15822 | "\x2b\xa3\x95\xa6\xee\xd8\x74\x1d" | |
15823 | "\x68\xa0\xeb\xbf\xdd\x5e\x99\x96" | |
15824 | "\x91\xc3\x94\x24\xa5\x12\xa2\x37" | |
15825 | "\xb3\xac\xcf\x2a\xfd\x55\x34\xfe" | |
15826 | "\x79\x92\x3e\xe6\x1b\x49\x57\x5d" | |
15827 | "\x93\x6c\x01\xf7\xcc\x4e\x20\xd1" | |
15828 | "\xb2\x1a\xd8\x4c\xbd\x1d\x10\xe9" | |
15829 | "\x5a\xa8\x92\x7f\xba\xe6\x0c\x95", | |
15830 | .rlen = 512, | |
15831 | }, | |
15832 | }; | |
15833 | ||
15834 | static struct cipher_testvec camellia_lrw_dec_tv_template[] = { | |
15835 | /* Generated from AES-LRW test vectors */ | |
15836 | /* same as enc vectors with input and result reversed */ | |
15837 | { | |
15838 | .key = "\x45\x62\xac\x25\xf8\x28\x17\x6d" | |
15839 | "\x4c\x26\x84\x14\xb5\x68\x01\x85" | |
15840 | "\x25\x8e\x2a\x05\xe7\x3e\x9d\x03" | |
15841 | "\xee\x5a\x83\x0c\xcc\x09\x4c\x87", | |
15842 | .klen = 32, | |
15843 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15844 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
15845 | .input = "\x92\x68\x19\xd7\xb7\x5b\x0a\x31" | |
15846 | "\x97\xcc\x72\xbe\x99\x17\xeb\x3e", | |
15847 | .ilen = 16, | |
15848 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15849 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15850 | .rlen = 16, | |
15851 | }, { | |
15852 | .key = "\x59\x70\x47\x14\xf5\x57\x47\x8c" | |
15853 | "\xd7\x79\xe8\x0f\x54\x88\x79\x44" | |
15854 | "\x0d\x48\xf0\xb7\xb1\x5a\x53\xea" | |
15855 | "\x1c\xaa\x6b\x29\xc2\xca\xfb\xaf", | |
15856 | .klen = 32, | |
15857 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15858 | "\x00\x00\x00\x00\x00\x00\x00\x02", | |
15859 | .input = "\x73\x09\xb7\x50\xb6\x77\x30\x50" | |
15860 | "\x5c\x8a\x9c\x26\x77\x9d\xfc\x4a", | |
15861 | .ilen = 16, | |
15862 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15863 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15864 | .rlen = 16, | |
15865 | }, { | |
15866 | .key = "\xd8\x2a\x91\x34\xb2\x6a\x56\x50" | |
15867 | "\x30\xfe\x69\xe2\x37\x7f\x98\x47" | |
15868 | "\xcd\xf9\x0b\x16\x0c\x64\x8f\xb6" | |
15869 | "\xb0\x0d\x0d\x1b\xae\x85\x87\x1f", | |
15870 | .klen = 32, | |
15871 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15872 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
15873 | .input = "\x90\xae\x83\xe0\x22\xb9\x60\x91" | |
15874 | "\xfa\xa9\xb7\x98\xe3\xed\x87\x01", | |
15875 | .ilen = 16, | |
15876 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15877 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15878 | .rlen = 16, | |
15879 | }, { | |
15880 | .key = "\x0f\x6a\xef\xf8\xd3\xd2\xbb\x15" | |
15881 | "\x25\x83\xf7\x3c\x1f\x01\x28\x74" | |
15882 | "\xca\xc6\xbc\x35\x4d\x4a\x65\x54" | |
15883 | "\x90\xae\x61\xcf\x7b\xae\xbd\xcc" | |
15884 | "\xad\xe4\x94\xc5\x4a\x29\xae\x70", | |
15885 | .klen = 40, | |
15886 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15887 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
15888 | .input = "\x99\xe9\x6e\xd4\xc9\x21\xa5\xf0" | |
15889 | "\xd8\x83\xef\xd9\x07\x16\x5f\x35", | |
15890 | .ilen = 16, | |
15891 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15892 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15893 | .rlen = 16, | |
15894 | }, { | |
15895 | .key = "\x8a\xd4\xee\x10\x2f\xbd\x81\xff" | |
15896 | "\xf8\x86\xce\xac\x93\xc5\xad\xc6" | |
15897 | "\xa0\x19\x07\xc0\x9d\xf7\xbb\xdd" | |
15898 | "\x52\x13\xb2\xb7\xf0\xff\x11\xd8" | |
15899 | "\xd6\x08\xd0\xcd\x2e\xb1\x17\x6f", | |
15900 | .klen = 40, | |
15901 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15902 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
15903 | .input = "\x42\x88\xf4\xcb\x21\x11\x6d\x8e" | |
15904 | "\xde\x1a\xf2\x29\xf1\x4a\xe0\x15", | |
15905 | .ilen = 16, | |
15906 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15907 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15908 | .rlen = 16, | |
15909 | }, { | |
15910 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
15911 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
15912 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
15913 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
15914 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
15915 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
15916 | .klen = 48, | |
15917 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15918 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
15919 | .input = "\x40\xaa\x34\x86\x4a\x8f\x78\xb9" | |
15920 | "\xdb\xdb\x0f\x3d\x48\x70\xbe\x8d", | |
15921 | .ilen = 16, | |
15922 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15923 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15924 | .rlen = 16, | |
15925 | }, { | |
15926 | .key = "\xfb\x76\x15\xb2\x3d\x80\x89\x1d" | |
15927 | "\xd4\x70\x98\x0b\xc7\x95\x84\xc8" | |
15928 | "\xb2\xfb\x64\xce\x60\x97\x87\x8d" | |
15929 | "\x17\xfc\xe4\x5a\x49\xe8\x30\xb7" | |
15930 | "\x6e\x78\x17\xe7\x2d\x5e\x12\xd4" | |
15931 | "\x60\x64\x04\x7a\xf1\x2f\x9e\x0c", | |
15932 | .klen = 48, | |
15933 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15934 | "\x00\x00\x00\x02\x00\x00\x00\x00", | |
15935 | .input = "\x04\xab\x28\x37\x31\x7a\x26\xab" | |
15936 | "\xa1\x70\x1b\x9c\xe7\xdd\x83\xff", | |
15937 | .ilen = 16, | |
15938 | .result = "\x30\x31\x32\x33\x34\x35\x36\x37" | |
15939 | "\x38\x39\x41\x42\x43\x44\x45\x46", | |
15940 | .rlen = 16, | |
15941 | }, { | |
15942 | .key = "\xf8\xd4\x76\xff\xd6\x46\xee\x6c" | |
15943 | "\x23\x84\xcb\x1c\x77\xd6\x19\x5d" | |
15944 | "\xfe\xf1\xa9\xf3\x7b\xbc\x8d\x21" | |
15945 | "\xa7\x9c\x21\xf8\xcb\x90\x02\x89" | |
15946 | "\xa8\x45\x34\x8e\xc8\xc5\xb5\xf1" | |
15947 | "\x26\xf5\x0e\x76\xfe\xfd\x1b\x1e", | |
15948 | .klen = 48, | |
15949 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
15950 | "\x00\x00\x00\x00\x00\x00\x00\x01", | |
15951 | .input = "\x90\x69\x8e\xf2\x14\x86\x59\xf9" | |
15952 | "\xec\xe7\xfa\x3f\x48\x9d\x7f\x96" | |
15953 | "\x67\x76\xac\x2c\xd2\x63\x18\x93" | |
15954 | "\x13\xf8\xf1\xf6\x71\x77\xb3\xee" | |
15955 | "\x93\xb2\xcc\xf3\x26\xc1\x16\x4f" | |
15956 | "\xd4\xe8\x43\xc1\x68\xa3\x3e\x06" | |
15957 | "\x38\x51\xff\xa8\xb9\xa4\xeb\xb1" | |
15958 | "\x62\xdd\x78\x81\xea\x1d\xef\x04" | |
15959 | "\x1d\x07\xc1\x67\xc8\xd6\x77\xa1" | |
15960 | "\x84\x95\xf4\x9a\xd9\xbc\x2d\xe2" | |
15961 | "\xf6\x80\xfc\x91\x2a\xbc\x42\xa0" | |
15962 | "\x40\x41\x69\xaa\x71\xc0\x37\xec" | |
15963 | "\x39\xf3\xf2\xec\x82\xc3\x88\x79" | |
15964 | "\xbc\xc3\xaa\xb7\xcf\x6a\x72\x80" | |
15965 | "\x4c\xf4\x84\x8f\x13\x9e\x94\x5c" | |
15966 | "\xe5\xb2\x91\xbb\x92\x51\x4d\xf1" | |
15967 | "\xd6\x0d\x71\x6b\x7a\xc2\x2f\x12" | |
15968 | "\x6f\x75\xc7\x80\x99\x50\x84\xcf" | |
15969 | "\xa8\xeb\xd6\xe1\x1c\x59\x81\x7e" | |
15970 | "\xb9\xb3\xde\x7a\x93\x14\x12\xa2" | |
15971 | "\xf7\x43\xb3\x9d\x1a\x87\x65\x91" | |
15972 | "\x42\x08\x40\x82\x06\x1c\x2d\x55" | |
15973 | "\x6e\x48\xd5\x74\x07\x6e\x9d\x80" | |
15974 | "\xeb\xb4\x97\xa1\x36\xdf\xfa\x74" | |
15975 | "\x79\x7f\x5a\x75\xe7\x71\xc8\x8c" | |
15976 | "\x7e\xf8\x3a\x77\xcd\x32\x05\xf9" | |
15977 | "\x3d\xd4\xe9\xa2\xbb\xc4\x8b\x83" | |
15978 | "\x42\x5c\x82\xfa\xe9\x4b\x96\x3b" | |
15979 | "\x7f\x89\x8b\xf9\xf1\x87\xda\xf0" | |
15980 | "\x87\xef\x13\x5d\xf0\xe2\xc5\xc1" | |
15981 | "\xed\x14\xa9\x57\x19\x63\x40\x04" | |
15982 | "\x24\xeb\x6e\x19\xd1\x3d\x70\x78" | |
15983 | "\xeb\xda\x55\x70\x2c\x4f\x41\x5b" | |
15984 | "\x56\x9f\x1a\xd3\xac\xf1\xc0\xc3" | |
15985 | "\x21\xec\xd7\xd2\x55\x32\x7c\x2e" | |
15986 | "\x3c\x48\x8e\xb4\x85\x35\x47\xfe" | |
15987 | "\xe2\x88\x79\x98\x6a\xc9\x8d\xff" | |
15988 | "\xe9\x89\x6e\xb8\xe2\x97\x00\xbd" | |
15989 | "\xa4\x8f\xba\xd0\x8c\xcb\x79\x99" | |
15990 | "\xb3\xb2\xb2\x7a\xc3\xb7\xef\x75" | |
15991 | "\x23\x52\x76\xc3\x50\x6e\x66\xf8" | |
15992 | "\xa2\xe2\xce\xba\x40\x21\x3f\xc9" | |
15993 | "\x0a\x32\x7f\xf7\x08\x8c\x66\xcf" | |
15994 | "\xd3\xdf\x57\x59\x83\xb8\xe1\x85" | |
15995 | "\xd6\x8f\xfb\x48\x1f\x3a\xc4\x2f" | |
15996 | "\xb4\x2d\x58\xab\xd8\x7f\x5e\x3a" | |
15997 | "\xbc\x62\x3e\xe2\x6a\x52\x0d\x76" | |
15998 | "\x2f\x1c\x1a\x30\xed\x95\x2a\x44" | |
15999 | "\x35\xa5\x83\x04\x84\x01\x99\x56" | |
16000 | "\xb7\xe3\x10\x96\xfa\xdc\x19\xdd" | |
16001 | "\xe2\x7f\xcb\xa0\x49\x1b\xff\x4c" | |
16002 | "\x73\xf6\xbb\x94\x00\xe8\xa9\x3d" | |
16003 | "\xe2\x20\xe9\x3f\xfa\x07\x5d\x77" | |
16004 | "\x06\xd5\x4f\x4d\x02\xb8\x40\x1b" | |
16005 | "\x30\xed\x1a\x50\x19\xef\xc4\x2c" | |
16006 | "\x02\xd9\xc5\xd3\x11\x33\x37\xe5" | |
16007 | "\x2b\xa3\x95\xa6\xee\xd8\x74\x1d" | |
16008 | "\x68\xa0\xeb\xbf\xdd\x5e\x99\x96" | |
16009 | "\x91\xc3\x94\x24\xa5\x12\xa2\x37" | |
16010 | "\xb3\xac\xcf\x2a\xfd\x55\x34\xfe" | |
16011 | "\x79\x92\x3e\xe6\x1b\x49\x57\x5d" | |
16012 | "\x93\x6c\x01\xf7\xcc\x4e\x20\xd1" | |
16013 | "\xb2\x1a\xd8\x4c\xbd\x1d\x10\xe9" | |
16014 | "\x5a\xa8\x92\x7f\xba\xe6\x0c\x95", | |
16015 | .ilen = 512, | |
16016 | .result = "\x05\x11\xb7\x18\xab\xc6\x2d\xac" | |
16017 | "\x70\x5d\xf6\x22\x94\xcd\xe5\x6c" | |
16018 | "\x17\x6b\xf6\x1c\xf0\xf3\x6e\xf8" | |
16019 | "\x50\x38\x1f\x71\x49\xb6\x57\xd6" | |
16020 | "\x8f\xcb\x8d\x6b\xe3\xa6\x29\x90" | |
16021 | "\xfe\x2a\x62\x82\xae\x6d\x8b\xf6" | |
16022 | "\xad\x1e\x9e\x20\x5f\x38\xbe\x04" | |
16023 | "\xda\x10\x8e\xed\xa2\xa4\x87\xab" | |
16024 | "\xda\x6b\xb4\x0c\x75\xba\xd3\x7c" | |
16025 | "\xc9\xac\x42\x31\x95\x7c\xc9\x04" | |
16026 | "\xeb\xd5\x6e\x32\x69\x8a\xdb\xa6" | |
16027 | "\x15\xd7\x3f\x4f\x2f\x66\x69\x03" | |
16028 | "\x9c\x1f\x54\x0f\xde\x1f\xf3\x65" | |
16029 | "\x4c\x96\x12\xed\x7c\x92\x03\x01" | |
16030 | "\x6f\xbc\x35\x93\xac\xf1\x27\xf1" | |
16031 | "\xb4\x96\x82\x5a\x5f\xb0\xa0\x50" | |
16032 | "\x89\xa4\x8e\x66\x44\x85\xcc\xfd" | |
16033 | "\x33\x14\x70\xe3\x96\xb2\xc3\xd3" | |
16034 | "\xbb\x54\x5a\x1a\xf9\x74\xa2\xc5" | |
16035 | "\x2d\x64\x75\xdd\xb4\x54\xe6\x74" | |
16036 | "\x8c\xd3\x9d\x9e\x86\xab\x51\x53" | |
16037 | "\xb7\x93\x3e\x6f\xd0\x4e\x2c\x40" | |
16038 | "\xf6\xa8\x2e\x3e\x9d\xf4\x66\xa5" | |
16039 | "\x76\x12\x73\x44\x1a\x56\xd7\x72" | |
16040 | "\x88\xcd\x21\x8c\x4c\x0f\xfe\xda" | |
16041 | "\x95\xe0\x3a\xa6\xa5\x84\x46\xcd" | |
16042 | "\xd5\x3e\x9d\x3a\xe2\x67\xe6\x60" | |
16043 | "\x1a\xe2\x70\x85\x58\xc2\x1b\x09" | |
16044 | "\xe1\xd7\x2c\xca\xad\xa8\x8f\xf9" | |
16045 | "\xac\xb3\x0e\xdb\xca\x2e\xe2\xb8" | |
16046 | "\x51\x71\xd9\x3c\x6c\xf1\x56\xf8" | |
16047 | "\xea\x9c\xf1\xfb\x0c\xe6\xb7\x10" | |
16048 | "\x1c\xf8\xa9\x7c\xe8\x53\x35\xc1" | |
16049 | "\x90\x3e\x76\x4a\x74\xa4\x21\x2c" | |
16050 | "\xf6\x2c\x4e\x0f\x94\x3a\x88\x2e" | |
16051 | "\x41\x09\x6a\x33\x7d\xf6\xdd\x3f" | |
16052 | "\x8d\x23\x31\x74\x84\xeb\x88\x6e" | |
16053 | "\xcc\xb9\xbc\x22\x83\x19\x07\x22" | |
16054 | "\xa5\x2d\xdf\xa5\xf3\x80\x85\x78" | |
16055 | "\x84\x39\x6a\x6d\x6a\x99\x4f\xa5" | |
16056 | "\x15\xfe\x46\xb0\xe4\x6c\xa5\x41" | |
16057 | "\x3c\xce\x8f\x42\x60\x71\xa7\x75" | |
16058 | "\x08\x40\x65\x8a\x82\xbf\xf5\x43" | |
16059 | "\x71\x96\xa9\x4d\x44\x8a\x20\xbe" | |
16060 | "\xfa\x4d\xbb\xc0\x7d\x31\x96\x65" | |
16061 | "\xe7\x75\xe5\x3e\xfd\x92\x3b\xc9" | |
16062 | "\x55\xbb\x16\x7e\xf7\xc2\x8c\xa4" | |
16063 | "\x40\x1d\xe5\xef\x0e\xdf\xe4\x9a" | |
16064 | "\x62\x73\x65\xfd\x46\x63\x25\x3d" | |
16065 | "\x2b\xaf\xe5\x64\xfe\xa5\x5c\xcf" | |
16066 | "\x24\xf3\xb4\xac\x64\xba\xdf\x4b" | |
16067 | "\xc6\x96\x7d\x81\x2d\x8d\x97\xf7" | |
16068 | "\xc5\x68\x77\x84\x32\x2b\xcc\x85" | |
16069 | "\x74\x96\xf0\x12\x77\x61\xb9\xeb" | |
16070 | "\x71\xaa\x82\xcb\x1c\xdb\x89\xc8" | |
16071 | "\xc6\xb5\xe3\x5c\x7d\x39\x07\x24" | |
16072 | "\xda\x39\x87\x45\xc0\x2b\xbb\x01" | |
16073 | "\xac\xbc\x2a\x5c\x7f\xfc\xe8\xce" | |
16074 | "\x6d\x9c\x6f\xed\xd3\xc1\xa1\xd6" | |
16075 | "\xc5\x55\xa9\x66\x2f\xe1\xc8\x32" | |
16076 | "\xa6\x5d\xa4\x3a\x98\x73\xe8\x45" | |
16077 | "\xa4\xc7\xa8\xb4\xf6\x13\x03\xf6" | |
16078 | "\xe9\x2e\xc4\x29\x0f\x84\xdb\xc4" | |
16079 | "\x21\xc4\xc2\x75\x67\x89\x37\x0a", | |
16080 | .rlen = 512, | |
16081 | }, | |
16082 | }; | |
16083 | ||
16084 | static struct cipher_testvec camellia_xts_enc_tv_template[] = { | |
16085 | /* Generated from AES-XTS test vectors */ | |
16086 | { | |
16087 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16088 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16089 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16090 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16091 | .klen = 32, | |
16092 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16093 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16094 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16095 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16096 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16097 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16098 | .ilen = 32, | |
16099 | .result = "\x06\xcb\xa5\xf1\x04\x63\xb2\x41" | |
16100 | "\xdc\xca\xfa\x09\xba\x74\xb9\x05" | |
16101 | "\x78\xba\xa4\xf8\x67\x4d\x7e\xad" | |
16102 | "\x20\x18\xf5\x0c\x41\x16\x2a\x61", | |
16103 | .rlen = 32, | |
16104 | }, { | |
16105 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | |
16106 | "\x11\x11\x11\x11\x11\x11\x11\x11" | |
16107 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
16108 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
16109 | .klen = 32, | |
16110 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
16111 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16112 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16113 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16114 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16115 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
16116 | .ilen = 32, | |
16117 | .result = "\xc2\xb9\xdc\x44\x1d\xdf\xf2\x86" | |
16118 | "\x8d\x35\x42\x0a\xa5\x5e\x3d\x4f" | |
16119 | "\xb5\x37\x06\xff\xbd\xd4\x91\x70" | |
16120 | "\x80\x1f\xb2\x39\x10\x89\x44\xf5", | |
16121 | .rlen = 32, | |
16122 | }, { | |
16123 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | |
16124 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | |
16125 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
16126 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
16127 | .klen = 32, | |
16128 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
16129 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16130 | .input = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16131 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16132 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16133 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
16134 | .ilen = 32, | |
16135 | .result = "\x52\x1f\x9d\xf5\x5a\x58\x5a\x7e" | |
16136 | "\x9f\xd0\x8e\x02\x9c\x9a\x6a\xa7" | |
16137 | "\xb4\x3b\xce\xe7\x17\xaa\x89\x6a" | |
16138 | "\x35\x3c\x6b\xb5\x61\x1c\x79\x38", | |
16139 | .rlen = 32, | |
16140 | }, { | |
16141 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
16142 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
16143 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
16144 | "\x23\x84\x62\x64\x33\x83\x27\x95", | |
16145 | .klen = 32, | |
16146 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16147 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16148 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16149 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16150 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16151 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
16152 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
16153 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
16154 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
16155 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
16156 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
16157 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
16158 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
16159 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
16160 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
16161 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
16162 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
16163 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
16164 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
16165 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
16166 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
16167 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
16168 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
16169 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
16170 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
16171 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
16172 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
16173 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
16174 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
16175 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
16176 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
16177 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
16178 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
16179 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
16180 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16181 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16182 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16183 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
16184 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
16185 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
16186 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
16187 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
16188 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
16189 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
16190 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
16191 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
16192 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
16193 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
16194 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
16195 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
16196 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
16197 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
16198 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
16199 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
16200 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
16201 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
16202 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
16203 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
16204 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
16205 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
16206 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
16207 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
16208 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
16209 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
16210 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
16211 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
16212 | .ilen = 512, | |
16213 | .result = "\xc7\xf9\x0a\xaa\xcb\xb5\x8f\x33" | |
16214 | "\x60\xc3\xe9\x47\x90\xb7\x50\x57" | |
16215 | "\xa3\xad\x81\x2f\xf5\x22\x96\x02" | |
16216 | "\xaa\x7f\xea\xac\x29\x78\xca\x2a" | |
16217 | "\x7c\xcd\x31\x1a\x3c\x40\x0a\x73" | |
16218 | "\x09\x66\xad\x72\x0e\x4d\x5d\x77" | |
16219 | "\xbc\xb8\x76\x80\x37\x59\xa9\x01" | |
16220 | "\x9e\xfb\xdb\x6c\x93\xef\xb6\x8d" | |
16221 | "\x1e\xc1\x94\xa8\xd4\xb5\xb0\x01" | |
16222 | "\xd5\x01\x97\x28\xcd\x7a\x1f\xe8" | |
16223 | "\x08\xda\x76\x00\x65\xcf\x7b\x31" | |
16224 | "\xc6\xfa\xf2\x3b\x00\xa7\x6a\x9e" | |
16225 | "\x6c\x43\x80\x87\xe0\xbb\x4e\xe5" | |
16226 | "\xdc\x8a\xdf\xc3\x1d\x1b\x41\x04" | |
16227 | "\xfb\x54\xdd\x29\x27\xc2\x65\x17" | |
16228 | "\x36\x88\xb0\x85\x8d\x73\x7e\x4b" | |
16229 | "\x1d\x16\x8a\x52\xbc\xa6\xbc\xa4" | |
16230 | "\x8c\xd1\x04\x16\xbf\x8c\x01\x0f" | |
16231 | "\x7e\x6b\x59\x15\x29\xd1\x9b\xd3" | |
16232 | "\x6c\xee\xac\xdc\x45\x58\xca\x5b" | |
16233 | "\x70\x0e\x6a\x12\x86\x82\x79\x9f" | |
16234 | "\x16\xd4\x9d\x67\xcd\x70\x65\x26" | |
16235 | "\x21\x72\x1e\xa1\x94\x8a\x83\x0c" | |
16236 | "\x92\x42\x58\x5e\xa2\xc5\x31\xf3" | |
16237 | "\x7b\xd1\x31\xd4\x15\x80\x31\x61" | |
16238 | "\x5c\x53\x10\xdd\xea\xc8\x83\x5c" | |
16239 | "\x7d\xa7\x05\x66\xcc\x1e\xbb\x05" | |
16240 | "\x47\xae\xb4\x0f\x84\xd8\xf6\xb5" | |
16241 | "\xa1\xc6\x52\x00\x52\xe8\xdc\xd9" | |
16242 | "\x16\x31\xb2\x47\x91\x67\xaa\x28" | |
16243 | "\x2c\x29\x85\xa3\xf7\xf2\x24\x93" | |
16244 | "\x23\x80\x1f\xa8\x1b\x82\x8d\xdc" | |
16245 | "\x9f\x0b\xcd\xb4\x3c\x20\xbc\xec" | |
16246 | "\x4f\xc7\xee\xf8\xfd\xd9\xfb\x7e" | |
16247 | "\x3f\x0d\x23\xfa\x3f\xa7\xcc\x66" | |
16248 | "\x1c\xfe\xa6\x86\xf6\xf7\x85\xc7" | |
16249 | "\x43\xc1\xd4\xfc\xe4\x79\xc9\x1d" | |
16250 | "\xf8\x89\xcd\x20\x27\x84\x5d\x5c" | |
16251 | "\x8e\x4f\x1f\xeb\x08\x21\x4f\xa3" | |
16252 | "\xe0\x7e\x0b\x9c\xe7\x42\xcf\xb7" | |
16253 | "\x3f\x43\xcc\x86\x71\x34\x6a\xd9" | |
16254 | "\x5e\xec\x8f\x36\xc9\x0a\x03\xfe" | |
16255 | "\x18\x41\xdc\x9e\x2e\x75\x20\x3e" | |
16256 | "\xcc\x77\xe0\x8f\xe8\x43\x37\x4c" | |
16257 | "\xed\x1a\x5a\xb3\xfa\x43\xc9\x71" | |
16258 | "\x9f\xc5\xce\xcf\xff\xe7\x77\x1e" | |
16259 | "\x35\x93\xde\x6b\xc0\x6a\x7e\xa9" | |
16260 | "\x34\xb8\x27\x74\x08\xda\xf2\x4a" | |
16261 | "\x23\x5b\x9f\x55\x3a\x57\x82\x52" | |
16262 | "\xea\x6d\xc3\xc7\xf2\xc8\xb5\xdc" | |
16263 | "\xc5\xb9\xbb\xaa\xf2\x29\x9f\x49" | |
16264 | "\x7a\xef\xfe\xdc\x9f\xc9\x28\xe2" | |
16265 | "\x96\x0b\x35\x84\x05\x0d\xd6\x2a" | |
16266 | "\xea\x5a\xbf\x69\xde\xee\x4f\x8f" | |
16267 | "\x84\xb9\xcf\xa7\x57\xea\xe0\xe8" | |
16268 | "\x96\xef\x0f\x0e\xec\xc7\xa6\x74" | |
16269 | "\xb1\xfe\x7a\x6d\x11\xdd\x0e\x15" | |
16270 | "\x4a\x1e\x73\x7f\x55\xea\xf6\xe1" | |
16271 | "\x5b\xb6\x71\xda\xb0\x0c\xba\x26" | |
16272 | "\x5c\x48\x38\x6d\x1c\x32\xb2\x7d" | |
16273 | "\x05\x87\xc2\x1e\x7e\x2d\xd4\x33" | |
16274 | "\xcc\x06\xdb\xe7\x82\x29\x63\xd1" | |
16275 | "\x52\x84\x4f\xee\x27\xe8\x02\xd4" | |
16276 | "\x34\x3c\x69\xc2\xbd\x20\xe6\x7a", | |
16277 | .rlen = 512, | |
16278 | }, { | |
16279 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
16280 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
16281 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
16282 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
16283 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
16284 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
16285 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
16286 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
16287 | .klen = 64, | |
16288 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
16289 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16290 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16291 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16292 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16293 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
16294 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
16295 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
16296 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
16297 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
16298 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
16299 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
16300 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
16301 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
16302 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
16303 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
16304 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
16305 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
16306 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
16307 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
16308 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
16309 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
16310 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
16311 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
16312 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
16313 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
16314 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
16315 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
16316 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
16317 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
16318 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
16319 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
16320 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
16321 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
16322 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16323 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16324 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16325 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
16326 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
16327 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
16328 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
16329 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
16330 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
16331 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
16332 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
16333 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
16334 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
16335 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
16336 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
16337 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
16338 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
16339 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
16340 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
16341 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
16342 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
16343 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
16344 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
16345 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
16346 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
16347 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
16348 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
16349 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
16350 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
16351 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
16352 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
16353 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
16354 | .ilen = 512, | |
16355 | .result = "\x49\xcd\xb8\xbf\x2f\x73\x37\x28" | |
16356 | "\x9a\x7f\x6e\x57\x55\xb8\x07\x88" | |
16357 | "\x4a\x0d\x8b\x55\x60\xed\xb6\x7b" | |
16358 | "\xf1\x74\xac\x96\x05\x7b\x32\xca" | |
16359 | "\xd1\x4e\xf1\x58\x29\x16\x24\x6c" | |
16360 | "\xf2\xb3\xe4\x88\x84\xac\x4d\xee" | |
16361 | "\x97\x07\x82\xf0\x07\x12\x38\x0a" | |
16362 | "\x67\x62\xaf\xfd\x85\x9f\x0a\x55" | |
16363 | "\xa5\x20\xc5\x60\xe4\x68\x53\xa4" | |
16364 | "\x0e\x2e\x65\xe3\xe4\x0c\x30\x7c" | |
16365 | "\x1c\x01\x4f\x55\xa9\x13\xeb\x25" | |
16366 | "\x21\x87\xbc\xd3\xe7\x67\x4f\x38" | |
16367 | "\xa8\x14\x25\x71\xe9\x2e\x4c\x21" | |
16368 | "\x41\x82\x0c\x45\x39\x35\xa8\x75" | |
16369 | "\x03\x29\x01\x84\x8c\xab\x48\xbe" | |
16370 | "\x11\x56\x22\x67\xb7\x67\x1a\x09" | |
16371 | "\xa1\x72\x25\x41\x3c\x39\x65\x80" | |
16372 | "\x7d\x2f\xf8\x2c\x73\x04\x58\x9d" | |
16373 | "\xdd\x16\x8b\x63\x70\x4e\xc5\x17" | |
16374 | "\x21\xe0\x84\x51\x4b\x6f\x05\x52" | |
16375 | "\xe3\x63\x34\xfa\xa4\xaf\x33\x20" | |
16376 | "\xc1\xae\x32\xc4\xb8\x2b\xdb\x76" | |
16377 | "\xd9\x02\x31\x2f\xa3\xc6\xd0\x7b" | |
16378 | "\xaf\x1b\x84\xe3\x9b\xbf\xa6\xe0" | |
16379 | "\xb8\x8a\x13\x88\x71\xf4\x11\xa5" | |
16380 | "\xe9\xa9\x10\x33\xe0\xbe\x49\x89" | |
16381 | "\x41\x22\xf5\x9d\x80\x3e\x3b\x76" | |
16382 | "\x01\x16\x50\x6e\x7c\x6a\x81\xe9" | |
16383 | "\x13\x2c\xde\xb2\x5f\x79\xba\xb2" | |
16384 | "\xb1\x75\xae\xd2\x07\x98\x4b\x69" | |
16385 | "\xae\x7d\x5b\x90\xc2\x6c\xe6\x98" | |
16386 | "\xd3\x4c\xa1\xa3\x9c\xc9\x33\x6a" | |
16387 | "\x0d\x23\xb1\x79\x25\x13\x4b\xe5" | |
16388 | "\xaf\x93\x20\x5c\x7f\x06\x7a\x34" | |
16389 | "\x0b\x78\xe3\x67\x26\xe0\xad\x95" | |
16390 | "\xc5\x4e\x26\x22\xcf\x73\x77\x62" | |
16391 | "\x3e\x10\xd7\x90\x4b\x52\x1c\xc9" | |
16392 | "\xef\x38\x52\x18\x0e\x29\x7e\xef" | |
16393 | "\x34\xfe\x31\x95\xc5\xbc\xa8\xe2" | |
16394 | "\xa8\x4e\x9f\xea\xa6\xf0\xfe\x5d" | |
16395 | "\xc5\x39\x86\xed\x2f\x6d\xa0\xfe" | |
16396 | "\x96\xcd\x41\x10\x78\x4e\x0c\xc9" | |
16397 | "\xc3\x6d\x0f\xb7\xe8\xe0\x62\xab" | |
16398 | "\x8b\xf1\x21\x89\xa1\x12\xaa\xfa" | |
16399 | "\x9d\x70\xbe\x4c\xa8\x98\x89\x01" | |
16400 | "\xb9\xe2\x61\xde\x0c\x4a\x0b\xaa" | |
16401 | "\x89\xf5\x14\x79\x18\x8f\x3b\x0d" | |
16402 | "\x21\x17\xf8\x59\x15\x24\x64\x22" | |
16403 | "\x57\x48\x80\xd5\x3d\x92\x30\x07" | |
16404 | "\xd9\xa1\x4a\x23\x16\x43\x48\x0e" | |
16405 | "\x2b\x2d\x1b\x87\xef\x7e\xbd\xfa" | |
16406 | "\x49\xbc\x7e\x68\x6e\xa8\x46\x95" | |
16407 | "\xad\x5e\xfe\x0a\xa8\xd3\x1a\x5d" | |
16408 | "\x6b\x84\xf3\x00\xba\x52\x05\x02" | |
16409 | "\xe3\x96\x4e\xb6\x79\x3f\x43\xd3" | |
16410 | "\x4d\x3f\xd6\xab\x0a\xc4\x75\x2d" | |
16411 | "\xd1\x08\xc3\x6a\xc8\x37\x29\xa0" | |
16412 | "\xcc\x9a\x05\xdd\x5c\xe1\xff\x66" | |
16413 | "\xf2\x7a\x1d\xf2\xaf\xa9\x48\x89" | |
16414 | "\xf5\x21\x0f\x02\x48\x83\x74\xbf" | |
16415 | "\x2e\xe6\x93\x7b\xa0\xf4\xb1\x2b" | |
16416 | "\xb1\x02\x0a\x5c\x79\x19\x3b\x75" | |
16417 | "\xb7\x16\xd8\x12\x5c\xcd\x7d\x4e" | |
16418 | "\xd5\xc6\x99\xcc\x4e\x6c\x94\x95", | |
16419 | .rlen = 512, | |
16420 | }, | |
16421 | }; | |
16422 | ||
16423 | static struct cipher_testvec camellia_xts_dec_tv_template[] = { | |
16424 | /* Generated from AES-XTS test vectors */ | |
16425 | /* same as enc vectors with input and result reversed */ | |
16426 | { | |
16427 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16428 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16429 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16430 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16431 | .klen = 32, | |
16432 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16433 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16434 | .input = "\x06\xcb\xa5\xf1\x04\x63\xb2\x41" | |
16435 | "\xdc\xca\xfa\x09\xba\x74\xb9\x05" | |
16436 | "\x78\xba\xa4\xf8\x67\x4d\x7e\xad" | |
16437 | "\x20\x18\xf5\x0c\x41\x16\x2a\x61", | |
16438 | .ilen = 32, | |
16439 | .result = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16440 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16441 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16442 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16443 | .rlen = 32, | |
16444 | }, { | |
16445 | .key = "\x11\x11\x11\x11\x11\x11\x11\x11" | |
16446 | "\x11\x11\x11\x11\x11\x11\x11\x11" | |
16447 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
16448 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
16449 | .klen = 32, | |
16450 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
16451 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16452 | .input = "\xc2\xb9\xdc\x44\x1d\xdf\xf2\x86" | |
16453 | "\x8d\x35\x42\x0a\xa5\x5e\x3d\x4f" | |
16454 | "\xb5\x37\x06\xff\xbd\xd4\x91\x70" | |
16455 | "\x80\x1f\xb2\x39\x10\x89\x44\xf5", | |
16456 | .ilen = 32, | |
16457 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16458 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16459 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16460 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
16461 | .rlen = 32, | |
16462 | }, { | |
16463 | .key = "\xff\xfe\xfd\xfc\xfb\xfa\xf9\xf8" | |
16464 | "\xf7\xf6\xf5\xf4\xf3\xf2\xf1\xf0" | |
16465 | "\x22\x22\x22\x22\x22\x22\x22\x22" | |
16466 | "\x22\x22\x22\x22\x22\x22\x22\x22", | |
16467 | .klen = 32, | |
16468 | .iv = "\x33\x33\x33\x33\x33\x00\x00\x00" | |
16469 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16470 | .input = "\x52\x1f\x9d\xf5\x5a\x58\x5a\x7e" | |
16471 | "\x9f\xd0\x8e\x02\x9c\x9a\x6a\xa7" | |
16472 | "\xb4\x3b\xce\xe7\x17\xaa\x89\x6a" | |
16473 | "\x35\x3c\x6b\xb5\x61\x1c\x79\x38", | |
16474 | .ilen = 32, | |
16475 | .result = "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16476 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16477 | "\x44\x44\x44\x44\x44\x44\x44\x44" | |
16478 | "\x44\x44\x44\x44\x44\x44\x44\x44", | |
16479 | .rlen = 32, | |
16480 | }, { | |
16481 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
16482 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
16483 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
16484 | "\x23\x84\x62\x64\x33\x83\x27\x95", | |
16485 | .klen = 32, | |
16486 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16487 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16488 | .input = "\xc7\xf9\x0a\xaa\xcb\xb5\x8f\x33" | |
16489 | "\x60\xc3\xe9\x47\x90\xb7\x50\x57" | |
16490 | "\xa3\xad\x81\x2f\xf5\x22\x96\x02" | |
16491 | "\xaa\x7f\xea\xac\x29\x78\xca\x2a" | |
16492 | "\x7c\xcd\x31\x1a\x3c\x40\x0a\x73" | |
16493 | "\x09\x66\xad\x72\x0e\x4d\x5d\x77" | |
16494 | "\xbc\xb8\x76\x80\x37\x59\xa9\x01" | |
16495 | "\x9e\xfb\xdb\x6c\x93\xef\xb6\x8d" | |
16496 | "\x1e\xc1\x94\xa8\xd4\xb5\xb0\x01" | |
16497 | "\xd5\x01\x97\x28\xcd\x7a\x1f\xe8" | |
16498 | "\x08\xda\x76\x00\x65\xcf\x7b\x31" | |
16499 | "\xc6\xfa\xf2\x3b\x00\xa7\x6a\x9e" | |
16500 | "\x6c\x43\x80\x87\xe0\xbb\x4e\xe5" | |
16501 | "\xdc\x8a\xdf\xc3\x1d\x1b\x41\x04" | |
16502 | "\xfb\x54\xdd\x29\x27\xc2\x65\x17" | |
16503 | "\x36\x88\xb0\x85\x8d\x73\x7e\x4b" | |
16504 | "\x1d\x16\x8a\x52\xbc\xa6\xbc\xa4" | |
16505 | "\x8c\xd1\x04\x16\xbf\x8c\x01\x0f" | |
16506 | "\x7e\x6b\x59\x15\x29\xd1\x9b\xd3" | |
16507 | "\x6c\xee\xac\xdc\x45\x58\xca\x5b" | |
16508 | "\x70\x0e\x6a\x12\x86\x82\x79\x9f" | |
16509 | "\x16\xd4\x9d\x67\xcd\x70\x65\x26" | |
16510 | "\x21\x72\x1e\xa1\x94\x8a\x83\x0c" | |
16511 | "\x92\x42\x58\x5e\xa2\xc5\x31\xf3" | |
16512 | "\x7b\xd1\x31\xd4\x15\x80\x31\x61" | |
16513 | "\x5c\x53\x10\xdd\xea\xc8\x83\x5c" | |
16514 | "\x7d\xa7\x05\x66\xcc\x1e\xbb\x05" | |
16515 | "\x47\xae\xb4\x0f\x84\xd8\xf6\xb5" | |
16516 | "\xa1\xc6\x52\x00\x52\xe8\xdc\xd9" | |
16517 | "\x16\x31\xb2\x47\x91\x67\xaa\x28" | |
16518 | "\x2c\x29\x85\xa3\xf7\xf2\x24\x93" | |
16519 | "\x23\x80\x1f\xa8\x1b\x82\x8d\xdc" | |
16520 | "\x9f\x0b\xcd\xb4\x3c\x20\xbc\xec" | |
16521 | "\x4f\xc7\xee\xf8\xfd\xd9\xfb\x7e" | |
16522 | "\x3f\x0d\x23\xfa\x3f\xa7\xcc\x66" | |
16523 | "\x1c\xfe\xa6\x86\xf6\xf7\x85\xc7" | |
16524 | "\x43\xc1\xd4\xfc\xe4\x79\xc9\x1d" | |
16525 | "\xf8\x89\xcd\x20\x27\x84\x5d\x5c" | |
16526 | "\x8e\x4f\x1f\xeb\x08\x21\x4f\xa3" | |
16527 | "\xe0\x7e\x0b\x9c\xe7\x42\xcf\xb7" | |
16528 | "\x3f\x43\xcc\x86\x71\x34\x6a\xd9" | |
16529 | "\x5e\xec\x8f\x36\xc9\x0a\x03\xfe" | |
16530 | "\x18\x41\xdc\x9e\x2e\x75\x20\x3e" | |
16531 | "\xcc\x77\xe0\x8f\xe8\x43\x37\x4c" | |
16532 | "\xed\x1a\x5a\xb3\xfa\x43\xc9\x71" | |
16533 | "\x9f\xc5\xce\xcf\xff\xe7\x77\x1e" | |
16534 | "\x35\x93\xde\x6b\xc0\x6a\x7e\xa9" | |
16535 | "\x34\xb8\x27\x74\x08\xda\xf2\x4a" | |
16536 | "\x23\x5b\x9f\x55\x3a\x57\x82\x52" | |
16537 | "\xea\x6d\xc3\xc7\xf2\xc8\xb5\xdc" | |
16538 | "\xc5\xb9\xbb\xaa\xf2\x29\x9f\x49" | |
16539 | "\x7a\xef\xfe\xdc\x9f\xc9\x28\xe2" | |
16540 | "\x96\x0b\x35\x84\x05\x0d\xd6\x2a" | |
16541 | "\xea\x5a\xbf\x69\xde\xee\x4f\x8f" | |
16542 | "\x84\xb9\xcf\xa7\x57\xea\xe0\xe8" | |
16543 | "\x96\xef\x0f\x0e\xec\xc7\xa6\x74" | |
16544 | "\xb1\xfe\x7a\x6d\x11\xdd\x0e\x15" | |
16545 | "\x4a\x1e\x73\x7f\x55\xea\xf6\xe1" | |
16546 | "\x5b\xb6\x71\xda\xb0\x0c\xba\x26" | |
16547 | "\x5c\x48\x38\x6d\x1c\x32\xb2\x7d" | |
16548 | "\x05\x87\xc2\x1e\x7e\x2d\xd4\x33" | |
16549 | "\xcc\x06\xdb\xe7\x82\x29\x63\xd1" | |
16550 | "\x52\x84\x4f\xee\x27\xe8\x02\xd4" | |
16551 | "\x34\x3c\x69\xc2\xbd\x20\xe6\x7a", | |
16552 | .ilen = 512, | |
16553 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16554 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16555 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16556 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
16557 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
16558 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
16559 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
16560 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
16561 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
16562 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
16563 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
16564 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
16565 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
16566 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
16567 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
16568 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
16569 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
16570 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
16571 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
16572 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
16573 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
16574 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
16575 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
16576 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
16577 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
16578 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
16579 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
16580 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
16581 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
16582 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
16583 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
16584 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
16585 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16586 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16587 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16588 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
16589 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
16590 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
16591 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
16592 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
16593 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
16594 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
16595 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
16596 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
16597 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
16598 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
16599 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
16600 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
16601 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
16602 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
16603 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
16604 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
16605 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
16606 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
16607 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
16608 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
16609 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
16610 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
16611 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
16612 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
16613 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
16614 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
16615 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
16616 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
16617 | .rlen = 512, | |
16618 | }, { | |
16619 | .key = "\x27\x18\x28\x18\x28\x45\x90\x45" | |
16620 | "\x23\x53\x60\x28\x74\x71\x35\x26" | |
16621 | "\x62\x49\x77\x57\x24\x70\x93\x69" | |
16622 | "\x99\x59\x57\x49\x66\x96\x76\x27" | |
16623 | "\x31\x41\x59\x26\x53\x58\x97\x93" | |
16624 | "\x23\x84\x62\x64\x33\x83\x27\x95" | |
16625 | "\x02\x88\x41\x97\x16\x93\x99\x37" | |
16626 | "\x51\x05\x82\x09\x74\x94\x45\x92", | |
16627 | .klen = 64, | |
16628 | .iv = "\xff\x00\x00\x00\x00\x00\x00\x00" | |
16629 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16630 | .input = "\x49\xcd\xb8\xbf\x2f\x73\x37\x28" | |
16631 | "\x9a\x7f\x6e\x57\x55\xb8\x07\x88" | |
16632 | "\x4a\x0d\x8b\x55\x60\xed\xb6\x7b" | |
16633 | "\xf1\x74\xac\x96\x05\x7b\x32\xca" | |
16634 | "\xd1\x4e\xf1\x58\x29\x16\x24\x6c" | |
16635 | "\xf2\xb3\xe4\x88\x84\xac\x4d\xee" | |
16636 | "\x97\x07\x82\xf0\x07\x12\x38\x0a" | |
16637 | "\x67\x62\xaf\xfd\x85\x9f\x0a\x55" | |
16638 | "\xa5\x20\xc5\x60\xe4\x68\x53\xa4" | |
16639 | "\x0e\x2e\x65\xe3\xe4\x0c\x30\x7c" | |
16640 | "\x1c\x01\x4f\x55\xa9\x13\xeb\x25" | |
16641 | "\x21\x87\xbc\xd3\xe7\x67\x4f\x38" | |
16642 | "\xa8\x14\x25\x71\xe9\x2e\x4c\x21" | |
16643 | "\x41\x82\x0c\x45\x39\x35\xa8\x75" | |
16644 | "\x03\x29\x01\x84\x8c\xab\x48\xbe" | |
16645 | "\x11\x56\x22\x67\xb7\x67\x1a\x09" | |
16646 | "\xa1\x72\x25\x41\x3c\x39\x65\x80" | |
16647 | "\x7d\x2f\xf8\x2c\x73\x04\x58\x9d" | |
16648 | "\xdd\x16\x8b\x63\x70\x4e\xc5\x17" | |
16649 | "\x21\xe0\x84\x51\x4b\x6f\x05\x52" | |
16650 | "\xe3\x63\x34\xfa\xa4\xaf\x33\x20" | |
16651 | "\xc1\xae\x32\xc4\xb8\x2b\xdb\x76" | |
16652 | "\xd9\x02\x31\x2f\xa3\xc6\xd0\x7b" | |
16653 | "\xaf\x1b\x84\xe3\x9b\xbf\xa6\xe0" | |
16654 | "\xb8\x8a\x13\x88\x71\xf4\x11\xa5" | |
16655 | "\xe9\xa9\x10\x33\xe0\xbe\x49\x89" | |
16656 | "\x41\x22\xf5\x9d\x80\x3e\x3b\x76" | |
16657 | "\x01\x16\x50\x6e\x7c\x6a\x81\xe9" | |
16658 | "\x13\x2c\xde\xb2\x5f\x79\xba\xb2" | |
16659 | "\xb1\x75\xae\xd2\x07\x98\x4b\x69" | |
16660 | "\xae\x7d\x5b\x90\xc2\x6c\xe6\x98" | |
16661 | "\xd3\x4c\xa1\xa3\x9c\xc9\x33\x6a" | |
16662 | "\x0d\x23\xb1\x79\x25\x13\x4b\xe5" | |
16663 | "\xaf\x93\x20\x5c\x7f\x06\x7a\x34" | |
16664 | "\x0b\x78\xe3\x67\x26\xe0\xad\x95" | |
16665 | "\xc5\x4e\x26\x22\xcf\x73\x77\x62" | |
16666 | "\x3e\x10\xd7\x90\x4b\x52\x1c\xc9" | |
16667 | "\xef\x38\x52\x18\x0e\x29\x7e\xef" | |
16668 | "\x34\xfe\x31\x95\xc5\xbc\xa8\xe2" | |
16669 | "\xa8\x4e\x9f\xea\xa6\xf0\xfe\x5d" | |
16670 | "\xc5\x39\x86\xed\x2f\x6d\xa0\xfe" | |
16671 | "\x96\xcd\x41\x10\x78\x4e\x0c\xc9" | |
16672 | "\xc3\x6d\x0f\xb7\xe8\xe0\x62\xab" | |
16673 | "\x8b\xf1\x21\x89\xa1\x12\xaa\xfa" | |
16674 | "\x9d\x70\xbe\x4c\xa8\x98\x89\x01" | |
16675 | "\xb9\xe2\x61\xde\x0c\x4a\x0b\xaa" | |
16676 | "\x89\xf5\x14\x79\x18\x8f\x3b\x0d" | |
16677 | "\x21\x17\xf8\x59\x15\x24\x64\x22" | |
16678 | "\x57\x48\x80\xd5\x3d\x92\x30\x07" | |
16679 | "\xd9\xa1\x4a\x23\x16\x43\x48\x0e" | |
16680 | "\x2b\x2d\x1b\x87\xef\x7e\xbd\xfa" | |
16681 | "\x49\xbc\x7e\x68\x6e\xa8\x46\x95" | |
16682 | "\xad\x5e\xfe\x0a\xa8\xd3\x1a\x5d" | |
16683 | "\x6b\x84\xf3\x00\xba\x52\x05\x02" | |
16684 | "\xe3\x96\x4e\xb6\x79\x3f\x43\xd3" | |
16685 | "\x4d\x3f\xd6\xab\x0a\xc4\x75\x2d" | |
16686 | "\xd1\x08\xc3\x6a\xc8\x37\x29\xa0" | |
16687 | "\xcc\x9a\x05\xdd\x5c\xe1\xff\x66" | |
16688 | "\xf2\x7a\x1d\xf2\xaf\xa9\x48\x89" | |
16689 | "\xf5\x21\x0f\x02\x48\x83\x74\xbf" | |
16690 | "\x2e\xe6\x93\x7b\xa0\xf4\xb1\x2b" | |
16691 | "\xb1\x02\x0a\x5c\x79\x19\x3b\x75" | |
16692 | "\xb7\x16\xd8\x12\x5c\xcd\x7d\x4e" | |
16693 | "\xd5\xc6\x99\xcc\x4e\x6c\x94\x95", | |
16694 | .ilen = 512, | |
16695 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16696 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16697 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16698 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
16699 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
16700 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
16701 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
16702 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
16703 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
16704 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
16705 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
16706 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
16707 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
16708 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
16709 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
16710 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
16711 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
16712 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
16713 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
16714 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
16715 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
16716 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
16717 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
16718 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
16719 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
16720 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
16721 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
16722 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
16723 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
16724 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
16725 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
16726 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
16727 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16728 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16729 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16730 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
16731 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
16732 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
16733 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
16734 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
16735 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
16736 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
16737 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
16738 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
16739 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
16740 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
16741 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
16742 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
16743 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
16744 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
16745 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
16746 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
16747 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
16748 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
16749 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
16750 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
16751 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
16752 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
16753 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
16754 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
16755 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
16756 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
16757 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
16758 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", | |
16759 | .rlen = 512, | |
16760 | }, | |
da7f033d HX |
16761 | }; |
16762 | ||
16763 | /* | |
16764 | * SEED test vectors | |
16765 | */ | |
16766 | #define SEED_ENC_TEST_VECTORS 4 | |
16767 | #define SEED_DEC_TEST_VECTORS 4 | |
16768 | ||
16769 | static struct cipher_testvec seed_enc_tv_template[] = { | |
16770 | { | |
16771 | .key = zeroed_string, | |
16772 | .klen = 16, | |
16773 | .input = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16774 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
16775 | .ilen = 16, | |
16776 | .result = "\x5e\xba\xc6\xe0\x05\x4e\x16\x68" | |
16777 | "\x19\xaf\xf1\xcc\x6d\x34\x6c\xdb", | |
16778 | .rlen = 16, | |
16779 | }, { | |
16780 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16781 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
16782 | .klen = 16, | |
16783 | .input = zeroed_string, | |
16784 | .ilen = 16, | |
16785 | .result = "\xc1\x1f\x22\xf2\x01\x40\x50\x50" | |
16786 | "\x84\x48\x35\x97\xe4\x37\x0f\x43", | |
16787 | .rlen = 16, | |
16788 | }, { | |
16789 | .key = "\x47\x06\x48\x08\x51\xe6\x1b\xe8" | |
16790 | "\x5d\x74\xbf\xb3\xfd\x95\x61\x85", | |
16791 | .klen = 16, | |
16792 | .input = "\x83\xa2\xf8\xa2\x88\x64\x1f\xb9" | |
16793 | "\xa4\xe9\xa5\xcc\x2f\x13\x1c\x7d", | |
16794 | .ilen = 16, | |
16795 | .result = "\xee\x54\xd1\x3e\xbc\xae\x70\x6d" | |
16796 | "\x22\x6b\xc3\x14\x2c\xd4\x0d\x4a", | |
16797 | .rlen = 16, | |
16798 | }, { | |
16799 | .key = "\x28\xdb\xc3\xbc\x49\xff\xd8\x7d" | |
16800 | "\xcf\xa5\x09\xb1\x1d\x42\x2b\xe7", | |
16801 | .klen = 16, | |
16802 | .input = "\xb4\x1e\x6b\xe2\xeb\xa8\x4a\x14" | |
16803 | "\x8e\x2e\xed\x84\x59\x3c\x5e\xc7", | |
16804 | .ilen = 16, | |
16805 | .result = "\x9b\x9b\x7b\xfc\xd1\x81\x3c\xb9" | |
16806 | "\x5d\x0b\x36\x18\xf4\x0f\x51\x22", | |
16807 | .rlen = 16, | |
16808 | } | |
16809 | }; | |
16810 | ||
16811 | static struct cipher_testvec seed_dec_tv_template[] = { | |
16812 | { | |
16813 | .key = zeroed_string, | |
16814 | .klen = 16, | |
16815 | .input = "\x5e\xba\xc6\xe0\x05\x4e\x16\x68" | |
16816 | "\x19\xaf\xf1\xcc\x6d\x34\x6c\xdb", | |
16817 | .ilen = 16, | |
16818 | .result = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16819 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
16820 | .rlen = 16, | |
16821 | }, { | |
16822 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16823 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", | |
16824 | .klen = 16, | |
16825 | .input = "\xc1\x1f\x22\xf2\x01\x40\x50\x50" | |
16826 | "\x84\x48\x35\x97\xe4\x37\x0f\x43", | |
16827 | .ilen = 16, | |
16828 | .result = zeroed_string, | |
16829 | .rlen = 16, | |
16830 | }, { | |
16831 | .key = "\x47\x06\x48\x08\x51\xe6\x1b\xe8" | |
16832 | "\x5d\x74\xbf\xb3\xfd\x95\x61\x85", | |
16833 | .klen = 16, | |
16834 | .input = "\xee\x54\xd1\x3e\xbc\xae\x70\x6d" | |
16835 | "\x22\x6b\xc3\x14\x2c\xd4\x0d\x4a", | |
16836 | .ilen = 16, | |
16837 | .result = "\x83\xa2\xf8\xa2\x88\x64\x1f\xb9" | |
16838 | "\xa4\xe9\xa5\xcc\x2f\x13\x1c\x7d", | |
16839 | .rlen = 16, | |
16840 | }, { | |
16841 | .key = "\x28\xdb\xc3\xbc\x49\xff\xd8\x7d" | |
16842 | "\xcf\xa5\x09\xb1\x1d\x42\x2b\xe7", | |
16843 | .klen = 16, | |
16844 | .input = "\x9b\x9b\x7b\xfc\xd1\x81\x3c\xb9" | |
16845 | "\x5d\x0b\x36\x18\xf4\x0f\x51\x22", | |
16846 | .ilen = 16, | |
16847 | .result = "\xb4\x1e\x6b\xe2\xeb\xa8\x4a\x14" | |
16848 | "\x8e\x2e\xed\x84\x59\x3c\x5e\xc7", | |
16849 | .rlen = 16, | |
16850 | } | |
16851 | }; | |
16852 | ||
16853 | #define SALSA20_STREAM_ENC_TEST_VECTORS 5 | |
16854 | static struct cipher_testvec salsa20_stream_enc_tv_template[] = { | |
16855 | /* | |
16856 | * Testvectors from verified.test-vectors submitted to ECRYPT. | |
16857 | * They are truncated to size 39, 64, 111, 129 to test a variety | |
16858 | * of input length. | |
16859 | */ | |
16860 | { /* Set 3, vector 0 */ | |
16861 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16862 | "\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F", | |
16863 | .klen = 16, | |
16864 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16865 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16866 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16867 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16868 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16869 | "\x00\x00\x00\x00\x00\x00\x00", | |
16870 | .ilen = 39, | |
16871 | .result = "\x2D\xD5\xC3\xF7\xBA\x2B\x20\xF7" | |
16872 | "\x68\x02\x41\x0C\x68\x86\x88\x89" | |
16873 | "\x5A\xD8\xC1\xBD\x4E\xA6\xC9\xB1" | |
16874 | "\x40\xFB\x9B\x90\xE2\x10\x49\xBF" | |
16875 | "\x58\x3F\x52\x79\x70\xEB\xC1", | |
16876 | .rlen = 39, | |
16877 | }, { /* Set 5, vector 0 */ | |
16878 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16879 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16880 | .klen = 16, | |
16881 | .iv = "\x80\x00\x00\x00\x00\x00\x00\x00", | |
16882 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16883 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16884 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16885 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16886 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16887 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16888 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16889 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16890 | .ilen = 64, | |
16891 | .result = "\xB6\x6C\x1E\x44\x46\xDD\x95\x57" | |
16892 | "\xE5\x78\xE2\x23\xB0\xB7\x68\x01" | |
16893 | "\x7B\x23\xB2\x67\xBB\x02\x34\xAE" | |
16894 | "\x46\x26\xBF\x44\x3F\x21\x97\x76" | |
16895 | "\x43\x6F\xB1\x9F\xD0\xE8\x86\x6F" | |
16896 | "\xCD\x0D\xE9\xA9\x53\x8F\x4A\x09" | |
16897 | "\xCA\x9A\xC0\x73\x2E\x30\xBC\xF9" | |
16898 | "\x8E\x4F\x13\xE4\xB9\xE2\x01\xD9", | |
16899 | .rlen = 64, | |
16900 | }, { /* Set 3, vector 27 */ | |
16901 | .key = "\x1B\x1C\x1D\x1E\x1F\x20\x21\x22" | |
16902 | "\x23\x24\x25\x26\x27\x28\x29\x2A" | |
16903 | "\x2B\x2C\x2D\x2E\x2F\x30\x31\x32" | |
16904 | "\x33\x34\x35\x36\x37\x38\x39\x3A", | |
16905 | .klen = 32, | |
16906 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16907 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16908 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16909 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16910 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16911 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16912 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16913 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16914 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16915 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16916 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16917 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16918 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16919 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16920 | "\x00\x00\x00\x00\x00\x00\x00", | |
16921 | .ilen = 111, | |
16922 | .result = "\xAE\x39\x50\x8E\xAC\x9A\xEC\xE7" | |
16923 | "\xBF\x97\xBB\x20\xB9\xDE\xE4\x1F" | |
16924 | "\x87\xD9\x47\xF8\x28\x91\x35\x98" | |
16925 | "\xDB\x72\xCC\x23\x29\x48\x56\x5E" | |
16926 | "\x83\x7E\x0B\xF3\x7D\x5D\x38\x7B" | |
16927 | "\x2D\x71\x02\xB4\x3B\xB5\xD8\x23" | |
16928 | "\xB0\x4A\xDF\x3C\xEC\xB6\xD9\x3B" | |
16929 | "\x9B\xA7\x52\xBE\xC5\xD4\x50\x59" | |
16930 | "\x15\x14\xB4\x0E\x40\xE6\x53\xD1" | |
16931 | "\x83\x9C\x5B\xA0\x92\x29\x6B\x5E" | |
16932 | "\x96\x5B\x1E\x2F\xD3\xAC\xC1\x92" | |
16933 | "\xB1\x41\x3F\x19\x2F\xC4\x3B\xC6" | |
16934 | "\x95\x46\x45\x54\xE9\x75\x03\x08" | |
16935 | "\x44\xAF\xE5\x8A\x81\x12\x09", | |
16936 | .rlen = 111, | |
16937 | }, { /* Set 5, vector 27 */ | |
16938 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16939 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16940 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16941 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16942 | .klen = 32, | |
16943 | .iv = "\x00\x00\x00\x10\x00\x00\x00\x00", | |
16944 | .input = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16945 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16946 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16947 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16948 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16949 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16950 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16951 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16952 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16953 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16954 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16955 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16956 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16957 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16958 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16959 | "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16960 | "\x00", | |
16961 | .ilen = 129, | |
16962 | .result = "\xD2\xDB\x1A\x5C\xF1\xC1\xAC\xDB" | |
16963 | "\xE8\x1A\x7A\x43\x40\xEF\x53\x43" | |
16964 | "\x5E\x7F\x4B\x1A\x50\x52\x3F\x8D" | |
16965 | "\x28\x3D\xCF\x85\x1D\x69\x6E\x60" | |
16966 | "\xF2\xDE\x74\x56\x18\x1B\x84\x10" | |
16967 | "\xD4\x62\xBA\x60\x50\xF0\x61\xF2" | |
16968 | "\x1C\x78\x7F\xC1\x24\x34\xAF\x58" | |
16969 | "\xBF\x2C\x59\xCA\x90\x77\xF3\xB0" | |
16970 | "\x5B\x4A\xDF\x89\xCE\x2C\x2F\xFC" | |
16971 | "\x67\xF0\xE3\x45\xE8\xB3\xB3\x75" | |
16972 | "\xA0\x95\x71\xA1\x29\x39\x94\xCA" | |
16973 | "\x45\x2F\xBD\xCB\x10\xB6\xBE\x9F" | |
16974 | "\x8E\xF9\xB2\x01\x0A\x5A\x0A\xB7" | |
16975 | "\x6B\x9D\x70\x8E\x4B\xD6\x2F\xCD" | |
16976 | "\x2E\x40\x48\x75\xE9\xE2\x21\x45" | |
16977 | "\x0B\xC9\xB6\xB5\x66\xBC\x9A\x59" | |
16978 | "\x5A", | |
16979 | .rlen = 129, | |
16980 | }, { /* large test vector generated using Crypto++ */ | |
16981 | .key = "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16982 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16983 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16984 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f", | |
16985 | .klen = 32, | |
16986 | .iv = "\x00\x00\x00\x00\x00\x00\x00\x00" | |
16987 | "\x00\x00\x00\x00\x00\x00\x00\x00", | |
16988 | .input = | |
16989 | "\x00\x01\x02\x03\x04\x05\x06\x07" | |
16990 | "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" | |
16991 | "\x10\x11\x12\x13\x14\x15\x16\x17" | |
16992 | "\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" | |
16993 | "\x20\x21\x22\x23\x24\x25\x26\x27" | |
16994 | "\x28\x29\x2a\x2b\x2c\x2d\x2e\x2f" | |
16995 | "\x30\x31\x32\x33\x34\x35\x36\x37" | |
16996 | "\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f" | |
16997 | "\x40\x41\x42\x43\x44\x45\x46\x47" | |
16998 | "\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f" | |
16999 | "\x50\x51\x52\x53\x54\x55\x56\x57" | |
17000 | "\x58\x59\x5a\x5b\x5c\x5d\x5e\x5f" | |
17001 | "\x60\x61\x62\x63\x64\x65\x66\x67" | |
17002 | "\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f" | |
17003 | "\x70\x71\x72\x73\x74\x75\x76\x77" | |
17004 | "\x78\x79\x7a\x7b\x7c\x7d\x7e\x7f" | |
17005 | "\x80\x81\x82\x83\x84\x85\x86\x87" | |
17006 | "\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" | |
17007 | "\x90\x91\x92\x93\x94\x95\x96\x97" | |
17008 | "\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" | |
17009 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7" | |
17010 | "\xa8\xa9\xaa\xab\xac\xad\xae\xaf" | |
17011 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7" | |
17012 | "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" | |
17013 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7" | |
17014 | "\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" | |
17015 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7" | |
17016 | "\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" | |
17017 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7" | |
17018 | "\xe8\xe9\xea\xeb\xec\xed\xee\xef" | |
17019 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7" | |
17020 | "\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" | |
17021 | "\x00\x03\x06\x09\x0c\x0f\x12\x15" | |
17022 | "\x18\x1b\x1e\x21\x24\x27\x2a\x2d" | |
17023 | "\x30\x33\x36\x39\x3c\x3f\x42\x45" | |
17024 | "\x48\x4b\x4e\x51\x54\x57\x5a\x5d" | |
17025 | "\x60\x63\x66\x69\x6c\x6f\x72\x75" | |
17026 | "\x78\x7b\x7e\x81\x84\x87\x8a\x8d" | |
17027 | "\x90\x93\x96\x99\x9c\x9f\xa2\xa5" | |
17028 | "\xa8\xab\xae\xb1\xb4\xb7\xba\xbd" | |
17029 | "\xc0\xc3\xc6\xc9\xcc\xcf\xd2\xd5" | |
17030 | "\xd8\xdb\xde\xe1\xe4\xe7\xea\xed" | |
17031 | "\xf0\xf3\xf6\xf9\xfc\xff\x02\x05" | |
17032 | "\x08\x0b\x0e\x11\x14\x17\x1a\x1d" | |
17033 | "\x20\x23\x26\x29\x2c\x2f\x32\x35" | |
17034 | "\x38\x3b\x3e\x41\x44\x47\x4a\x4d" | |
17035 | "\x50\x53\x56\x59\x5c\x5f\x62\x65" | |
17036 | "\x68\x6b\x6e\x71\x74\x77\x7a\x7d" | |
17037 | "\x80\x83\x86\x89\x8c\x8f\x92\x95" | |
17038 | "\x98\x9b\x9e\xa1\xa4\xa7\xaa\xad" | |
17039 | "\xb0\xb3\xb6\xb9\xbc\xbf\xc2\xc5" | |
17040 | "\xc8\xcb\xce\xd1\xd4\xd7\xda\xdd" | |
17041 | "\xe0\xe3\xe6\xe9\xec\xef\xf2\xf5" | |
17042 | "\xf8\xfb\xfe\x01\x04\x07\x0a\x0d" | |
17043 | "\x10\x13\x16\x19\x1c\x1f\x22\x25" | |
17044 | "\x28\x2b\x2e\x31\x34\x37\x3a\x3d" | |
17045 | "\x40\x43\x46\x49\x4c\x4f\x52\x55" | |
17046 | "\x58\x5b\x5e\x61\x64\x67\x6a\x6d" | |
17047 | "\x70\x73\x76\x79\x7c\x7f\x82\x85" | |
17048 | "\x88\x8b\x8e\x91\x94\x97\x9a\x9d" | |
17049 | "\xa0\xa3\xa6\xa9\xac\xaf\xb2\xb5" | |
17050 | "\xb8\xbb\xbe\xc1\xc4\xc7\xca\xcd" | |
17051 | "\xd0\xd3\xd6\xd9\xdc\xdf\xe2\xe5" | |
17052 | "\xe8\xeb\xee\xf1\xf4\xf7\xfa\xfd" | |
17053 | "\x00\x05\x0a\x0f\x14\x19\x1e\x23" | |
17054 | "\x28\x2d\x32\x37\x3c\x41\x46\x4b" | |
17055 | "\x50\x55\x5a\x5f\x64\x69\x6e\x73" | |
17056 | "\x78\x7d\x82\x87\x8c\x91\x96\x9b" | |
17057 | "\xa0\xa5\xaa\xaf\xb4\xb9\xbe\xc3" | |
17058 | "\xc8\xcd\xd2\xd7\xdc\xe1\xe6\xeb" | |
17059 | "\xf0\xf5\xfa\xff\x04\x09\x0e\x13" | |
17060 | "\x18\x1d\x22\x27\x2c\x31\x36\x3b" | |
17061 | "\x40\x45\x4a\x4f\x54\x59\x5e\x63" | |
17062 | "\x68\x6d\x72\x77\x7c\x81\x86\x8b" | |
17063 | "\x90\x95\x9a\x9f\xa4\xa9\xae\xb3" | |
17064 | "\xb8\xbd\xc2\xc7\xcc\xd1\xd6\xdb" | |
17065 | "\xe0\xe5\xea\xef\xf4\xf9\xfe\x03" | |
17066 | "\x08\x0d\x12\x17\x1c\x21\x26\x2b" | |
17067 | "\x30\x35\x3a\x3f\x44\x49\x4e\x53" | |
17068 | "\x58\x5d\x62\x67\x6c\x71\x76\x7b" | |
17069 | "\x80\x85\x8a\x8f\x94\x99\x9e\xa3" | |
17070 | "\xa8\xad\xb2\xb7\xbc\xc1\xc6\xcb" | |
17071 | "\xd0\xd5\xda\xdf\xe4\xe9\xee\xf3" | |
17072 | "\xf8\xfd\x02\x07\x0c\x11\x16\x1b" | |
17073 | "\x20\x25\x2a\x2f\x34\x39\x3e\x43" | |
17074 | "\x48\x4d\x52\x57\x5c\x61\x66\x6b" | |
17075 | "\x70\x75\x7a\x7f\x84\x89\x8e\x93" | |
17076 | "\x98\x9d\xa2\xa7\xac\xb1\xb6\xbb" | |
17077 | "\xc0\xc5\xca\xcf\xd4\xd9\xde\xe3" | |
17078 | "\xe8\xed\xf2\xf7\xfc\x01\x06\x0b" | |
17079 | "\x10\x15\x1a\x1f\x24\x29\x2e\x33" | |
17080 | "\x38\x3d\x42\x47\x4c\x51\x56\x5b" | |
17081 | "\x60\x65\x6a\x6f\x74\x79\x7e\x83" | |
17082 | "\x88\x8d\x92\x97\x9c\xa1\xa6\xab" | |
17083 | "\xb0\xb5\xba\xbf\xc4\xc9\xce\xd3" | |
17084 | "\xd8\xdd\xe2\xe7\xec\xf1\xf6\xfb" | |
17085 | "\x00\x07\x0e\x15\x1c\x23\x2a\x31" | |
17086 | "\x38\x3f\x46\x4d\x54\x5b\x62\x69" | |
17087 | "\x70\x77\x7e\x85\x8c\x93\x9a\xa1" | |
17088 | "\xa8\xaf\xb6\xbd\xc4\xcb\xd2\xd9" | |
17089 | "\xe0\xe7\xee\xf5\xfc\x03\x0a\x11" | |
17090 | "\x18\x1f\x26\x2d\x34\x3b\x42\x49" | |
17091 | "\x50\x57\x5e\x65\x6c\x73\x7a\x81" | |
17092 | "\x88\x8f\x96\x9d\xa4\xab\xb2\xb9" | |
17093 | "\xc0\xc7\xce\xd5\xdc\xe3\xea\xf1" | |
17094 | "\xf8\xff\x06\x0d\x14\x1b\x22\x29" | |
17095 | "\x30\x37\x3e\x45\x4c\x53\x5a\x61" | |
17096 | "\x68\x6f\x76\x7d\x84\x8b\x92\x99" | |
17097 | "\xa0\xa7\xae\xb5\xbc\xc3\xca\xd1" | |
17098 | "\xd8\xdf\xe6\xed\xf4\xfb\x02\x09" | |
17099 | "\x10\x17\x1e\x25\x2c\x33\x3a\x41" | |
17100 | "\x48\x4f\x56\x5d\x64\x6b\x72\x79" | |
17101 | "\x80\x87\x8e\x95\x9c\xa3\xaa\xb1" | |
17102 | "\xb8\xbf\xc6\xcd\xd4\xdb\xe2\xe9" | |
17103 | "\xf0\xf7\xfe\x05\x0c\x13\x1a\x21" | |
17104 | "\x28\x2f\x36\x3d\x44\x4b\x52\x59" | |
17105 | "\x60\x67\x6e\x75\x7c\x83\x8a\x91" | |
17106 | "\x98\x9f\xa6\xad\xb4\xbb\xc2\xc9" | |
17107 | "\xd0\xd7\xde\xe5\xec\xf3\xfa\x01" | |
17108 | "\x08\x0f\x16\x1d\x24\x2b\x32\x39" | |
17109 | "\x40\x47\x4e\x55\x5c\x63\x6a\x71" | |
17110 | "\x78\x7f\x86\x8d\x94\x9b\xa2\xa9" | |
17111 | "\xb0\xb7\xbe\xc5\xcc\xd3\xda\xe1" | |
17112 | "\xe8\xef\xf6\xfd\x04\x0b\x12\x19" | |
17113 | "\x20\x27\x2e\x35\x3c\x43\x4a\x51" | |
17114 | "\x58\x5f\x66\x6d\x74\x7b\x82\x89" | |
17115 | "\x90\x97\x9e\xa5\xac\xb3\xba\xc1" | |
17116 | "\xc8\xcf\xd6\xdd\xe4\xeb\xf2\xf9" | |
17117 | "\x00\x09\x12\x1b\x24\x2d\x36\x3f" | |
17118 | "\x48\x51\x5a\x63\x6c\x75\x7e\x87" | |
17119 | "\x90\x99\xa2\xab\xb4\xbd\xc6\xcf" | |
17120 | "\xd8\xe1\xea\xf3\xfc\x05\x0e\x17" | |
17121 | "\x20\x29\x32\x3b\x44\x4d\x56\x5f" | |
17122 | "\x68\x71\x7a\x83\x8c\x95\x9e\xa7" | |
17123 | "\xb0\xb9\xc2\xcb\xd4\xdd\xe6\xef" | |
17124 | "\xf8\x01\x0a\x13\x1c\x25\x2e\x37" | |
17125 | "\x40\x49\x52\x5b\x64\x6d\x76\x7f" | |
17126 | "\x88\x91\x9a\xa3\xac\xb5\xbe\xc7" | |
17127 | "\xd0\xd9\xe2\xeb\xf4\xfd\x06\x0f" | |
17128 | "\x18\x21\x2a\x33\x3c\x45\x4e\x57" | |
17129 | "\x60\x69\x72\x7b\x84\x8d\x96\x9f" | |
17130 | "\xa8\xb1\xba\xc3\xcc\xd5\xde\xe7" | |
17131 | "\xf0\xf9\x02\x0b\x14\x1d\x26\x2f" | |
17132 | "\x38\x41\x4a\x53\x5c\x65\x6e\x77" | |
17133 | "\x80\x89\x92\x9b\xa4\xad\xb6\xbf" | |
17134 | "\xc8\xd1\xda\xe3\xec\xf5\xfe\x07" | |
17135 | "\x10\x19\x22\x2b\x34\x3d\x46\x4f" | |
17136 | "\x58\x61\x6a\x73\x7c\x85\x8e\x97" | |
17137 | "\xa0\xa9\xb2\xbb\xc4\xcd\xd6\xdf" | |
17138 | "\xe8\xf1\xfa\x03\x0c\x15\x1e\x27" | |
17139 | "\x30\x39\x42\x4b\x54\x5d\x66\x6f" | |
17140 | "\x78\x81\x8a\x93\x9c\xa5\xae\xb7" | |
17141 | "\xc0\xc9\xd2\xdb\xe4\xed\xf6\xff" | |
17142 | "\x08\x11\x1a\x23\x2c\x35\x3e\x47" | |
17143 | "\x50\x59\x62\x6b\x74\x7d\x86\x8f" | |
17144 | "\x98\xa1\xaa\xb3\xbc\xc5\xce\xd7" | |
17145 | "\xe0\xe9\xf2\xfb\x04\x0d\x16\x1f" | |
17146 | "\x28\x31\x3a\x43\x4c\x55\x5e\x67" | |
17147 | "\x70\x79\x82\x8b\x94\x9d\xa6\xaf" | |
17148 | "\xb8\xc1\xca\xd3\xdc\xe5\xee\xf7" | |
17149 | "\x00\x0b\x16\x21\x2c\x37\x42\x4d" | |
17150 | "\x58\x63\x6e\x79\x84\x8f\x9a\xa5" | |
17151 | "\xb0\xbb\xc6\xd1\xdc\xe7\xf2\xfd" | |
17152 | "\x08\x13\x1e\x29\x34\x3f\x4a\x55" | |
17153 | "\x60\x6b\x76\x81\x8c\x97\xa2\xad" | |
17154 | "\xb8\xc3\xce\xd9\xe4\xef\xfa\x05" | |
17155 | "\x10\x1b\x26\x31\x3c\x47\x52\x5d" | |
17156 | "\x68\x73\x7e\x89\x94\x9f\xaa\xb5" | |
17157 | "\xc0\xcb\xd6\xe1\xec\xf7\x02\x0d" | |
17158 | "\x18\x23\x2e\x39\x44\x4f\x5a\x65" | |
17159 | "\x70\x7b\x86\x91\x9c\xa7\xb2\xbd" | |
17160 | "\xc8\xd3\xde\xe9\xf4\xff\x0a\x15" | |
17161 | "\x20\x2b\x36\x41\x4c\x57\x62\x6d" | |
17162 | "\x78\x83\x8e\x99\xa4\xaf\xba\xc5" | |
17163 | "\xd0\xdb\xe6\xf1\xfc\x07\x12\x1d" | |
17164 | "\x28\x33\x3e\x49\x54\x5f\x6a\x75" | |
17165 | "\x80\x8b\x96\xa1\xac\xb7\xc2\xcd" | |
17166 | "\xd8\xe3\xee\xf9\x04\x0f\x1a\x25" | |
17167 | "\x30\x3b\x46\x51\x5c\x67\x72\x7d" | |
17168 | "\x88\x93\x9e\xa9\xb4\xbf\xca\xd5" | |
17169 | "\xe0\xeb\xf6\x01\x0c\x17\x22\x2d" | |
17170 | "\x38\x43\x4e\x59\x64\x6f\x7a\x85" | |
17171 | "\x90\x9b\xa6\xb1\xbc\xc7\xd2\xdd" | |
17172 | "\xe8\xf3\xfe\x09\x14\x1f\x2a\x35" | |
17173 | "\x40\x4b\x56\x61\x6c\x77\x82\x8d" | |
17174 | "\x98\xa3\xae\xb9\xc4\xcf\xda\xe5" | |
17175 | "\xf0\xfb\x06\x11\x1c\x27\x32\x3d" | |
17176 | "\x48\x53\x5e\x69\x74\x7f\x8a\x95" | |
17177 | "\xa0\xab\xb6\xc1\xcc\xd7\xe2\xed" | |
17178 | "\xf8\x03\x0e\x19\x24\x2f\x3a\x45" | |
17179 | "\x50\x5b\x66\x71\x7c\x87\x92\x9d" | |
17180 | "\xa8\xb3\xbe\xc9\xd4\xdf\xea\xf5" | |
17181 | "\x00\x0d\x1a\x27\x34\x41\x4e\x5b" | |
17182 | "\x68\x75\x82\x8f\x9c\xa9\xb6\xc3" | |
17183 | "\xd0\xdd\xea\xf7\x04\x11\x1e\x2b" | |
17184 | "\x38\x45\x52\x5f\x6c\x79\x86\x93" | |
17185 | "\xa0\xad\xba\xc7\xd4\xe1\xee\xfb" | |
17186 | "\x08\x15\x22\x2f\x3c\x49\x56\x63" | |
17187 | "\x70\x7d\x8a\x97\xa4\xb1\xbe\xcb" | |
17188 | "\xd8\xe5\xf2\xff\x0c\x19\x26\x33" | |
17189 | "\x40\x4d\x5a\x67\x74\x81\x8e\x9b" | |
17190 | "\xa8\xb5\xc2\xcf\xdc\xe9\xf6\x03" | |
17191 | "\x10\x1d\x2a\x37\x44\x51\x5e\x6b" | |
17192 | "\x78\x85\x92\x9f\xac\xb9\xc6\xd3" | |
17193 | "\xe0\xed\xfa\x07\x14\x21\x2e\x3b" | |
17194 | "\x48\x55\x62\x6f\x7c\x89\x96\xa3" | |
17195 | "\xb0\xbd\xca\xd7\xe4\xf1\xfe\x0b" | |
17196 | "\x18\x25\x32\x3f\x4c\x59\x66\x73" | |
17197 | "\x80\x8d\x9a\xa7\xb4\xc1\xce\xdb" | |
17198 | "\xe8\xf5\x02\x0f\x1c\x29\x36\x43" | |
17199 | "\x50\x5d\x6a\x77\x84\x91\x9e\xab" | |
17200 | "\xb8\xc5\xd2\xdf\xec\xf9\x06\x13" | |
17201 | "\x20\x2d\x3a\x47\x54\x61\x6e\x7b" | |
17202 | "\x88\x95\xa2\xaf\xbc\xc9\xd6\xe3" | |
17203 | "\xf0\xfd\x0a\x17\x24\x31\x3e\x4b" | |
17204 | "\x58\x65\x72\x7f\x8c\x99\xa6\xb3" | |
17205 | "\xc0\xcd\xda\xe7\xf4\x01\x0e\x1b" | |
17206 | "\x28\x35\x42\x4f\x5c\x69\x76\x83" | |
17207 | "\x90\x9d\xaa\xb7\xc4\xd1\xde\xeb" | |
17208 | "\xf8\x05\x12\x1f\x2c\x39\x46\x53" | |
17209 | "\x60\x6d\x7a\x87\x94\xa1\xae\xbb" | |
17210 | "\xc8\xd5\xe2\xef\xfc\x09\x16\x23" | |
17211 | "\x30\x3d\x4a\x57\x64\x71\x7e\x8b" | |
17212 | "\x98\xa5\xb2\xbf\xcc\xd9\xe6\xf3" | |
17213 | "\x00\x0f\x1e\x2d\x3c\x4b\x5a\x69" | |
17214 | "\x78\x87\x96\xa5\xb4\xc3\xd2\xe1" | |
17215 | "\xf0\xff\x0e\x1d\x2c\x3b\x4a\x59" | |
17216 | "\x68\x77\x86\x95\xa4\xb3\xc2\xd1" | |
17217 | "\xe0\xef\xfe\x0d\x1c\x2b\x3a\x49" | |
17218 | "\x58\x67\x76\x85\x94\xa3\xb2\xc1" | |
17219 | "\xd0\xdf\xee\xfd\x0c\x1b\x2a\x39" | |
17220 | "\x48\x57\x66\x75\x84\x93\xa2\xb1" | |
17221 | "\xc0\xcf\xde\xed\xfc\x0b\x1a\x29" | |
17222 | "\x38\x47\x56\x65\x74\x83\x92\xa1" | |
17223 | "\xb0\xbf\xce\xdd\xec\xfb\x0a\x19" | |
17224 | "\x28\x37\x46\x55\x64\x73\x82\x91" | |
17225 | "\xa0\xaf\xbe\xcd\xdc\xeb\xfa\x09" | |
17226 | "\x18\x27\x36\x45\x54\x63\x72\x81" | |
17227 | "\x90\x9f\xae\xbd\xcc\xdb\xea\xf9" | |
17228 | "\x08\x17\x26\x35\x44\x53\x62\x71" | |
17229 | "\x80\x8f\x9e\xad\xbc\xcb\xda\xe9" | |
17230 | "\xf8\x07\x16\x25\x34\x43\x52\x61" | |
17231 | "\x70\x7f\x8e\x9d\xac\xbb\xca\xd9" | |
17232 | "\xe8\xf7\x06\x15\x24\x33\x42\x51" | |
17233 | "\x60\x6f\x7e\x8d\x9c\xab\xba\xc9" | |
17234 | "\xd8\xe7\xf6\x05\x14\x23\x32\x41" | |
17235 | "\x50\x5f\x6e\x7d\x8c\x9b\xaa\xb9" | |
17236 | "\xc8\xd7\xe6\xf5\x04\x13\x22\x31" | |
17237 | "\x40\x4f\x5e\x6d\x7c\x8b\x9a\xa9" | |
17238 | "\xb8\xc7\xd6\xe5\xf4\x03\x12\x21" | |
17239 | "\x30\x3f\x4e\x5d\x6c\x7b\x8a\x99" | |
17240 | "\xa8\xb7\xc6\xd5\xe4\xf3\x02\x11" | |
17241 | "\x20\x2f\x3e\x4d\x5c\x6b\x7a\x89" | |
17242 | "\x98\xa7\xb6\xc5\xd4\xe3\xf2\x01" | |
17243 | "\x10\x1f\x2e\x3d\x4c\x5b\x6a\x79" | |
17244 | "\x88\x97\xa6\xb5\xc4\xd3\xe2\xf1" | |
17245 | "\x00\x11\x22\x33\x44\x55\x66\x77" | |
17246 | "\x88\x99\xaa\xbb\xcc\xdd\xee\xff" | |
17247 | "\x10\x21\x32\x43\x54\x65\x76\x87" | |
17248 | "\x98\xa9\xba\xcb\xdc\xed\xfe\x0f" | |
17249 | "\x20\x31\x42\x53\x64\x75\x86\x97" | |
17250 | "\xa8\xb9\xca\xdb\xec\xfd\x0e\x1f" | |
17251 | "\x30\x41\x52\x63\x74\x85\x96\xa7" | |
17252 | "\xb8\xc9\xda\xeb\xfc\x0d\x1e\x2f" | |
17253 | "\x40\x51\x62\x73\x84\x95\xa6\xb7" | |
17254 | "\xc8\xd9\xea\xfb\x0c\x1d\x2e\x3f" | |
17255 | "\x50\x61\x72\x83\x94\xa5\xb6\xc7" | |
17256 | "\xd8\xe9\xfa\x0b\x1c\x2d\x3e\x4f" | |
17257 | "\x60\x71\x82\x93\xa4\xb5\xc6\xd7" | |
17258 | "\xe8\xf9\x0a\x1b\x2c\x3d\x4e\x5f" | |
17259 | "\x70\x81\x92\xa3\xb4\xc5\xd6\xe7" | |
17260 | "\xf8\x09\x1a\x2b\x3c\x4d\x5e\x6f" | |
17261 | "\x80\x91\xa2\xb3\xc4\xd5\xe6\xf7" | |
17262 | "\x08\x19\x2a\x3b\x4c\x5d\x6e\x7f" | |
17263 | "\x90\xa1\xb2\xc3\xd4\xe5\xf6\x07" | |
17264 | "\x18\x29\x3a\x4b\x5c\x6d\x7e\x8f" | |
17265 | "\xa0\xb1\xc2\xd3\xe4\xf5\x06\x17" | |
17266 | "\x28\x39\x4a\x5b\x6c\x7d\x8e\x9f" | |
17267 | "\xb0\xc1\xd2\xe3\xf4\x05\x16\x27" | |
17268 | "\x38\x49\x5a\x6b\x7c\x8d\x9e\xaf" | |
17269 | "\xc0\xd1\xe2\xf3\x04\x15\x26\x37" | |
17270 | "\x48\x59\x6a\x7b\x8c\x9d\xae\xbf" | |
17271 | "\xd0\xe1\xf2\x03\x14\x25\x36\x47" | |
17272 | "\x58\x69\x7a\x8b\x9c\xad\xbe\xcf" | |
17273 | "\xe0\xf1\x02\x13\x24\x35\x46\x57" | |
17274 | "\x68\x79\x8a\x9b\xac\xbd\xce\xdf" | |
17275 | "\xf0\x01\x12\x23\x34\x45\x56\x67" | |
17276 | "\x78\x89\x9a\xab\xbc\xcd\xde\xef" | |
17277 | "\x00\x13\x26\x39\x4c\x5f\x72\x85" | |
17278 | "\x98\xab\xbe\xd1\xe4\xf7\x0a\x1d" | |
17279 | "\x30\x43\x56\x69\x7c\x8f\xa2\xb5" | |
17280 | "\xc8\xdb\xee\x01\x14\x27\x3a\x4d" | |
17281 | "\x60\x73\x86\x99\xac\xbf\xd2\xe5" | |
17282 | "\xf8\x0b\x1e\x31\x44\x57\x6a\x7d" | |
17283 | "\x90\xa3\xb6\xc9\xdc\xef\x02\x15" | |
17284 | "\x28\x3b\x4e\x61\x74\x87\x9a\xad" | |
17285 | "\xc0\xd3\xe6\xf9\x0c\x1f\x32\x45" | |
17286 | "\x58\x6b\x7e\x91\xa4\xb7\xca\xdd" | |
17287 | "\xf0\x03\x16\x29\x3c\x4f\x62\x75" | |
17288 | "\x88\x9b\xae\xc1\xd4\xe7\xfa\x0d" | |
17289 | "\x20\x33\x46\x59\x6c\x7f\x92\xa5" | |
17290 | "\xb8\xcb\xde\xf1\x04\x17\x2a\x3d" | |
17291 | "\x50\x63\x76\x89\x9c\xaf\xc2\xd5" | |
17292 | "\xe8\xfb\x0e\x21\x34\x47\x5a\x6d" | |
17293 | "\x80\x93\xa6\xb9\xcc\xdf\xf2\x05" | |
17294 | "\x18\x2b\x3e\x51\x64\x77\x8a\x9d" | |
17295 | "\xb0\xc3\xd6\xe9\xfc\x0f\x22\x35" | |
17296 | "\x48\x5b\x6e\x81\x94\xa7\xba\xcd" | |
17297 | "\xe0\xf3\x06\x19\x2c\x3f\x52\x65" | |
17298 | "\x78\x8b\x9e\xb1\xc4\xd7\xea\xfd" | |
17299 | "\x10\x23\x36\x49\x5c\x6f\x82\x95" | |
17300 | "\xa8\xbb\xce\xe1\xf4\x07\x1a\x2d" | |
17301 | "\x40\x53\x66\x79\x8c\x9f\xb2\xc5" | |
17302 | "\xd8\xeb\xfe\x11\x24\x37\x4a\x5d" | |
17303 | "\x70\x83\x96\xa9\xbc\xcf\xe2\xf5" | |
17304 | "\x08\x1b\x2e\x41\x54\x67\x7a\x8d" | |
17305 | "\xa0\xb3\xc6\xd9\xec\xff\x12\x25" | |
17306 | "\x38\x4b\x5e\x71\x84\x97\xaa\xbd" | |
17307 | "\xd0\xe3\xf6\x09\x1c\x2f\x42\x55" | |
17308 | "\x68\x7b\x8e\xa1\xb4\xc7\xda\xed" | |
17309 | "\x00\x15\x2a\x3f\x54\x69\x7e\x93" | |
17310 | "\xa8\xbd\xd2\xe7\xfc\x11\x26\x3b" | |
17311 | "\x50\x65\x7a\x8f\xa4\xb9\xce\xe3" | |
17312 | "\xf8\x0d\x22\x37\x4c\x61\x76\x8b" | |
17313 | "\xa0\xb5\xca\xdf\xf4\x09\x1e\x33" | |
17314 | "\x48\x5d\x72\x87\x9c\xb1\xc6\xdb" | |
17315 | "\xf0\x05\x1a\x2f\x44\x59\x6e\x83" | |
17316 | "\x98\xad\xc2\xd7\xec\x01\x16\x2b" | |
17317 | "\x40\x55\x6a\x7f\x94\xa9\xbe\xd3" | |
17318 | "\xe8\xfd\x12\x27\x3c\x51\x66\x7b" | |
17319 | "\x90\xa5\xba\xcf\xe4\xf9\x0e\x23" | |
17320 | "\x38\x4d\x62\x77\x8c\xa1\xb6\xcb" | |
17321 | "\xe0\xf5\x0a\x1f\x34\x49\x5e\x73" | |
17322 | "\x88\x9d\xb2\xc7\xdc\xf1\x06\x1b" | |
17323 | "\x30\x45\x5a\x6f\x84\x99\xae\xc3" | |
17324 | "\xd8\xed\x02\x17\x2c\x41\x56\x6b" | |
17325 | "\x80\x95\xaa\xbf\xd4\xe9\xfe\x13" | |
17326 | "\x28\x3d\x52\x67\x7c\x91\xa6\xbb" | |
17327 | "\xd0\xe5\xfa\x0f\x24\x39\x4e\x63" | |
17328 | "\x78\x8d\xa2\xb7\xcc\xe1\xf6\x0b" | |
17329 | "\x20\x35\x4a\x5f\x74\x89\x9e\xb3" | |
17330 | "\xc8\xdd\xf2\x07\x1c\x31\x46\x5b" | |
17331 | "\x70\x85\x9a\xaf\xc4\xd9\xee\x03" | |
17332 | "\x18\x2d\x42\x57\x6c\x81\x96\xab" | |
17333 | "\xc0\xd5\xea\xff\x14\x29\x3e\x53" | |
17334 | "\x68\x7d\x92\xa7\xbc\xd1\xe6\xfb" | |
17335 | "\x10\x25\x3a\x4f\x64\x79\x8e\xa3" | |
17336 | "\xb8\xcd\xe2\xf7\x0c\x21\x36\x4b" | |
17337 | "\x60\x75\x8a\x9f\xb4\xc9\xde\xf3" | |
17338 | "\x08\x1d\x32\x47\x5c\x71\x86\x9b" | |
17339 | "\xb0\xc5\xda\xef\x04\x19\x2e\x43" | |
17340 | "\x58\x6d\x82\x97\xac\xc1\xd6\xeb" | |
17341 | "\x00\x17\x2e\x45\x5c\x73\x8a\xa1" | |
17342 | "\xb8\xcf\xe6\xfd\x14\x2b\x42\x59" | |
17343 | "\x70\x87\x9e\xb5\xcc\xe3\xfa\x11" | |
17344 | "\x28\x3f\x56\x6d\x84\x9b\xb2\xc9" | |
17345 | "\xe0\xf7\x0e\x25\x3c\x53\x6a\x81" | |
17346 | "\x98\xaf\xc6\xdd\xf4\x0b\x22\x39" | |
17347 | "\x50\x67\x7e\x95\xac\xc3\xda\xf1" | |
17348 | "\x08\x1f\x36\x4d\x64\x7b\x92\xa9" | |
17349 | "\xc0\xd7\xee\x05\x1c\x33\x4a\x61" | |
17350 | "\x78\x8f\xa6\xbd\xd4\xeb\x02\x19" | |
17351 | "\x30\x47\x5e\x75\x8c\xa3\xba\xd1" | |
17352 | "\xe8\xff\x16\x2d\x44\x5b\x72\x89" | |
17353 | "\xa0\xb7\xce\xe5\xfc\x13\x2a\x41" | |
17354 | "\x58\x6f\x86\x9d\xb4\xcb\xe2\xf9" | |
17355 | "\x10\x27\x3e\x55\x6c\x83\x9a\xb1" | |
17356 | "\xc8\xdf\xf6\x0d\x24\x3b\x52\x69" | |
17357 | "\x80\x97\xae\xc5\xdc\xf3\x0a\x21" | |
17358 | "\x38\x4f\x66\x7d\x94\xab\xc2\xd9" | |
17359 | "\xf0\x07\x1e\x35\x4c\x63\x7a\x91" | |
17360 | "\xa8\xbf\xd6\xed\x04\x1b\x32\x49" | |
17361 | "\x60\x77\x8e\xa5\xbc\xd3\xea\x01" | |
17362 | "\x18\x2f\x46\x5d\x74\x8b\xa2\xb9" | |
17363 | "\xd0\xe7\xfe\x15\x2c\x43\x5a\x71" | |
17364 | "\x88\x9f\xb6\xcd\xe4\xfb\x12\x29" | |
17365 | "\x40\x57\x6e\x85\x9c\xb3\xca\xe1" | |
17366 | "\xf8\x0f\x26\x3d\x54\x6b\x82\x99" | |
17367 | "\xb0\xc7\xde\xf5\x0c\x23\x3a\x51" | |
17368 | "\x68\x7f\x96\xad\xc4\xdb\xf2\x09" | |
17369 | "\x20\x37\x4e\x65\x7c\x93\xaa\xc1" | |
17370 | "\xd8\xef\x06\x1d\x34\x4b\x62\x79" | |
17371 | "\x90\xa7\xbe\xd5\xec\x03\x1a\x31" | |
17372 | "\x48\x5f\x76\x8d\xa4\xbb\xd2\xe9" | |
17373 | "\x00\x19\x32\x4b\x64\x7d\x96\xaf" | |
17374 | "\xc8\xe1\xfa\x13\x2c\x45\x5e\x77" | |
17375 | "\x90\xa9\xc2\xdb\xf4\x0d\x26\x3f" | |
17376 | "\x58\x71\x8a\xa3\xbc\xd5\xee\x07" | |
17377 | "\x20\x39\x52\x6b\x84\x9d\xb6\xcf" | |
17378 | "\xe8\x01\x1a\x33\x4c\x65\x7e\x97" | |
17379 | "\xb0\xc9\xe2\xfb\x14\x2d\x46\x5f" | |
17380 | "\x78\x91\xaa\xc3\xdc\xf5\x0e\x27" | |
17381 | "\x40\x59\x72\x8b\xa4\xbd\xd6\xef" | |
17382 | "\x08\x21\x3a\x53\x6c\x85\x9e\xb7" | |
17383 | "\xd0\xe9\x02\x1b\x34\x4d\x66\x7f" | |
17384 | "\x98\xb1\xca\xe3\xfc\x15\x2e\x47" | |
17385 | "\x60\x79\x92\xab\xc4\xdd\xf6\x0f" | |
17386 | "\x28\x41\x5a\x73\x8c\xa5\xbe\xd7" | |
17387 | "\xf0\x09\x22\x3b\x54\x6d\x86\x9f" | |
17388 | "\xb8\xd1\xea\x03\x1c\x35\x4e\x67" | |
17389 | "\x80\x99\xb2\xcb\xe4\xfd\x16\x2f" | |
17390 | "\x48\x61\x7a\x93\xac\xc5\xde\xf7" | |
17391 | "\x10\x29\x42\x5b\x74\x8d\xa6\xbf" | |
17392 | "\xd8\xf1\x0a\x23\x3c\x55\x6e\x87" | |
17393 | "\xa0\xb9\xd2\xeb\x04\x1d\x36\x4f" | |
17394 | "\x68\x81\x9a\xb3\xcc\xe5\xfe\x17" | |
17395 | "\x30\x49\x62\x7b\x94\xad\xc6\xdf" | |
17396 | "\xf8\x11\x2a\x43\x5c\x75\x8e\xa7" | |
17397 | "\xc0\xd9\xf2\x0b\x24\x3d\x56\x6f" | |
17398 | "\x88\xa1\xba\xd3\xec\x05\x1e\x37" | |
17399 | "\x50\x69\x82\x9b\xb4\xcd\xe6\xff" | |
17400 | "\x18\x31\x4a\x63\x7c\x95\xae\xc7" | |
17401 | "\xe0\xf9\x12\x2b\x44\x5d\x76\x8f" | |
17402 | "\xa8\xc1\xda\xf3\x0c\x25\x3e\x57" | |
17403 | "\x70\x89\xa2\xbb\xd4\xed\x06\x1f" | |
17404 | "\x38\x51\x6a\x83\x9c\xb5\xce\xe7" | |
17405 | "\x00\x1b\x36\x51\x6c\x87\xa2\xbd" | |
17406 | "\xd8\xf3\x0e\x29\x44\x5f\x7a\x95" | |
17407 | "\xb0\xcb\xe6\x01\x1c\x37\x52\x6d" | |
17408 | "\x88\xa3\xbe\xd9\xf4\x0f\x2a\x45" | |
17409 | "\x60\x7b\x96\xb1\xcc\xe7\x02\x1d" | |
17410 | "\x38\x53\x6e\x89\xa4\xbf\xda\xf5" | |
17411 | "\x10\x2b\x46\x61\x7c\x97\xb2\xcd" | |
17412 | "\xe8\x03\x1e\x39\x54\x6f\x8a\xa5" | |
17413 | "\xc0\xdb\xf6\x11\x2c\x47\x62\x7d" | |
17414 | "\x98\xb3\xce\xe9\x04\x1f\x3a\x55" | |
17415 | "\x70\x8b\xa6\xc1\xdc\xf7\x12\x2d" | |
17416 | "\x48\x63\x7e\x99\xb4\xcf\xea\x05" | |
17417 | "\x20\x3b\x56\x71\x8c\xa7\xc2\xdd" | |
17418 | "\xf8\x13\x2e\x49\x64\x7f\x9a\xb5" | |
17419 | "\xd0\xeb\x06\x21\x3c\x57\x72\x8d" | |
17420 | "\xa8\xc3\xde\xf9\x14\x2f\x4a\x65" | |
17421 | "\x80\x9b\xb6\xd1\xec\x07\x22\x3d" | |
17422 | "\x58\x73\x8e\xa9\xc4\xdf\xfa\x15" | |
17423 | "\x30\x4b\x66\x81\x9c\xb7\xd2\xed" | |
17424 | "\x08\x23\x3e\x59\x74\x8f\xaa\xc5" | |
17425 | "\xe0\xfb\x16\x31\x4c\x67\x82\x9d" | |
17426 | "\xb8\xd3\xee\x09\x24\x3f\x5a\x75" | |
17427 | "\x90\xab\xc6\xe1\xfc\x17\x32\x4d" | |
17428 | "\x68\x83\x9e\xb9\xd4\xef\x0a\x25" | |
17429 | "\x40\x5b\x76\x91\xac\xc7\xe2\xfd" | |
17430 | "\x18\x33\x4e\x69\x84\x9f\xba\xd5" | |
17431 | "\xf0\x0b\x26\x41\x5c\x77\x92\xad" | |
17432 | "\xc8\xe3\xfe\x19\x34\x4f\x6a\x85" | |
17433 | "\xa0\xbb\xd6\xf1\x0c\x27\x42\x5d" | |
17434 | "\x78\x93\xae\xc9\xe4\xff\x1a\x35" | |
17435 | "\x50\x6b\x86\xa1\xbc\xd7\xf2\x0d" | |
17436 | "\x28\x43\x5e\x79\x94\xaf\xca\xe5" | |
17437 | "\x00\x1d\x3a\x57\x74\x91\xae\xcb" | |
17438 | "\xe8\x05\x22\x3f\x5c\x79\x96\xb3" | |
17439 | "\xd0\xed\x0a\x27\x44\x61\x7e\x9b" | |
17440 | "\xb8\xd5\xf2\x0f\x2c\x49\x66\x83" | |
17441 | "\xa0\xbd\xda\xf7\x14\x31\x4e\x6b" | |
17442 | "\x88\xa5\xc2\xdf\xfc\x19\x36\x53" | |
17443 | "\x70\x8d\xaa\xc7\xe4\x01\x1e\x3b" | |
17444 | "\x58\x75\x92\xaf\xcc\xe9\x06\x23" | |
17445 | "\x40\x5d\x7a\x97\xb4\xd1\xee\x0b" | |
17446 | "\x28\x45\x62\x7f\x9c\xb9\xd6\xf3" | |
17447 | "\x10\x2d\x4a\x67\x84\xa1\xbe\xdb" | |
17448 | "\xf8\x15\x32\x4f\x6c\x89\xa6\xc3" | |
17449 | "\xe0\xfd\x1a\x37\x54\x71\x8e\xab" | |
17450 | "\xc8\xe5\x02\x1f\x3c\x59\x76\x93" | |
17451 | "\xb0\xcd\xea\x07\x24\x41\x5e\x7b" | |
17452 | "\x98\xb5\xd2\xef\x0c\x29\x46\x63" | |
17453 | "\x80\x9d\xba\xd7\xf4\x11\x2e\x4b" | |
17454 | "\x68\x85\xa2\xbf\xdc\xf9\x16\x33" | |
17455 | "\x50\x6d\x8a\xa7\xc4\xe1\xfe\x1b" | |
17456 | "\x38\x55\x72\x8f\xac\xc9\xe6\x03" | |
17457 | "\x20\x3d\x5a\x77\x94\xb1\xce\xeb" | |
17458 | "\x08\x25\x42\x5f\x7c\x99\xb6\xd3" | |
17459 | "\xf0\x0d\x2a\x47\x64\x81\x9e\xbb" | |
17460 | "\xd8\xf5\x12\x2f\x4c\x69\x86\xa3" | |
17461 | "\xc0\xdd\xfa\x17\x34\x51\x6e\x8b" | |
17462 | "\xa8\xc5\xe2\xff\x1c\x39\x56\x73" | |
17463 | "\x90\xad\xca\xe7\x04\x21\x3e\x5b" | |
17464 | "\x78\x95\xb2\xcf\xec\x09\x26\x43" | |
17465 | "\x60\x7d\x9a\xb7\xd4\xf1\x0e\x2b" | |
17466 | "\x48\x65\x82\x9f\xbc\xd9\xf6\x13" | |
17467 | "\x30\x4d\x6a\x87\xa4\xc1\xde\xfb" | |
17468 | "\x18\x35\x52\x6f\x8c\xa9\xc6\xe3" | |
17469 | "\x00\x1f\x3e\x5d\x7c\x9b\xba\xd9" | |
17470 | "\xf8\x17\x36\x55\x74\x93\xb2\xd1" | |
17471 | "\xf0\x0f\x2e\x4d\x6c\x8b\xaa\xc9" | |
17472 | "\xe8\x07\x26\x45\x64\x83\xa2\xc1" | |
17473 | "\xe0\xff\x1e\x3d\x5c\x7b\x9a\xb9" | |
17474 | "\xd8\xf7\x16\x35\x54\x73\x92\xb1" | |
17475 | "\xd0\xef\x0e\x2d\x4c\x6b\x8a\xa9" | |
17476 | "\xc8\xe7\x06\x25\x44\x63\x82\xa1" | |
17477 | "\xc0\xdf\xfe\x1d\x3c\x5b\x7a\x99" | |
17478 | "\xb8\xd7\xf6\x15\x34\x53\x72\x91" | |
17479 | "\xb0\xcf\xee\x0d\x2c\x4b\x6a\x89" | |
17480 | "\xa8\xc7\xe6\x05\x24\x43\x62\x81" | |
17481 | "\xa0\xbf\xde\xfd\x1c\x3b\x5a\x79" | |
17482 | "\x98\xb7\xd6\xf5\x14\x33\x52\x71" | |
17483 | "\x90\xaf\xce\xed\x0c\x2b\x4a\x69" | |
17484 | "\x88\xa7\xc6\xe5\x04\x23\x42\x61" | |
17485 | "\x80\x9f\xbe\xdd\xfc\x1b\x3a\x59" | |
17486 | "\x78\x97\xb6\xd5\xf4\x13\x32\x51" | |
17487 | "\x70\x8f\xae\xcd\xec\x0b\x2a\x49" | |
17488 | "\x68\x87\xa6\xc5\xe4\x03\x22\x41" | |
17489 | "\x60\x7f\x9e\xbd\xdc\xfb\x1a\x39" | |
17490 | "\x58\x77\x96\xb5\xd4\xf3\x12\x31" | |
17491 | "\x50\x6f\x8e\xad\xcc\xeb\x0a\x29" | |
17492 | "\x48\x67\x86\xa5\xc4\xe3\x02\x21" | |
17493 | "\x40\x5f\x7e\x9d\xbc\xdb\xfa\x19" | |
17494 | "\x38\x57\x76\x95\xb4\xd3\xf2\x11" | |
17495 | "\x30\x4f\x6e\x8d\xac\xcb\xea\x09" | |
17496 | "\x28\x47\x66\x85\xa4\xc3\xe2\x01" | |
17497 | "\x20\x3f\x5e\x7d\x9c\xbb\xda\xf9" | |
17498 | "\x18\x37\x56\x75\x94\xb3\xd2\xf1" | |
17499 | "\x10\x2f\x4e\x6d\x8c\xab\xca\xe9" | |
17500 | "\x08\x27\x46\x65\x84\xa3\xc2\xe1" | |
17501 | "\x00\x21\x42\x63", | |
17502 | .ilen = 4100, | |
17503 | .result = | |
17504 | "\xb5\x81\xf5\x64\x18\x73\xe3\xf0" | |
17505 | "\x4c\x13\xf2\x77\x18\x60\x65\x5e" | |
17506 | "\x29\x01\xce\x98\x55\x53\xf9\x0c" | |
17507 | "\x2a\x08\xd5\x09\xb3\x57\x55\x56" | |
17508 | "\xc5\xe9\x56\x90\xcb\x6a\xa3\xc0" | |
17509 | "\xff\xc4\x79\xb4\xd2\x97\x5d\xc4" | |
17510 | "\x43\xd1\xfe\x94\x7b\x88\x06\x5a" | |
17511 | "\xb2\x9e\x2c\xfc\x44\x03\xb7\x90" | |
17512 | "\xa0\xc1\xba\x6a\x33\xb8\xc7\xb2" | |
17513 | "\x9d\xe1\x12\x4f\xc0\x64\xd4\x01" | |
17514 | "\xfe\x8c\x7a\x66\xf7\xe6\x5a\x91" | |
17515 | "\xbb\xde\x56\x86\xab\x65\x21\x30" | |
17516 | "\x00\x84\x65\x24\xa5\x7d\x85\xb4" | |
17517 | "\xe3\x17\xed\x3a\xb7\x6f\xb4\x0b" | |
17518 | "\x0b\xaf\x15\xae\x5a\x8f\xf2\x0c" | |
17519 | "\x2f\x27\xf4\x09\xd8\xd2\x96\xb7" | |
17520 | "\x71\xf2\xc5\x99\x4d\x7e\x7f\x75" | |
17521 | "\x77\x89\x30\x8b\x59\xdb\xa2\xb2" | |
17522 | "\xa0\xf3\x19\x39\x2b\xc5\x7e\x3f" | |
17523 | "\x4f\xd9\xd3\x56\x28\x97\x44\xdc" | |
17524 | "\xc0\x8b\x77\x24\xd9\x52\xe7\xc5" | |
17525 | "\xaf\xf6\x7d\x59\xb2\x44\x05\x1d" | |
17526 | "\xb1\xb0\x11\xa5\x0f\xec\x33\xe1" | |
17527 | "\x6d\x1b\x4e\x1f\xff\x57\x91\xb4" | |
17528 | "\x5b\x9a\x96\xc5\x53\xbc\xae\x20" | |
17529 | "\x3c\xbb\x14\xe2\xe8\x22\x33\xc1" | |
17530 | "\x5e\x76\x9e\x46\x99\xf6\x2a\x15" | |
17531 | "\xc6\x97\x02\xa0\x66\x43\xd1\xa6" | |
17532 | "\x31\xa6\x9f\xfb\xf4\xd3\x69\xe5" | |
17533 | "\xcd\x76\x95\xb8\x7a\x82\x7f\x21" | |
17534 | "\x45\xff\x3f\xce\x55\xf6\x95\x10" | |
17535 | "\x08\x77\x10\x43\xc6\xf3\x09\xe5" | |
17536 | "\x68\xe7\x3c\xad\x00\x52\x45\x0d" | |
17537 | "\xfe\x2d\xc6\xc2\x94\x8c\x12\x1d" | |
17538 | "\xe6\x25\xae\x98\x12\x8e\x19\x9c" | |
17539 | "\x81\x68\xb1\x11\xf6\x69\xda\xe3" | |
17540 | "\x62\x08\x18\x7a\x25\x49\x28\xac" | |
17541 | "\xba\x71\x12\x0b\xe4\xa2\xe5\xc7" | |
17542 | "\x5d\x8e\xec\x49\x40\x21\xbf\x5a" | |
17543 | "\x98\xf3\x02\x68\x55\x03\x7f\x8a" | |
17544 | "\xe5\x94\x0c\x32\x5c\x07\x82\x63" | |
17545 | "\xaf\x6f\x91\x40\x84\x8e\x52\x25" | |
17546 | "\xd0\xb0\x29\x53\x05\xe2\x50\x7a" | |
17547 | "\x34\xeb\xc9\x46\x20\xa8\x3d\xde" | |
17548 | "\x7f\x16\x5f\x36\xc5\x2e\xdc\xd1" | |
17549 | "\x15\x47\xc7\x50\x40\x6d\x91\xc5" | |
17550 | "\xe7\x93\x95\x1a\xd3\x57\xbc\x52" | |
17551 | "\x33\xee\x14\x19\x22\x52\x89\xa7" | |
17552 | "\x4a\x25\x56\x77\x4b\xca\xcf\x0a" | |
17553 | "\xe1\xf5\x35\x85\x30\x7e\x59\x4a" | |
17554 | "\xbd\x14\x5b\xdf\xe3\x46\xcb\xac" | |
17555 | "\x1f\x6c\x96\x0e\xf4\x81\xd1\x99" | |
17556 | "\xca\x88\x63\x3d\x02\x58\x6b\xa9" | |
17557 | "\xe5\x9f\xb3\x00\xb2\x54\xc6\x74" | |
17558 | "\x1c\xbf\x46\xab\x97\xcc\xf8\x54" | |
17559 | "\x04\x07\x08\x52\xe6\xc0\xda\x93" | |
17560 | "\x74\x7d\x93\x99\x5d\x78\x68\xa6" | |
17561 | "\x2e\x6b\xd3\x6a\x69\xcc\x12\x6b" | |
17562 | "\xd4\xc7\xa5\xc6\xe7\xf6\x03\x04" | |
17563 | "\x5d\xcd\x61\x5e\x17\x40\xdc\xd1" | |
17564 | "\x5c\xf5\x08\xdf\x5c\x90\x85\xa4" | |
17565 | "\xaf\xf6\x78\xbb\x0d\xf1\xf4\xa4" | |
17566 | "\x54\x26\x72\x9e\x61\xfa\x86\xcf" | |
17567 | "\xe8\x9e\xa1\xe0\xc7\x48\x23\xae" | |
17568 | "\x5a\x90\xae\x75\x0a\x74\x18\x89" | |
17569 | "\x05\xb1\x92\xb2\x7f\xd0\x1b\xa6" | |
17570 | "\x62\x07\x25\x01\xc7\xc2\x4f\xf9" | |
17571 | "\xe8\xfe\x63\x95\x80\x07\xb4\x26" | |
17572 | "\xcc\xd1\x26\xb6\xc4\x3f\x9e\xcb" | |
17573 | "\x8e\x3b\x2e\x44\x16\xd3\x10\x9a" | |
17574 | "\x95\x08\xeb\xc8\xcb\xeb\xbf\x6f" | |
17575 | "\x0b\xcd\x1f\xc8\xca\x86\xaa\xec" | |
17576 | "\x33\xe6\x69\xf4\x45\x25\x86\x3a" | |
17577 | "\x22\x94\x4f\x00\x23\x6a\x44\xc2" | |
17578 | "\x49\x97\x33\xab\x36\x14\x0a\x70" | |
17579 | "\x24\xc3\xbe\x04\x3b\x79\xa0\xf9" | |
17580 | "\xb8\xe7\x76\x29\x22\x83\xd7\xf2" | |
17581 | "\x94\xf4\x41\x49\xba\x5f\x7b\x07" | |
17582 | "\xb5\xfb\xdb\x03\x1a\x9f\xb6\x4c" | |
17583 | "\xc2\x2e\x37\x40\x49\xc3\x38\x16" | |
17584 | "\xe2\x4f\x77\x82\xb0\x68\x4c\x71" | |
17585 | "\x1d\x57\x61\x9c\xd9\x4e\x54\x99" | |
17586 | "\x47\x13\x28\x73\x3c\xbb\x00\x90" | |
17587 | "\xf3\x4d\xc9\x0e\xfd\xe7\xb1\x71" | |
17588 | "\xd3\x15\x79\xbf\xcc\x26\x2f\xbd" | |
17589 | "\xad\x6c\x50\x69\x6c\x3e\x6d\x80" | |
17590 | "\x9a\xea\x78\xaf\x19\xb2\x0d\x4d" | |
17591 | "\xad\x04\x07\xae\x22\x90\x4a\x93" | |
17592 | "\x32\x0e\x36\x9b\x1b\x46\xba\x3b" | |
17593 | "\xb4\xac\xc6\xd1\xa2\x31\x53\x3b" | |
17594 | "\x2a\x3d\x45\xfe\x03\x61\x10\x85" | |
17595 | "\x17\x69\xa6\x78\xcc\x6c\x87\x49" | |
17596 | "\x53\xf9\x80\x10\xde\x80\xa2\x41" | |
17597 | "\x6a\xc3\x32\x02\xad\x6d\x3c\x56" | |
17598 | "\x00\x71\x51\x06\xa7\xbd\xfb\xef" | |
17599 | "\x3c\xb5\x9f\xfc\x48\x7d\x53\x7c" | |
17600 | "\x66\xb0\x49\x23\xc4\x47\x10\x0e" | |
17601 | "\xe5\x6c\x74\x13\xe6\xc5\x3f\xaa" | |
17602 | "\xde\xff\x07\x44\xdd\x56\x1b\xad" | |
17603 | "\x09\x77\xfb\x5b\x12\xb8\x0d\x38" | |
17604 | "\x17\x37\x35\x7b\x9b\xbc\xfe\xd4" | |
17605 | "\x7e\x8b\xda\x7e\x5b\x04\xa7\x22" | |
17606 | "\xa7\x31\xa1\x20\x86\xc7\x1b\x99" | |
17607 | "\xdb\xd1\x89\xf4\x94\xa3\x53\x69" | |
17608 | "\x8d\xe7\xe8\x74\x11\x8d\x74\xd6" | |
17609 | "\x07\x37\x91\x9f\xfd\x67\x50\x3a" | |
17610 | "\xc9\xe1\xf4\x36\xd5\xa0\x47\xd1" | |
17611 | "\xf9\xe5\x39\xa3\x31\xac\x07\x36" | |
17612 | "\x23\xf8\x66\x18\x14\x28\x34\x0f" | |
17613 | "\xb8\xd0\xe7\x29\xb3\x04\x4b\x55" | |
17614 | "\x01\x41\xb2\x75\x8d\xcb\x96\x85" | |
17615 | "\x3a\xfb\xab\x2b\x9e\xfa\x58\x20" | |
17616 | "\x44\x1f\xc0\x14\x22\x75\x61\xe8" | |
17617 | "\xaa\x19\xcf\xf1\x82\x56\xf4\xd7" | |
17618 | "\x78\x7b\x3d\x5f\xb3\x9e\x0b\x8a" | |
17619 | "\x57\x50\xdb\x17\x41\x65\x4d\xa3" | |
17620 | "\x02\xc9\x9c\x9c\x53\xfb\x39\x39" | |
17621 | "\x9b\x1d\x72\x24\xda\xb7\x39\xbe" | |
17622 | "\x13\x3b\xfa\x29\xda\x9e\x54\x64" | |
17623 | "\x6e\xba\xd8\xa1\xcb\xb3\x36\xfa" | |
17624 | "\xcb\x47\x85\xe9\x61\x38\xbc\xbe" | |
17625 | "\xc5\x00\x38\x2a\x54\xf7\xc4\xb9" | |
17626 | "\xb3\xd3\x7b\xa0\xa0\xf8\x72\x7f" | |
17627 | "\x8c\x8e\x82\x0e\xc6\x1c\x75\x9d" | |
17628 | "\xca\x8e\x61\x87\xde\xad\x80\xd2" | |
17629 | "\xf5\xf9\x80\xef\x15\x75\xaf\xf5" | |
17630 | "\x80\xfb\xff\x6d\x1e\x25\xb7\x40" | |
17631 | "\x61\x6a\x39\x5a\x6a\xb5\x31\xab" | |
17632 | "\x97\x8a\x19\x89\x44\x40\xc0\xa6" | |
17633 | "\xb4\x4e\x30\x32\x7b\x13\xe7\x67" | |
17634 | "\xa9\x8b\x57\x04\xc2\x01\xa6\xf4" | |
17635 | "\x28\x99\xad\x2c\x76\xa3\x78\xc2" | |
17636 | "\x4a\xe6\xca\x5c\x50\x6a\xc1\xb0" | |
17637 | "\x62\x4b\x10\x8e\x7c\x17\x43\xb3" | |
17638 | "\x17\x66\x1c\x3e\x8d\x69\xf0\x5a" | |
17639 | "\x71\xf5\x97\xdc\xd1\x45\xdd\x28" | |
17640 | "\xf3\x5d\xdf\x53\x7b\x11\xe5\xbc" | |
17641 | "\x4c\xdb\x1b\x51\x6b\xe9\xfb\x3d" | |
17642 | "\xc1\xc3\x2c\xb9\x71\xf5\xb6\xb2" | |
17643 | "\x13\x36\x79\x80\x53\xe8\xd3\xa6" | |
17644 | "\x0a\xaf\xfd\x56\x97\xf7\x40\x8e" | |
17645 | "\x45\xce\xf8\xb0\x9e\x5c\x33\x82" | |
17646 | "\xb0\x44\x56\xfc\x05\x09\xe9\x2a" | |
17647 | "\xac\x26\x80\x14\x1d\xc8\x3a\x35" | |
17648 | "\x4c\x82\x97\xfd\x76\xb7\xa9\x0a" | |
17649 | "\x35\x58\x79\x8e\x0f\x66\xea\xaf" | |
17650 | "\x51\x6c\x09\xa9\x6e\x9b\xcb\x9a" | |
17651 | "\x31\x47\xa0\x2f\x7c\x71\xb4\x4a" | |
17652 | "\x11\xaa\x8c\x66\xc5\x64\xe6\x3a" | |
17653 | "\x54\xda\x24\x6a\xc4\x41\x65\x46" | |
17654 | "\x82\xa0\x0a\x0f\x5f\xfb\x25\xd0" | |
17655 | "\x2c\x91\xa7\xee\xc4\x81\x07\x86" | |
17656 | "\x75\x5e\x33\x69\x97\xe4\x2c\xa8" | |
17657 | "\x9d\x9f\x0b\x6a\xbe\xad\x98\xda" | |
17658 | "\x6d\x94\x41\xda\x2c\x1e\x89\xc4" | |
17659 | "\xc2\xaf\x1e\x00\x05\x0b\x83\x60" | |
17660 | "\xbd\x43\xea\x15\x23\x7f\xb9\xac" | |
17661 | "\xee\x4f\x2c\xaf\x2a\xf3\xdf\xd0" | |
17662 | "\xf3\x19\x31\xbb\x4a\x74\x84\x17" | |
17663 | "\x52\x32\x2c\x7d\x61\xe4\xcb\xeb" | |
17664 | "\x80\x38\x15\x52\xcb\x6f\xea\xe5" | |
17665 | "\x73\x9c\xd9\x24\x69\xc6\x95\x32" | |
17666 | "\x21\xc8\x11\xe4\xdc\x36\xd7\x93" | |
17667 | "\x38\x66\xfb\xb2\x7f\x3a\xb9\xaf" | |
17668 | "\x31\xdd\x93\x75\x78\x8a\x2c\x94" | |
17669 | "\x87\x1a\x58\xec\x9e\x7d\x4d\xba" | |
17670 | "\xe1\xe5\x4d\xfc\xbc\xa4\x2a\x14" | |
17671 | "\xef\xcc\xa7\xec\xab\x43\x09\x18" | |
17672 | "\xd3\xab\x68\xd1\x07\x99\x44\x47" | |
17673 | "\xd6\x83\x85\x3b\x30\xea\xa9\x6b" | |
17674 | "\x63\xea\xc4\x07\xfb\x43\x2f\xa4" | |
17675 | "\xaa\xb0\xab\x03\x89\xce\x3f\x8c" | |
17676 | "\x02\x7c\x86\x54\xbc\x88\xaf\x75" | |
17677 | "\xd2\xdc\x63\x17\xd3\x26\xf6\x96" | |
17678 | "\xa9\x3c\xf1\x61\x8c\x11\x18\xcc" | |
17679 | "\xd6\xea\x5b\xe2\xcd\xf0\xf1\xb2" | |
17680 | "\xe5\x35\x90\x1f\x85\x4c\x76\x5b" | |
17681 | "\x66\xce\x44\xa4\x32\x9f\xe6\x7b" | |
17682 | "\x71\x6e\x9f\x58\x15\x67\x72\x87" | |
17683 | "\x64\x8e\x3a\x44\x45\xd4\x76\xfa" | |
17684 | "\xc2\xf6\xef\x85\x05\x18\x7a\x9b" | |
17685 | "\xba\x41\x54\xac\xf0\xfc\x59\x12" | |
17686 | "\x3f\xdf\xa0\xe5\x8a\x65\xfd\x3a" | |
17687 | "\x62\x8d\x83\x2c\x03\xbe\x05\x76" | |
17688 | "\x2e\x53\x49\x97\x94\x33\xae\x40" | |
17689 | "\x81\x15\xdb\x6e\xad\xaa\xf5\x4b" | |
17690 | "\xe3\x98\x70\xdf\xe0\x7c\xcd\xdb" | |
17691 | "\x02\xd4\x7d\x2f\xc1\xe6\xb4\xf3" | |
17692 | "\xd7\x0d\x7a\xd9\x23\x9e\x87\x2d" | |
17693 | "\xce\x87\xad\xcc\x72\x05\x00\x29" | |
17694 | "\xdc\x73\x7f\x64\xc1\x15\x0e\xc2" | |
17695 | "\xdf\xa7\x5f\xeb\x41\xa1\xcd\xef" | |
17696 | "\x5c\x50\x79\x2a\x56\x56\x71\x8c" | |
17697 | "\xac\xc0\x79\x50\x69\xca\x59\x32" | |
17698 | "\x65\xf2\x54\xe4\x52\x38\x76\xd1" | |
17699 | "\x5e\xde\x26\x9e\xfb\x75\x2e\x11" | |
17700 | "\xb5\x10\xf4\x17\x73\xf5\x89\xc7" | |
17701 | "\x4f\x43\x5c\x8e\x7c\xb9\x05\x52" | |
17702 | "\x24\x40\x99\xfe\x9b\x85\x0b\x6c" | |
17703 | "\x22\x3e\x8b\xae\x86\xa1\xd2\x79" | |
17704 | "\x05\x68\x6b\xab\xe3\x41\x49\xed" | |
17705 | "\x15\xa1\x8d\x40\x2d\x61\xdf\x1a" | |
17706 | "\x59\xc9\x26\x8b\xef\x30\x4c\x88" | |
17707 | "\x4b\x10\xf8\x8d\xa6\x92\x9f\x4b" | |
17708 | "\xf3\xc4\x53\x0b\x89\x5d\x28\x92" | |
17709 | "\xcf\x78\xb2\xc0\x5d\xed\x7e\xfc" | |
17710 | "\xc0\x12\x23\x5f\x5a\x78\x86\x43" | |
17711 | "\x6e\x27\xf7\x5a\xa7\x6a\xed\x19" | |
17712 | "\x04\xf0\xb3\x12\xd1\xbd\x0e\x89" | |
17713 | "\x6e\xbc\x96\xa8\xd8\x49\x39\x9f" | |
17714 | "\x7e\x67\xf0\x2e\x3e\x01\xa9\xba" | |
17715 | "\xec\x8b\x62\x8e\xcb\x4a\x70\x43" | |
17716 | "\xc7\xc2\xc4\xca\x82\x03\x73\xe9" | |
17717 | "\x11\xdf\xcf\x54\xea\xc9\xb0\x95" | |
17718 | "\x51\xc0\x13\x3d\x92\x05\xfa\xf4" | |
17719 | "\xa9\x34\xc8\xce\x6c\x3d\x54\xcc" | |
17720 | "\xc4\xaf\xf1\xdc\x11\x44\x26\xa2" | |
17721 | "\xaf\xf1\x85\x75\x7d\x03\x61\x68" | |
17722 | "\x4e\x78\xc6\x92\x7d\x86\x7d\x77" | |
17723 | "\xdc\x71\x72\xdb\xc6\xae\xa1\xcb" | |
17724 | "\x70\x9a\x0b\x19\xbe\x4a\x6c\x2a" | |
17725 | "\xe2\xba\x6c\x64\x9a\x13\x28\xdf" | |
17726 | "\x85\x75\xe6\x43\xf6\x87\x08\x68" | |
17727 | "\x6e\xba\x6e\x79\x9f\x04\xbc\x23" | |
17728 | "\x50\xf6\x33\x5c\x1f\x24\x25\xbe" | |
17729 | "\x33\x47\x80\x45\x56\xa3\xa7\xd7" | |
17730 | "\x7a\xb1\x34\x0b\x90\x3c\x9c\xad" | |
17731 | "\x44\x5f\x9e\x0e\x9d\xd4\xbd\x93" | |
17732 | "\x5e\xfa\x3c\xe0\xb0\xd9\xed\xf3" | |
17733 | "\xd6\x2e\xff\x24\xd8\x71\x6c\xed" | |
17734 | "\xaf\x55\xeb\x22\xac\x93\x68\x32" | |
17735 | "\x05\x5b\x47\xdd\xc6\x4a\xcb\xc7" | |
17736 | "\x10\xe1\x3c\x92\x1a\xf3\x23\x78" | |
17737 | "\x2b\xa1\xd2\x80\xf4\x12\xb1\x20" | |
17738 | "\x8f\xff\x26\x35\xdd\xfb\xc7\x4e" | |
17739 | "\x78\xf1\x2d\x50\x12\x77\xa8\x60" | |
17740 | "\x7c\x0f\xf5\x16\x2f\x63\x70\x2a" | |
17741 | "\xc0\x96\x80\x4e\x0a\xb4\x93\x35" | |
17742 | "\x5d\x1d\x3f\x56\xf7\x2f\xbb\x90" | |
17743 | "\x11\x16\x8f\xa2\xec\x47\xbe\xac" | |
17744 | "\x56\x01\x26\x56\xb1\x8c\xb2\x10" | |
17745 | "\xf9\x1a\xca\xf5\xd1\xb7\x39\x20" | |
17746 | "\x63\xf1\x69\x20\x4f\x13\x12\x1f" | |
17747 | "\x5b\x65\xfc\x98\xf7\xc4\x7a\xbe" | |
17748 | "\xf7\x26\x4d\x2b\x84\x7b\x42\xad" | |
17749 | "\xd8\x7a\x0a\xb4\xd8\x74\xbf\xc1" | |
17750 | "\xf0\x6e\xb4\x29\xa3\xbb\xca\x46" | |
17751 | "\x67\x70\x6a\x2d\xce\x0e\xa2\x8a" | |
17752 | "\xa9\x87\xbf\x05\xc4\xc1\x04\xa3" | |
17753 | "\xab\xd4\x45\x43\x8c\xb6\x02\xb0" | |
17754 | "\x41\xc8\xfc\x44\x3d\x59\xaa\x2e" | |
17755 | "\x44\x21\x2a\x8d\x88\x9d\x57\xf4" | |
17756 | "\xa0\x02\x77\xb8\xa6\xa0\xe6\x75" | |
17757 | "\x5c\x82\x65\x3e\x03\x5c\x29\x8f" | |
17758 | "\x38\x55\xab\x33\x26\xef\x9f\x43" | |
17759 | "\x52\xfd\x68\xaf\x36\xb4\xbb\x9a" | |
17760 | "\x58\x09\x09\x1b\xc3\x65\x46\x46" | |
17761 | "\x1d\xa7\x94\x18\x23\x50\x2c\xca" | |
17762 | "\x2c\x55\x19\x97\x01\x9d\x93\x3b" | |
17763 | "\x63\x86\xf2\x03\x67\x45\xd2\x72" | |
17764 | "\x28\x52\x6c\xf4\xe3\x1c\xb5\x11" | |
17765 | "\x13\xf1\xeb\x21\xc7\xd9\x56\x82" | |
17766 | "\x2b\x82\x39\xbd\x69\x54\xed\x62" | |
17767 | "\xc3\xe2\xde\x73\xd4\x6a\x12\xae" | |
17768 | "\x13\x21\x7f\x4b\x5b\xfc\xbf\xe8" | |
17769 | "\x2b\xbe\x56\xba\x68\x8b\x9a\xb1" | |
17770 | "\x6e\xfa\xbf\x7e\x5a\x4b\xf1\xac" | |
17771 | "\x98\x65\x85\xd1\x93\x53\xd3\x7b" | |
17772 | "\x09\xdd\x4b\x10\x6d\x84\xb0\x13" | |
17773 | "\x65\xbd\xcf\x52\x09\xc4\x85\xe2" | |
17774 | "\x84\x74\x15\x65\xb7\xf7\x51\xaf" | |
17775 | "\x55\xad\xa4\xd1\x22\x54\x70\x94" | |
17776 | "\xa0\x1c\x90\x41\xfd\x99\xd7\x5a" | |
17777 | "\x31\xef\xaa\x25\xd0\x7f\x4f\xea" | |
17778 | "\x1d\x55\x42\xe5\x49\xb0\xd0\x46" | |
17779 | "\x62\x36\x43\xb2\x82\x15\x75\x50" | |
17780 | "\xa4\x72\xeb\x54\x27\x1f\x8a\xe4" | |
17781 | "\x7d\xe9\x66\xc5\xf1\x53\xa4\xd1" | |
17782 | "\x0c\xeb\xb8\xf8\xbc\xd4\xe2\xe7" | |
17783 | "\xe1\xf8\x4b\xcb\xa9\xa1\xaf\x15" | |
17784 | "\x83\xcb\x72\xd0\x33\x79\x00\x2d" | |
17785 | "\x9f\xd7\xf1\x2e\x1e\x10\xe4\x45" | |
17786 | "\xc0\x75\x3a\x39\xea\x68\xf7\x5d" | |
17787 | "\x1b\x73\x8f\xe9\x8e\x0f\x72\x47" | |
17788 | "\xae\x35\x0a\x31\x7a\x14\x4d\x4a" | |
17789 | "\x6f\x47\xf7\x7e\x91\x6e\x74\x8b" | |
17790 | "\x26\x47\xf9\xc3\xf9\xde\x70\xf5" | |
17791 | "\x61\xab\xa9\x27\x9f\x82\xe4\x9c" | |
17792 | "\x89\x91\x3f\x2e\x6a\xfd\xb5\x49" | |
17793 | "\xe9\xfd\x59\x14\x36\x49\x40\x6d" | |
17794 | "\x32\xd8\x85\x42\xf3\xa5\xdf\x0c" | |
17795 | "\xa8\x27\xd7\x54\xe2\x63\x2f\xf2" | |
17796 | "\x7e\x8b\x8b\xe7\xf1\x9a\x95\x35" | |
17797 | "\x43\xdc\x3a\xe4\xb6\xf4\xd0\xdf" | |
17798 | "\x9c\xcb\x94\xf3\x21\xa0\x77\x50" | |
17799 | "\xe2\xc6\xc4\xc6\x5f\x09\x64\x5b" | |
17800 | "\x92\x90\xd8\xe1\xd1\xed\x4b\x42" | |
17801 | "\xd7\x37\xaf\x65\x3d\x11\x39\xb6" | |
17802 | "\x24\x8a\x60\xae\xd6\x1e\xbf\x0e" | |
17803 | "\x0d\xd7\xdc\x96\x0e\x65\x75\x4e" | |
17804 | "\x29\x06\x9d\xa4\x51\x3a\x10\x63" | |
17805 | "\x8f\x17\x07\xd5\x8e\x3c\xf4\x28" | |
17806 | "\x00\x5a\x5b\x05\x19\xd8\xc0\x6c" | |
17807 | "\xe5\x15\xe4\x9c\x9d\x71\x9d\x5e" | |
17808 | "\x94\x29\x1a\xa7\x80\xfa\x0e\x33" | |
17809 | "\x03\xdd\xb7\x3e\x9a\xa9\x26\x18" | |
17810 | "\x37\xa9\x64\x08\x4d\x94\x5a\x88" | |
17811 | "\xca\x35\xce\x81\x02\xe3\x1f\x1b" | |
17812 | "\x89\x1a\x77\x85\xe3\x41\x6d\x32" | |
17813 | "\x42\x19\x23\x7d\xc8\x73\xee\x25" | |
17814 | "\x85\x0d\xf8\x31\x25\x79\x1b\x6f" | |
17815 | "\x79\x25\xd2\xd8\xd4\x23\xfd\xf7" | |
17816 | "\x82\x36\x6a\x0c\x46\x22\x15\xe9" | |
17817 | "\xff\x72\x41\x91\x91\x7d\x3a\xb7" | |
17818 | "\xdd\x65\x99\x70\xf6\x8d\x84\xf8" | |
17819 | "\x67\x15\x20\x11\xd6\xb2\x55\x7b" | |
17820 | "\xdb\x87\xee\xef\x55\x89\x2a\x59" | |
17821 | "\x2b\x07\x8f\x43\x8a\x59\x3c\x01" | |
17822 | "\x8b\x65\x54\xa1\x66\xd5\x38\xbd" | |
17823 | "\xc6\x30\xa9\xcc\x49\xb6\xa8\x1b" | |
17824 | "\xb8\xc0\x0e\xe3\x45\x28\xe2\xff" | |
17825 | "\x41\x9f\x7e\x7c\xd1\xae\x9e\x25" | |
17826 | "\x3f\x4c\x7c\x7c\xf4\xa8\x26\x4d" | |
17827 | "\x5c\xfd\x4b\x27\x18\xf9\x61\x76" | |
17828 | "\x48\xba\x0c\x6b\xa9\x4d\xfc\xf5" | |
17829 | "\x3b\x35\x7e\x2f\x4a\xa9\xc2\x9a" | |
17830 | "\xae\xab\x86\x09\x89\xc9\xc2\x40" | |
17831 | "\x39\x2c\x81\xb3\xb8\x17\x67\xc2" | |
17832 | "\x0d\x32\x4a\x3a\x67\x81\xd7\x1a" | |
17833 | "\x34\x52\xc5\xdb\x0a\xf5\x63\x39" | |
17834 | "\xea\x1f\xe1\x7c\xa1\x9e\xc1\x35" | |
17835 | "\xe3\xb1\x18\x45\x67\xf9\x22\x38" | |
17836 | "\x95\xd9\x34\x34\x86\xc6\x41\x94" | |
17837 | "\x15\xf9\x5b\x41\xa6\x87\x8b\xf8" | |
17838 | "\xd5\xe1\x1b\xe2\x5b\xf3\x86\x10" | |
17839 | "\xff\xe6\xae\x69\x76\xbc\x0d\xb4" | |
17840 | "\x09\x90\x0c\xa2\x65\x0c\xad\x74" | |
17841 | "\xf5\xd7\xff\xda\xc1\xce\x85\xbe" | |
17842 | "\x00\xa7\xff\x4d\x2f\x65\xd3\x8c" | |
17843 | "\x86\x2d\x05\xe8\xed\x3e\x6b\x8b" | |
17844 | "\x0f\x3d\x83\x8c\xf1\x1d\x5b\x96" | |
17845 | "\x2e\xb1\x9c\xc2\x98\xe1\x70\xb9" | |
17846 | "\xba\x5c\x8a\x43\xd6\x34\xa7\x2d" | |
17847 | "\xc9\x92\xae\xf2\xa5\x7b\x05\x49" | |
17848 | "\xa7\x33\x34\x86\xca\xe4\x96\x23" | |
17849 | "\x76\x5b\xf2\xc6\xf1\x51\x28\x42" | |
17850 | "\x7b\xcc\x76\x8f\xfa\xa2\xad\x31" | |
17851 | "\xd4\xd6\x7a\x6d\x25\x25\x54\xe4" | |
17852 | "\x3f\x50\x59\xe1\x5c\x05\xb7\x27" | |
17853 | "\x48\xbf\x07\xec\x1b\x13\xbe\x2b" | |
17854 | "\xa1\x57\x2b\xd5\xab\xd7\xd0\x4c" | |
17855 | "\x1e\xcb\x71\x9b\xc5\x90\x85\xd3" | |
17856 | "\xde\x59\xec\x71\xeb\x89\xbb\xd0" | |
17857 | "\x09\x50\xe1\x16\x3f\xfd\x1c\x34" | |
17858 | "\xc3\x1c\xa1\x10\x77\x53\x98\xef" | |
17859 | "\xf2\xfd\xa5\x01\x59\xc2\x9b\x26" | |
17860 | "\xc7\x42\xd9\x49\xda\x58\x2b\x6e" | |
17861 | "\x9f\x53\x19\x76\x7e\xd9\xc9\x0e" | |
17862 | "\x68\xc8\x7f\x51\x22\x42\xef\x49" | |
17863 | "\xa4\x55\xb6\x36\xac\x09\xc7\x31" | |
17864 | "\x88\x15\x4b\x2e\x8f\x3a\x08\xf7" | |
17865 | "\xd8\xf7\xa8\xc5\xa9\x33\xa6\x45" | |
17866 | "\xe4\xc4\x94\x76\xf3\x0d\x8f\x7e" | |
17867 | "\xc8\xf6\xbc\x23\x0a\xb6\x4c\xd3" | |
17868 | "\x6a\xcd\x36\xc2\x90\x5c\x5c\x3c" | |
17869 | "\x65\x7b\xc2\xd6\xcc\xe6\x0d\x87" | |
17870 | "\x73\x2e\x71\x79\x16\x06\x63\x28" | |
17871 | "\x09\x15\xd8\x89\x38\x38\x3d\xb5" | |
17872 | "\x42\x1c\x08\x24\xf7\x2a\xd2\x9d" | |
17873 | "\xc8\xca\xef\xf9\x27\xd8\x07\x86" | |
17874 | "\xf7\x43\x0b\x55\x15\x3f\x9f\x83" | |
17875 | "\xef\xdc\x49\x9d\x2a\xc1\x54\x62" | |
17876 | "\xbd\x9b\x66\x55\x9f\xb7\x12\xf3" | |
17877 | "\x1b\x4d\x9d\x2a\x5c\xed\x87\x75" | |
17878 | "\x87\x26\xec\x61\x2c\xb4\x0f\x89" | |
17879 | "\xb0\xfb\x2e\x68\x5d\x15\xc7\x8d" | |
17880 | "\x2e\xc0\xd9\xec\xaf\x4f\xd2\x25" | |
17881 | "\x29\xe8\xd2\x26\x2b\x67\xe9\xfc" | |
17882 | "\x2b\xa8\x67\x96\x12\x1f\x5b\x96" | |
17883 | "\xc6\x14\x53\xaf\x44\xea\xd6\xe2" | |
17884 | "\x94\x98\xe4\x12\x93\x4c\x92\xe0" | |
17885 | "\x18\xa5\x8d\x2d\xe4\x71\x3c\x47" | |
17886 | "\x4c\xf7\xe6\x47\x9e\xc0\x68\xdf" | |
17887 | "\xd4\xf5\x5a\x74\xb1\x2b\x29\x03" | |
17888 | "\x19\x07\xaf\x90\x62\x5c\x68\x98" | |
17889 | "\x48\x16\x11\x02\x9d\xee\xb4\x9b" | |
17890 | "\xe5\x42\x7f\x08\xfd\x16\x32\x0b" | |
17891 | "\xd0\xb3\xfa\x2b\xb7\x99\xf9\x29" | |
17892 | "\xcd\x20\x45\x9f\xb3\x1a\x5d\xa2" | |
17893 | "\xaf\x4d\xe0\xbd\x42\x0d\xbc\x74" | |
17894 | "\x99\x9c\x8e\x53\x1a\xb4\x3e\xbd" | |
17895 | "\xa2\x9a\x2d\xf7\xf8\x39\x0f\x67" | |
17896 | "\x63\xfc\x6b\xc0\xaf\xb3\x4b\x4f" | |
17897 | "\x55\xc4\xcf\xa7\xc8\x04\x11\x3e" | |
17898 | "\x14\x32\xbb\x1b\x38\x77\xd6\x7f" | |
17899 | "\x54\x4c\xdf\x75\xf3\x07\x2d\x33" | |
17900 | "\x9b\xa8\x20\xe1\x7b\x12\xb5\xf3" | |
17901 | "\xef\x2f\xce\x72\xe5\x24\x60\xc1" | |
17902 | "\x30\xe2\xab\xa1\x8e\x11\x09\xa8" | |
17903 | "\x21\x33\x44\xfe\x7f\x35\x32\x93" | |
17904 | "\x39\xa7\xad\x8b\x79\x06\xb2\xcb" | |
17905 | "\x4e\xa9\x5f\xc7\xba\x74\x29\xec" | |
17906 | "\x93\xa0\x4e\x54\x93\xc0\xbc\x55" | |
17907 | "\x64\xf0\x48\xe5\x57\x99\xee\x75" | |
17908 | "\xd6\x79\x0f\x66\xb7\xc6\x57\x76" | |
17909 | "\xf7\xb7\xf3\x9c\xc5\x60\xe8\x7f" | |
17910 | "\x83\x76\xd6\x0e\xaa\xe6\x90\x39" | |
17911 | "\x1d\xa6\x32\x6a\x34\xe3\x55\xf8" | |
17912 | "\x58\xa0\x58\x7d\x33\xe0\x22\x39" | |
17913 | "\x44\x64\x87\x86\x5a\x2f\xa7\x7e" | |
17914 | "\x0f\x38\xea\xb0\x30\xcc\x61\xa5" | |
17915 | "\x6a\x32\xae\x1e\xf7\xe9\xd0\xa9" | |
17916 | "\x0c\x32\x4b\xb5\x49\x28\xab\x85" | |
17917 | "\x2f\x8e\x01\x36\x38\x52\xd0\xba" | |
17918 | "\xd6\x02\x78\xf8\x0e\x3e\x9c\x8b" | |
17919 | "\x6b\x45\x99\x3f\x5c\xfe\x58\xf1" | |
17920 | "\x5c\x94\x04\xe1\xf5\x18\x6d\x51" | |
17921 | "\xb2\x5d\x18\x20\xb6\xc2\x9a\x42" | |
17922 | "\x1d\xb3\xab\x3c\xb6\x3a\x13\x03" | |
17923 | "\xb2\x46\x82\x4f\xfc\x64\xbc\x4f" | |
17924 | "\xca\xfa\x9c\xc0\xd5\xa7\xbd\x11" | |
17925 | "\xb7\xe4\x5a\xf6\x6f\x4d\x4d\x54" | |
17926 | "\xea\xa4\x98\x66\xd4\x22\x3b\xd3" | |
17927 | "\x8f\x34\x47\xd9\x7c\xf4\x72\x3b" | |
17928 | "\x4d\x02\x77\xf6\xd6\xdd\x08\x0a" | |
17929 | "\x81\xe1\x86\x89\x3e\x56\x10\x3c" | |
17930 | "\xba\xd7\x81\x8c\x08\xbc\x8b\xe2" | |
17931 | "\x53\xec\xa7\x89\xee\xc8\x56\xb5" | |
17932 | "\x36\x2c\xb2\x03\xba\x99\xdd\x7c" | |
17933 | "\x48\xa0\xb0\xbc\x91\x33\xe9\xa8" | |
17934 | "\xcb\xcd\xcf\x59\x5f\x1f\x15\xe2" | |
17935 | "\x56\xf5\x4e\x01\x35\x27\x45\x77" | |
17936 | "\x47\xc8\xbc\xcb\x7e\x39\xc1\x97" | |
17937 | "\x28\xd3\x84\xfc\x2c\x3e\xc8\xad" | |
17938 | "\x9c\xf8\x8a\x61\x9c\x28\xaa\xc5" | |
17939 | "\x99\x20\x43\x85\x9d\xa5\xe2\x8b" | |
17940 | "\xb8\xae\xeb\xd0\x32\x0d\x52\x78" | |
17941 | "\x09\x56\x3f\xc7\xd8\x7e\x26\xfc" | |
17942 | "\x37\xfb\x6f\x04\xfc\xfa\x92\x10" | |
17943 | "\xac\xf8\x3e\x21\xdc\x8c\x21\x16" | |
17944 | "\x7d\x67\x6e\xf6\xcd\xda\xb6\x98" | |
17945 | "\x23\xab\x23\x3c\xb2\x10\xa0\x53" | |
17946 | "\x5a\x56\x9f\xc5\xd0\xff\xbb\xe4" | |
17947 | "\x98\x3c\x69\x1e\xdb\x38\x8f\x7e" | |
17948 | "\x0f\xd2\x98\x88\x81\x8b\x45\x67" | |
17949 | "\xea\x33\xf1\xeb\xe9\x97\x55\x2e" | |
17950 | "\xd9\xaa\xeb\x5a\xec\xda\xe1\x68" | |
17951 | "\xa8\x9d\x3c\x84\x7c\x05\x3d\x62" | |
17952 | "\x87\x8f\x03\x21\x28\x95\x0c\x89" | |
17953 | "\x25\x22\x4a\xb0\x93\xa9\x50\xa2" | |
17954 | "\x2f\x57\x6e\x18\x42\x19\x54\x0c" | |
17955 | "\x55\x67\xc6\x11\x49\xf4\x5c\xd2" | |
17956 | "\xe9\x3d\xdd\x8b\x48\x71\x21\x00" | |
17957 | "\xc3\x9a\x6c\x85\x74\x28\x83\x4a" | |
17958 | "\x1b\x31\x05\xe1\x06\x92\xe7\xda" | |
17959 | "\x85\x73\x78\x45\x20\x7f\xae\x13" | |
17960 | "\x7c\x33\x06\x22\xf4\x83\xf9\x35" | |
17961 | "\x3f\x6c\x71\xa8\x4e\x48\xbe\x9b" | |
17962 | "\xce\x8a\xba\xda\xbe\x28\x08\xf7" | |
17963 | "\xe2\x14\x8c\x71\xea\x72\xf9\x33" | |
17964 | "\xf2\x88\x3f\xd7\xbb\x69\x6c\x29" | |
17965 | "\x19\xdc\x84\xce\x1f\x12\x4f\xc8" | |
17966 | "\xaf\xa5\x04\xba\x5a\xab\xb0\xd9" | |
17967 | "\x14\x1f\x6c\x68\x98\x39\x89\x7a" | |
17968 | "\xd9\xd8\x2f\xdf\xa8\x47\x4a\x25" | |
17969 | "\xe2\xfb\x33\xf4\x59\x78\xe1\x68" | |
17970 | "\x85\xcf\xfe\x59\x20\xd4\x05\x1d" | |
17971 | "\x80\x99\xae\xbc\xca\xae\x0f\x2f" | |
17972 | "\x65\x43\x34\x8e\x7e\xac\xd3\x93" | |
17973 | "\x2f\xac\x6d\x14\x3d\x02\x07\x70" | |
17974 | "\x9d\xa4\xf3\x1b\x5c\x36\xfc\x01" | |
17975 | "\x73\x34\x85\x0c\x6c\xd6\xf1\xbd" | |
17976 | "\x3f\xdf\xee\xf5\xd9\xba\x56\xef" | |
17977 | "\xf4\x9b\x6b\xee\x9f\x5a\x78\x6d" | |
17978 | "\x32\x19\xf4\xf7\xf8\x4c\x69\x0b" | |
17979 | "\x4b\xbc\xbb\xb7\xf2\x85\xaf\x70" | |
17980 | "\x75\x24\x6c\x54\xa7\x0e\x4d\x1d" | |
17981 | "\x01\xbf\x08\xac\xcf\x7f\x2c\xe3" | |
17982 | "\x14\x89\x5e\x70\x5a\x99\x92\xcd" | |
17983 | "\x01\x84\xc8\xd2\xab\xe5\x4f\x58" | |
17984 | "\xe7\x0f\x2f\x0e\xff\x68\xea\xfd" | |
17985 | "\x15\xb3\x17\xe6\xb0\xe7\x85\xd8" | |
17986 | "\x23\x2e\x05\xc7\xc9\xc4\x46\x1f" | |
17987 | "\xe1\x9e\x49\x20\x23\x24\x4d\x7e" | |
17988 | "\x29\x65\xff\xf4\xb6\xfd\x1a\x85" | |
17989 | "\xc4\x16\xec\xfc\xea\x7b\xd6\x2c" | |
17990 | "\x43\xf8\xb7\xbf\x79\xc0\x85\xcd" | |
17991 | "\xef\xe1\x98\xd3\xa5\xf7\x90\x8c" | |
17992 | "\xe9\x7f\x80\x6b\xd2\xac\x4c\x30" | |
17993 | "\xa7\xc6\x61\x6c\xd2\xf9\x2c\xff" | |
17994 | "\x30\xbc\x22\x81\x7d\x93\x12\xe4" | |
17995 | "\x0a\xcd\xaf\xdd\xe8\xab\x0a\x1e" | |
17996 | "\x13\xa4\x27\xc3\x5f\xf7\x4b\xbb" | |
17997 | "\x37\x09\x4b\x91\x6f\x92\x4f\xaf" | |
17998 | "\x52\xee\xdf\xef\x09\x6f\xf7\x5c" | |
17999 | "\x6e\x12\x17\x72\x63\x57\xc7\xba" | |
18000 | "\x3b\x6b\x38\x32\x73\x1b\x9c\x80" | |
18001 | "\xc1\x7a\xc6\xcf\xcd\x35\xc0\x6b" | |
18002 | "\x31\x1a\x6b\xe9\xd8\x2c\x29\x3f" | |
18003 | "\x96\xfb\xb6\xcd\x13\x91\x3b\xc2" | |
18004 | "\xd2\xa3\x31\x8d\xa4\xcd\x57\xcd" | |
18005 | "\x13\x3d\x64\xfd\x06\xce\xe6\xdc" | |
18006 | "\x0c\x24\x43\x31\x40\x57\xf1\x72" | |
18007 | "\x17\xe3\x3a\x63\x6d\x35\xcf\x5d" | |
18008 | "\x97\x40\x59\xdd\xf7\x3c\x02\xf7" | |
18009 | "\x1c\x7e\x05\xbb\xa9\x0d\x01\xb1" | |
18010 | "\x8e\xc0\x30\xa9\x53\x24\xc9\x89" | |
18011 | "\x84\x6d\xaa\xd0\xcd\x91\xc2\x4d" | |
18012 | "\x91\xb0\x89\xe2\xbf\x83\x44\xaa" | |
18013 | "\x28\x72\x23\xa0\xc2\xad\xad\x1c" | |
18014 | "\xfc\x3f\x09\x7a\x0b\xdc\xc5\x1b" | |
18015 | "\x87\x13\xc6\x5b\x59\x8d\xf2\xc8" | |
18016 | "\xaf\xdf\x11\x95", | |
18017 | .rlen = 4100, | |
18018 | .np = 2, | |
18019 | .tap = { 4064, 36 }, | |
18020 | }, | |
18021 | }; | |
18022 | ||
18023 | /* | |
18024 | * CTS (Cipher Text Stealing) mode tests | |
18025 | */ | |
18026 | #define CTS_MODE_ENC_TEST_VECTORS 6 | |
18027 | #define CTS_MODE_DEC_TEST_VECTORS 6 | |
18028 | static struct cipher_testvec cts_mode_enc_tv_template[] = { | |
18029 | { /* from rfc3962 */ | |
18030 | .klen = 16, | |
18031 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18032 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18033 | .ilen = 17, | |
18034 | .input = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18035 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18036 | "\x20", | |
18037 | .rlen = 17, | |
18038 | .result = "\xc6\x35\x35\x68\xf2\xbf\x8c\xb4" | |
18039 | "\xd8\xa5\x80\x36\x2d\xa7\xff\x7f" | |
18040 | "\x97", | |
18041 | }, { | |
18042 | .klen = 16, | |
18043 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18044 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18045 | .ilen = 31, | |
18046 | .input = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18047 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18048 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18049 | "\x20\x47\x61\x75\x27\x73\x20", | |
18050 | .rlen = 31, | |
18051 | .result = "\xfc\x00\x78\x3e\x0e\xfd\xb2\xc1" | |
18052 | "\xd4\x45\xd4\xc8\xef\xf7\xed\x22" | |
18053 | "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18054 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5", | |
18055 | }, { | |
18056 | .klen = 16, | |
18057 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18058 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18059 | .ilen = 32, | |
18060 | .input = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18061 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18062 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18063 | "\x20\x47\x61\x75\x27\x73\x20\x43", | |
18064 | .rlen = 32, | |
18065 | .result = "\x39\x31\x25\x23\xa7\x86\x62\xd5" | |
18066 | "\xbe\x7f\xcb\xcc\x98\xeb\xf5\xa8" | |
18067 | "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18068 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84", | |
18069 | }, { | |
18070 | .klen = 16, | |
18071 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18072 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18073 | .ilen = 47, | |
18074 | .input = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18075 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18076 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18077 | "\x20\x47\x61\x75\x27\x73\x20\x43" | |
18078 | "\x68\x69\x63\x6b\x65\x6e\x2c\x20" | |
18079 | "\x70\x6c\x65\x61\x73\x65\x2c", | |
18080 | .rlen = 47, | |
18081 | .result = "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18082 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84" | |
18083 | "\xb3\xff\xfd\x94\x0c\x16\xa1\x8c" | |
18084 | "\x1b\x55\x49\xd2\xf8\x38\x02\x9e" | |
18085 | "\x39\x31\x25\x23\xa7\x86\x62\xd5" | |
18086 | "\xbe\x7f\xcb\xcc\x98\xeb\xf5", | |
18087 | }, { | |
18088 | .klen = 16, | |
18089 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18090 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18091 | .ilen = 48, | |
18092 | .input = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18093 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18094 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18095 | "\x20\x47\x61\x75\x27\x73\x20\x43" | |
18096 | "\x68\x69\x63\x6b\x65\x6e\x2c\x20" | |
18097 | "\x70\x6c\x65\x61\x73\x65\x2c\x20", | |
18098 | .rlen = 48, | |
18099 | .result = "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18100 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84" | |
18101 | "\x9d\xad\x8b\xbb\x96\xc4\xcd\xc0" | |
18102 | "\x3b\xc1\x03\xe1\xa1\x94\xbb\xd8" | |
18103 | "\x39\x31\x25\x23\xa7\x86\x62\xd5" | |
18104 | "\xbe\x7f\xcb\xcc\x98\xeb\xf5\xa8", | |
18105 | }, { | |
18106 | .klen = 16, | |
18107 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18108 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18109 | .ilen = 64, | |
18110 | .input = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18111 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18112 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18113 | "\x20\x47\x61\x75\x27\x73\x20\x43" | |
18114 | "\x68\x69\x63\x6b\x65\x6e\x2c\x20" | |
18115 | "\x70\x6c\x65\x61\x73\x65\x2c\x20" | |
18116 | "\x61\x6e\x64\x20\x77\x6f\x6e\x74" | |
18117 | "\x6f\x6e\x20\x73\x6f\x75\x70\x2e", | |
18118 | .rlen = 64, | |
18119 | .result = "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18120 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84" | |
18121 | "\x39\x31\x25\x23\xa7\x86\x62\xd5" | |
18122 | "\xbe\x7f\xcb\xcc\x98\xeb\xf5\xa8" | |
18123 | "\x48\x07\xef\xe8\x36\xee\x89\xa5" | |
18124 | "\x26\x73\x0d\xbc\x2f\x7b\xc8\x40" | |
18125 | "\x9d\xad\x8b\xbb\x96\xc4\xcd\xc0" | |
18126 | "\x3b\xc1\x03\xe1\xa1\x94\xbb\xd8", | |
18127 | } | |
18128 | }; | |
18129 | ||
18130 | static struct cipher_testvec cts_mode_dec_tv_template[] = { | |
18131 | { /* from rfc3962 */ | |
18132 | .klen = 16, | |
18133 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18134 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18135 | .rlen = 17, | |
18136 | .result = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18137 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18138 | "\x20", | |
18139 | .ilen = 17, | |
18140 | .input = "\xc6\x35\x35\x68\xf2\xbf\x8c\xb4" | |
18141 | "\xd8\xa5\x80\x36\x2d\xa7\xff\x7f" | |
18142 | "\x97", | |
18143 | }, { | |
18144 | .klen = 16, | |
18145 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18146 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18147 | .rlen = 31, | |
18148 | .result = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18149 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18150 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18151 | "\x20\x47\x61\x75\x27\x73\x20", | |
18152 | .ilen = 31, | |
18153 | .input = "\xfc\x00\x78\x3e\x0e\xfd\xb2\xc1" | |
18154 | "\xd4\x45\xd4\xc8\xef\xf7\xed\x22" | |
18155 | "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18156 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5", | |
18157 | }, { | |
18158 | .klen = 16, | |
18159 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18160 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18161 | .rlen = 32, | |
18162 | .result = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18163 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18164 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18165 | "\x20\x47\x61\x75\x27\x73\x20\x43", | |
18166 | .ilen = 32, | |
18167 | .input = "\x39\x31\x25\x23\xa7\x86\x62\xd5" | |
18168 | "\xbe\x7f\xcb\xcc\x98\xeb\xf5\xa8" | |
18169 | "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18170 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84", | |
18171 | }, { | |
18172 | .klen = 16, | |
18173 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18174 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18175 | .rlen = 47, | |
18176 | .result = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18177 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18178 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18179 | "\x20\x47\x61\x75\x27\x73\x20\x43" | |
18180 | "\x68\x69\x63\x6b\x65\x6e\x2c\x20" | |
18181 | "\x70\x6c\x65\x61\x73\x65\x2c", | |
18182 | .ilen = 47, | |
18183 | .input = "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18184 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84" | |
18185 | "\xb3\xff\xfd\x94\x0c\x16\xa1\x8c" | |
18186 | "\x1b\x55\x49\xd2\xf8\x38\x02\x9e" | |
18187 | "\x39\x31\x25\x23\xa7\x86\x62\xd5" | |
18188 | "\xbe\x7f\xcb\xcc\x98\xeb\xf5", | |
18189 | }, { | |
18190 | .klen = 16, | |
18191 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18192 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18193 | .rlen = 48, | |
18194 | .result = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18195 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18196 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18197 | "\x20\x47\x61\x75\x27\x73\x20\x43" | |
18198 | "\x68\x69\x63\x6b\x65\x6e\x2c\x20" | |
18199 | "\x70\x6c\x65\x61\x73\x65\x2c\x20", | |
18200 | .ilen = 48, | |
18201 | .input = "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18202 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84" | |
18203 | "\x9d\xad\x8b\xbb\x96\xc4\xcd\xc0" | |
18204 | "\x3b\xc1\x03\xe1\xa1\x94\xbb\xd8" | |
18205 | "\x39\x31\x25\x23\xa7\x86\x62\xd5" | |
18206 | "\xbe\x7f\xcb\xcc\x98\xeb\xf5\xa8", | |
18207 | }, { | |
18208 | .klen = 16, | |
18209 | .key = "\x63\x68\x69\x63\x6b\x65\x6e\x20" | |
18210 | "\x74\x65\x72\x69\x79\x61\x6b\x69", | |
18211 | .rlen = 64, | |
18212 | .result = "\x49\x20\x77\x6f\x75\x6c\x64\x20" | |
18213 | "\x6c\x69\x6b\x65\x20\x74\x68\x65" | |
18214 | "\x20\x47\x65\x6e\x65\x72\x61\x6c" | |
18215 | "\x20\x47\x61\x75\x27\x73\x20\x43" | |
18216 | "\x68\x69\x63\x6b\x65\x6e\x2c\x20" | |
18217 | "\x70\x6c\x65\x61\x73\x65\x2c\x20" | |
18218 | "\x61\x6e\x64\x20\x77\x6f\x6e\x74" | |
18219 | "\x6f\x6e\x20\x73\x6f\x75\x70\x2e", | |
18220 | .ilen = 64, | |
18221 | .input = "\x97\x68\x72\x68\xd6\xec\xcc\xc0" | |
18222 | "\xc0\x7b\x25\xe2\x5e\xcf\xe5\x84" | |
18223 | "\x39\x31\x25\x23\xa7\x86\x62\xd5" | |
18224 | "\xbe\x7f\xcb\xcc\x98\xeb\xf5\xa8" | |
18225 | "\x48\x07\xef\xe8\x36\xee\x89\xa5" | |
18226 | "\x26\x73\x0d\xbc\x2f\x7b\xc8\x40" | |
18227 | "\x9d\xad\x8b\xbb\x96\xc4\xcd\xc0" | |
18228 | "\x3b\xc1\x03\xe1\xa1\x94\xbb\xd8", | |
18229 | } | |
18230 | }; | |
18231 | ||
18232 | /* | |
18233 | * Compression stuff. | |
18234 | */ | |
18235 | #define COMP_BUF_SIZE 512 | |
18236 | ||
18237 | struct comp_testvec { | |
18238 | int inlen, outlen; | |
18239 | char input[COMP_BUF_SIZE]; | |
18240 | char output[COMP_BUF_SIZE]; | |
18241 | }; | |
18242 | ||
8064efb8 GU |
18243 | struct pcomp_testvec { |
18244 | void *params; | |
18245 | unsigned int paramsize; | |
18246 | int inlen, outlen; | |
18247 | char input[COMP_BUF_SIZE]; | |
18248 | char output[COMP_BUF_SIZE]; | |
18249 | }; | |
18250 | ||
da7f033d HX |
18251 | /* |
18252 | * Deflate test vectors (null-terminated strings). | |
bcf84a38 | 18253 | * Params: winbits=-11, Z_DEFAULT_COMPRESSION, MAX_MEM_LEVEL. |
da7f033d | 18254 | */ |
0c01aed5 | 18255 | |
da7f033d HX |
18256 | #define DEFLATE_COMP_TEST_VECTORS 2 |
18257 | #define DEFLATE_DECOMP_TEST_VECTORS 2 | |
18258 | ||
18259 | static struct comp_testvec deflate_comp_tv_template[] = { | |
18260 | { | |
18261 | .inlen = 70, | |
18262 | .outlen = 38, | |
18263 | .input = "Join us now and share the software " | |
18264 | "Join us now and share the software ", | |
18265 | .output = "\xf3\xca\xcf\xcc\x53\x28\x2d\x56" | |
18266 | "\xc8\xcb\x2f\x57\x48\xcc\x4b\x51" | |
18267 | "\x28\xce\x48\x2c\x4a\x55\x28\xc9" | |
18268 | "\x48\x55\x28\xce\x4f\x2b\x29\x07" | |
18269 | "\x71\xbc\x08\x2b\x01\x00", | |
18270 | }, { | |
18271 | .inlen = 191, | |
18272 | .outlen = 122, | |
18273 | .input = "This document describes a compression method based on the DEFLATE" | |
18274 | "compression algorithm. This document defines the application of " | |
18275 | "the DEFLATE algorithm to the IP Payload Compression Protocol.", | |
18276 | .output = "\x5d\x8d\x31\x0e\xc2\x30\x10\x04" | |
18277 | "\xbf\xb2\x2f\xc8\x1f\x10\x04\x09" | |
18278 | "\x89\xc2\x85\x3f\x70\xb1\x2f\xf8" | |
18279 | "\x24\xdb\x67\xd9\x47\xc1\xef\x49" | |
18280 | "\x68\x12\x51\xae\x76\x67\xd6\x27" | |
18281 | "\x19\x88\x1a\xde\x85\xab\x21\xf2" | |
18282 | "\x08\x5d\x16\x1e\x20\x04\x2d\xad" | |
18283 | "\xf3\x18\xa2\x15\x85\x2d\x69\xc4" | |
18284 | "\x42\x83\x23\xb6\x6c\x89\x71\x9b" | |
18285 | "\xef\xcf\x8b\x9f\xcf\x33\xca\x2f" | |
18286 | "\xed\x62\xa9\x4c\x80\xff\x13\xaf" | |
18287 | "\x52\x37\xed\x0e\x52\x6b\x59\x02" | |
18288 | "\xd9\x4e\xe8\x7a\x76\x1d\x02\x98" | |
18289 | "\xfe\x8a\x87\x83\xa3\x4f\x56\x8a" | |
18290 | "\xb8\x9e\x8e\x5c\x57\xd3\xa0\x79" | |
18291 | "\xfa\x02", | |
18292 | }, | |
18293 | }; | |
18294 | ||
18295 | static struct comp_testvec deflate_decomp_tv_template[] = { | |
18296 | { | |
18297 | .inlen = 122, | |
18298 | .outlen = 191, | |
18299 | .input = "\x5d\x8d\x31\x0e\xc2\x30\x10\x04" | |
18300 | "\xbf\xb2\x2f\xc8\x1f\x10\x04\x09" | |
18301 | "\x89\xc2\x85\x3f\x70\xb1\x2f\xf8" | |
18302 | "\x24\xdb\x67\xd9\x47\xc1\xef\x49" | |
18303 | "\x68\x12\x51\xae\x76\x67\xd6\x27" | |
18304 | "\x19\x88\x1a\xde\x85\xab\x21\xf2" | |
18305 | "\x08\x5d\x16\x1e\x20\x04\x2d\xad" | |
18306 | "\xf3\x18\xa2\x15\x85\x2d\x69\xc4" | |
18307 | "\x42\x83\x23\xb6\x6c\x89\x71\x9b" | |
18308 | "\xef\xcf\x8b\x9f\xcf\x33\xca\x2f" | |
18309 | "\xed\x62\xa9\x4c\x80\xff\x13\xaf" | |
18310 | "\x52\x37\xed\x0e\x52\x6b\x59\x02" | |
18311 | "\xd9\x4e\xe8\x7a\x76\x1d\x02\x98" | |
18312 | "\xfe\x8a\x87\x83\xa3\x4f\x56\x8a" | |
18313 | "\xb8\x9e\x8e\x5c\x57\xd3\xa0\x79" | |
18314 | "\xfa\x02", | |
18315 | .output = "This document describes a compression method based on the DEFLATE" | |
18316 | "compression algorithm. This document defines the application of " | |
18317 | "the DEFLATE algorithm to the IP Payload Compression Protocol.", | |
18318 | }, { | |
18319 | .inlen = 38, | |
18320 | .outlen = 70, | |
18321 | .input = "\xf3\xca\xcf\xcc\x53\x28\x2d\x56" | |
18322 | "\xc8\xcb\x2f\x57\x48\xcc\x4b\x51" | |
18323 | "\x28\xce\x48\x2c\x4a\x55\x28\xc9" | |
18324 | "\x48\x55\x28\xce\x4f\x2b\x29\x07" | |
0c01aed5 GU |
18325 | "\x71\xbc\x08\x2b\x01\x00", |
18326 | .output = "Join us now and share the software " | |
18327 | "Join us now and share the software ", | |
18328 | }, | |
18329 | }; | |
18330 | ||
18331 | #define ZLIB_COMP_TEST_VECTORS 2 | |
18332 | #define ZLIB_DECOMP_TEST_VECTORS 2 | |
18333 | ||
18334 | static const struct { | |
18335 | struct nlattr nla; | |
18336 | int val; | |
18337 | } deflate_comp_params[] = { | |
18338 | { | |
18339 | .nla = { | |
18340 | .nla_len = NLA_HDRLEN + sizeof(int), | |
18341 | .nla_type = ZLIB_COMP_LEVEL, | |
18342 | }, | |
18343 | .val = Z_DEFAULT_COMPRESSION, | |
18344 | }, { | |
18345 | .nla = { | |
18346 | .nla_len = NLA_HDRLEN + sizeof(int), | |
18347 | .nla_type = ZLIB_COMP_METHOD, | |
18348 | }, | |
18349 | .val = Z_DEFLATED, | |
18350 | }, { | |
18351 | .nla = { | |
18352 | .nla_len = NLA_HDRLEN + sizeof(int), | |
18353 | .nla_type = ZLIB_COMP_WINDOWBITS, | |
18354 | }, | |
18355 | .val = -11, | |
18356 | }, { | |
18357 | .nla = { | |
18358 | .nla_len = NLA_HDRLEN + sizeof(int), | |
18359 | .nla_type = ZLIB_COMP_MEMLEVEL, | |
18360 | }, | |
18361 | .val = MAX_MEM_LEVEL, | |
18362 | }, { | |
18363 | .nla = { | |
18364 | .nla_len = NLA_HDRLEN + sizeof(int), | |
18365 | .nla_type = ZLIB_COMP_STRATEGY, | |
18366 | }, | |
18367 | .val = Z_DEFAULT_STRATEGY, | |
18368 | } | |
18369 | }; | |
18370 | ||
18371 | static const struct { | |
18372 | struct nlattr nla; | |
18373 | int val; | |
18374 | } deflate_decomp_params[] = { | |
18375 | { | |
18376 | .nla = { | |
18377 | .nla_len = NLA_HDRLEN + sizeof(int), | |
18378 | .nla_type = ZLIB_DECOMP_WINDOWBITS, | |
18379 | }, | |
18380 | .val = -11, | |
18381 | } | |
18382 | }; | |
18383 | ||
18384 | static struct pcomp_testvec zlib_comp_tv_template[] = { | |
18385 | { | |
18386 | .params = &deflate_comp_params, | |
18387 | .paramsize = sizeof(deflate_comp_params), | |
18388 | .inlen = 70, | |
18389 | .outlen = 38, | |
18390 | .input = "Join us now and share the software " | |
18391 | "Join us now and share the software ", | |
18392 | .output = "\xf3\xca\xcf\xcc\x53\x28\x2d\x56" | |
18393 | "\xc8\xcb\x2f\x57\x48\xcc\x4b\x51" | |
18394 | "\x28\xce\x48\x2c\x4a\x55\x28\xc9" | |
18395 | "\x48\x55\x28\xce\x4f\x2b\x29\x07" | |
18396 | "\x71\xbc\x08\x2b\x01\x00", | |
18397 | }, { | |
18398 | .params = &deflate_comp_params, | |
18399 | .paramsize = sizeof(deflate_comp_params), | |
18400 | .inlen = 191, | |
18401 | .outlen = 122, | |
18402 | .input = "This document describes a compression method based on the DEFLATE" | |
18403 | "compression algorithm. This document defines the application of " | |
18404 | "the DEFLATE algorithm to the IP Payload Compression Protocol.", | |
18405 | .output = "\x5d\x8d\x31\x0e\xc2\x30\x10\x04" | |
18406 | "\xbf\xb2\x2f\xc8\x1f\x10\x04\x09" | |
18407 | "\x89\xc2\x85\x3f\x70\xb1\x2f\xf8" | |
18408 | "\x24\xdb\x67\xd9\x47\xc1\xef\x49" | |
18409 | "\x68\x12\x51\xae\x76\x67\xd6\x27" | |
18410 | "\x19\x88\x1a\xde\x85\xab\x21\xf2" | |
18411 | "\x08\x5d\x16\x1e\x20\x04\x2d\xad" | |
18412 | "\xf3\x18\xa2\x15\x85\x2d\x69\xc4" | |
18413 | "\x42\x83\x23\xb6\x6c\x89\x71\x9b" | |
18414 | "\xef\xcf\x8b\x9f\xcf\x33\xca\x2f" | |
18415 | "\xed\x62\xa9\x4c\x80\xff\x13\xaf" | |
18416 | "\x52\x37\xed\x0e\x52\x6b\x59\x02" | |
18417 | "\xd9\x4e\xe8\x7a\x76\x1d\x02\x98" | |
18418 | "\xfe\x8a\x87\x83\xa3\x4f\x56\x8a" | |
18419 | "\xb8\x9e\x8e\x5c\x57\xd3\xa0\x79" | |
18420 | "\xfa\x02", | |
18421 | }, | |
18422 | }; | |
18423 | ||
18424 | static struct pcomp_testvec zlib_decomp_tv_template[] = { | |
18425 | { | |
18426 | .params = &deflate_decomp_params, | |
18427 | .paramsize = sizeof(deflate_decomp_params), | |
18428 | .inlen = 122, | |
18429 | .outlen = 191, | |
18430 | .input = "\x5d\x8d\x31\x0e\xc2\x30\x10\x04" | |
18431 | "\xbf\xb2\x2f\xc8\x1f\x10\x04\x09" | |
18432 | "\x89\xc2\x85\x3f\x70\xb1\x2f\xf8" | |
18433 | "\x24\xdb\x67\xd9\x47\xc1\xef\x49" | |
18434 | "\x68\x12\x51\xae\x76\x67\xd6\x27" | |
18435 | "\x19\x88\x1a\xde\x85\xab\x21\xf2" | |
18436 | "\x08\x5d\x16\x1e\x20\x04\x2d\xad" | |
18437 | "\xf3\x18\xa2\x15\x85\x2d\x69\xc4" | |
18438 | "\x42\x83\x23\xb6\x6c\x89\x71\x9b" | |
18439 | "\xef\xcf\x8b\x9f\xcf\x33\xca\x2f" | |
18440 | "\xed\x62\xa9\x4c\x80\xff\x13\xaf" | |
18441 | "\x52\x37\xed\x0e\x52\x6b\x59\x02" | |
18442 | "\xd9\x4e\xe8\x7a\x76\x1d\x02\x98" | |
18443 | "\xfe\x8a\x87\x83\xa3\x4f\x56\x8a" | |
18444 | "\xb8\x9e\x8e\x5c\x57\xd3\xa0\x79" | |
18445 | "\xfa\x02", | |
18446 | .output = "This document describes a compression method based on the DEFLATE" | |
18447 | "compression algorithm. This document defines the application of " | |
18448 | "the DEFLATE algorithm to the IP Payload Compression Protocol.", | |
18449 | }, { | |
18450 | .params = &deflate_decomp_params, | |
18451 | .paramsize = sizeof(deflate_decomp_params), | |
18452 | .inlen = 38, | |
18453 | .outlen = 70, | |
18454 | .input = "\xf3\xca\xcf\xcc\x53\x28\x2d\x56" | |
18455 | "\xc8\xcb\x2f\x57\x48\xcc\x4b\x51" | |
18456 | "\x28\xce\x48\x2c\x4a\x55\x28\xc9" | |
18457 | "\x48\x55\x28\xce\x4f\x2b\x29\x07" | |
da7f033d HX |
18458 | "\x71\xbc\x08\x2b\x01\x00", |
18459 | .output = "Join us now and share the software " | |
18460 | "Join us now and share the software ", | |
18461 | }, | |
18462 | }; | |
18463 | ||
18464 | /* | |
18465 | * LZO test vectors (null-terminated strings). | |
18466 | */ | |
18467 | #define LZO_COMP_TEST_VECTORS 2 | |
18468 | #define LZO_DECOMP_TEST_VECTORS 2 | |
18469 | ||
18470 | static struct comp_testvec lzo_comp_tv_template[] = { | |
18471 | { | |
18472 | .inlen = 70, | |
18473 | .outlen = 46, | |
18474 | .input = "Join us now and share the software " | |
18475 | "Join us now and share the software ", | |
18476 | .output = "\x00\x0d\x4a\x6f\x69\x6e\x20\x75" | |
18477 | "\x73\x20\x6e\x6f\x77\x20\x61\x6e" | |
18478 | "\x64\x20\x73\x68\x61\x72\x65\x20" | |
18479 | "\x74\x68\x65\x20\x73\x6f\x66\x74" | |
18480 | "\x77\x70\x01\x01\x4a\x6f\x69\x6e" | |
18481 | "\x3d\x88\x00\x11\x00\x00", | |
18482 | }, { | |
18483 | .inlen = 159, | |
18484 | .outlen = 133, | |
18485 | .input = "This document describes a compression method based on the LZO " | |
18486 | "compression algorithm. This document defines the application of " | |
18487 | "the LZO algorithm used in UBIFS.", | |
18488 | .output = "\x00\x2b\x54\x68\x69\x73\x20\x64" | |
18489 | "\x6f\x63\x75\x6d\x65\x6e\x74\x20" | |
18490 | "\x64\x65\x73\x63\x72\x69\x62\x65" | |
18491 | "\x73\x20\x61\x20\x63\x6f\x6d\x70" | |
18492 | "\x72\x65\x73\x73\x69\x6f\x6e\x20" | |
18493 | "\x6d\x65\x74\x68\x6f\x64\x20\x62" | |
18494 | "\x61\x73\x65\x64\x20\x6f\x6e\x20" | |
18495 | "\x74\x68\x65\x20\x4c\x5a\x4f\x2b" | |
18496 | "\x8c\x00\x0d\x61\x6c\x67\x6f\x72" | |
18497 | "\x69\x74\x68\x6d\x2e\x20\x20\x54" | |
18498 | "\x68\x69\x73\x2a\x54\x01\x02\x66" | |
18499 | "\x69\x6e\x65\x73\x94\x06\x05\x61" | |
18500 | "\x70\x70\x6c\x69\x63\x61\x74\x76" | |
18501 | "\x0a\x6f\x66\x88\x02\x60\x09\x27" | |
18502 | "\xf0\x00\x0c\x20\x75\x73\x65\x64" | |
18503 | "\x20\x69\x6e\x20\x55\x42\x49\x46" | |
18504 | "\x53\x2e\x11\x00\x00", | |
18505 | }, | |
18506 | }; | |
18507 | ||
18508 | static struct comp_testvec lzo_decomp_tv_template[] = { | |
18509 | { | |
18510 | .inlen = 133, | |
18511 | .outlen = 159, | |
18512 | .input = "\x00\x2b\x54\x68\x69\x73\x20\x64" | |
18513 | "\x6f\x63\x75\x6d\x65\x6e\x74\x20" | |
18514 | "\x64\x65\x73\x63\x72\x69\x62\x65" | |
18515 | "\x73\x20\x61\x20\x63\x6f\x6d\x70" | |
18516 | "\x72\x65\x73\x73\x69\x6f\x6e\x20" | |
18517 | "\x6d\x65\x74\x68\x6f\x64\x20\x62" | |
18518 | "\x61\x73\x65\x64\x20\x6f\x6e\x20" | |
18519 | "\x74\x68\x65\x20\x4c\x5a\x4f\x2b" | |
18520 | "\x8c\x00\x0d\x61\x6c\x67\x6f\x72" | |
18521 | "\x69\x74\x68\x6d\x2e\x20\x20\x54" | |
18522 | "\x68\x69\x73\x2a\x54\x01\x02\x66" | |
18523 | "\x69\x6e\x65\x73\x94\x06\x05\x61" | |
18524 | "\x70\x70\x6c\x69\x63\x61\x74\x76" | |
18525 | "\x0a\x6f\x66\x88\x02\x60\x09\x27" | |
18526 | "\xf0\x00\x0c\x20\x75\x73\x65\x64" | |
18527 | "\x20\x69\x6e\x20\x55\x42\x49\x46" | |
18528 | "\x53\x2e\x11\x00\x00", | |
18529 | .output = "This document describes a compression method based on the LZO " | |
18530 | "compression algorithm. This document defines the application of " | |
18531 | "the LZO algorithm used in UBIFS.", | |
18532 | }, { | |
18533 | .inlen = 46, | |
18534 | .outlen = 70, | |
18535 | .input = "\x00\x0d\x4a\x6f\x69\x6e\x20\x75" | |
18536 | "\x73\x20\x6e\x6f\x77\x20\x61\x6e" | |
18537 | "\x64\x20\x73\x68\x61\x72\x65\x20" | |
18538 | "\x74\x68\x65\x20\x73\x6f\x66\x74" | |
18539 | "\x77\x70\x01\x01\x4a\x6f\x69\x6e" | |
18540 | "\x3d\x88\x00\x11\x00\x00", | |
18541 | .output = "Join us now and share the software " | |
18542 | "Join us now and share the software ", | |
18543 | }, | |
18544 | }; | |
18545 | ||
18546 | /* | |
18547 | * Michael MIC test vectors from IEEE 802.11i | |
18548 | */ | |
18549 | #define MICHAEL_MIC_TEST_VECTORS 6 | |
18550 | ||
18551 | static struct hash_testvec michael_mic_tv_template[] = { | |
18552 | { | |
18553 | .key = "\x00\x00\x00\x00\x00\x00\x00\x00", | |
18554 | .ksize = 8, | |
18555 | .plaintext = zeroed_string, | |
18556 | .psize = 0, | |
18557 | .digest = "\x82\x92\x5c\x1c\xa1\xd1\x30\xb8", | |
18558 | }, | |
18559 | { | |
18560 | .key = "\x82\x92\x5c\x1c\xa1\xd1\x30\xb8", | |
18561 | .ksize = 8, | |
18562 | .plaintext = "M", | |
18563 | .psize = 1, | |
18564 | .digest = "\x43\x47\x21\xca\x40\x63\x9b\x3f", | |
18565 | }, | |
18566 | { | |
18567 | .key = "\x43\x47\x21\xca\x40\x63\x9b\x3f", | |
18568 | .ksize = 8, | |
18569 | .plaintext = "Mi", | |
18570 | .psize = 2, | |
18571 | .digest = "\xe8\xf9\xbe\xca\xe9\x7e\x5d\x29", | |
18572 | }, | |
18573 | { | |
18574 | .key = "\xe8\xf9\xbe\xca\xe9\x7e\x5d\x29", | |
18575 | .ksize = 8, | |
18576 | .plaintext = "Mic", | |
18577 | .psize = 3, | |
18578 | .digest = "\x90\x03\x8f\xc6\xcf\x13\xc1\xdb", | |
18579 | }, | |
18580 | { | |
18581 | .key = "\x90\x03\x8f\xc6\xcf\x13\xc1\xdb", | |
18582 | .ksize = 8, | |
18583 | .plaintext = "Mich", | |
18584 | .psize = 4, | |
18585 | .digest = "\xd5\x5e\x10\x05\x10\x12\x89\x86", | |
18586 | }, | |
18587 | { | |
18588 | .key = "\xd5\x5e\x10\x05\x10\x12\x89\x86", | |
18589 | .ksize = 8, | |
18590 | .plaintext = "Michael", | |
18591 | .psize = 7, | |
18592 | .digest = "\x0a\x94\x2b\x12\x4e\xca\xa5\x46", | |
18593 | } | |
18594 | }; | |
18595 | ||
18596 | /* | |
18597 | * CRC32C test vectors | |
18598 | */ | |
18599 | #define CRC32C_TEST_VECTORS 14 | |
18600 | ||
18601 | static struct hash_testvec crc32c_tv_template[] = { | |
18602 | { | |
18603 | .psize = 0, | |
18604 | .digest = "\x00\x00\x00\x00", | |
18605 | }, | |
18606 | { | |
18607 | .key = "\x87\xa9\xcb\xed", | |
18608 | .ksize = 4, | |
18609 | .psize = 0, | |
18610 | .digest = "\x78\x56\x34\x12", | |
18611 | }, | |
18612 | { | |
18613 | .key = "\xff\xff\xff\xff", | |
18614 | .ksize = 4, | |
18615 | .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
18616 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
18617 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
18618 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" | |
18619 | "\x21\x22\x23\x24\x25\x26\x27\x28", | |
18620 | .psize = 40, | |
18621 | .digest = "\x7f\x15\x2c\x0e", | |
18622 | }, | |
18623 | { | |
18624 | .key = "\xff\xff\xff\xff", | |
18625 | .ksize = 4, | |
18626 | .plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" | |
18627 | "\x31\x32\x33\x34\x35\x36\x37\x38" | |
18628 | "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" | |
18629 | "\x41\x42\x43\x44\x45\x46\x47\x48" | |
18630 | "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50", | |
18631 | .psize = 40, | |
18632 | .digest = "\xf6\xeb\x80\xe9", | |
18633 | }, | |
18634 | { | |
18635 | .key = "\xff\xff\xff\xff", | |
18636 | .ksize = 4, | |
18637 | .plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58" | |
18638 | "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" | |
18639 | "\x61\x62\x63\x64\x65\x66\x67\x68" | |
18640 | "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" | |
18641 | "\x71\x72\x73\x74\x75\x76\x77\x78", | |
18642 | .psize = 40, | |
18643 | .digest = "\xed\xbd\x74\xde", | |
18644 | }, | |
18645 | { | |
18646 | .key = "\xff\xff\xff\xff", | |
18647 | .ksize = 4, | |
18648 | .plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" | |
18649 | "\x81\x82\x83\x84\x85\x86\x87\x88" | |
18650 | "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" | |
18651 | "\x91\x92\x93\x94\x95\x96\x97\x98" | |
18652 | "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0", | |
18653 | .psize = 40, | |
18654 | .digest = "\x62\xc8\x79\xd5", | |
18655 | }, | |
18656 | { | |
18657 | .key = "\xff\xff\xff\xff", | |
18658 | .ksize = 4, | |
18659 | .plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" | |
18660 | "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" | |
18661 | "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" | |
18662 | "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" | |
18663 | "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8", | |
18664 | .psize = 40, | |
18665 | .digest = "\xd0\x9a\x97\xba", | |
18666 | }, | |
18667 | { | |
18668 | .key = "\xff\xff\xff\xff", | |
18669 | .ksize = 4, | |
18670 | .plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" | |
18671 | "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" | |
18672 | "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" | |
18673 | "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" | |
18674 | "\xe9\xea\xeb\xec\xed\xee\xef\xf0", | |
18675 | .psize = 40, | |
18676 | .digest = "\x13\xd9\x29\x2b", | |
18677 | }, | |
18678 | { | |
18679 | .key = "\x80\xea\xd3\xf1", | |
18680 | .ksize = 4, | |
18681 | .plaintext = "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" | |
18682 | "\x31\x32\x33\x34\x35\x36\x37\x38" | |
18683 | "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" | |
18684 | "\x41\x42\x43\x44\x45\x46\x47\x48" | |
18685 | "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50", | |
18686 | .psize = 40, | |
18687 | .digest = "\x0c\xb5\xe2\xa2", | |
18688 | }, | |
18689 | { | |
18690 | .key = "\xf3\x4a\x1d\x5d", | |
18691 | .ksize = 4, | |
18692 | .plaintext = "\x51\x52\x53\x54\x55\x56\x57\x58" | |
18693 | "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" | |
18694 | "\x61\x62\x63\x64\x65\x66\x67\x68" | |
18695 | "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" | |
18696 | "\x71\x72\x73\x74\x75\x76\x77\x78", | |
18697 | .psize = 40, | |
18698 | .digest = "\xd1\x7f\xfb\xa6", | |
18699 | }, | |
18700 | { | |
18701 | .key = "\x2e\x80\x04\x59", | |
18702 | .ksize = 4, | |
18703 | .plaintext = "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" | |
18704 | "\x81\x82\x83\x84\x85\x86\x87\x88" | |
18705 | "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" | |
18706 | "\x91\x92\x93\x94\x95\x96\x97\x98" | |
18707 | "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0", | |
18708 | .psize = 40, | |
18709 | .digest = "\x59\x33\xe6\x7a", | |
18710 | }, | |
18711 | { | |
18712 | .key = "\xa6\xcc\x19\x85", | |
18713 | .ksize = 4, | |
18714 | .plaintext = "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" | |
18715 | "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" | |
18716 | "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" | |
18717 | "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" | |
18718 | "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8", | |
18719 | .psize = 40, | |
18720 | .digest = "\xbe\x03\x01\xd2", | |
18721 | }, | |
18722 | { | |
18723 | .key = "\x41\xfc\xfe\x2d", | |
18724 | .ksize = 4, | |
18725 | .plaintext = "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" | |
18726 | "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" | |
18727 | "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" | |
18728 | "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" | |
18729 | "\xe9\xea\xeb\xec\xed\xee\xef\xf0", | |
18730 | .psize = 40, | |
18731 | .digest = "\x75\xd3\xc5\x24", | |
18732 | }, | |
18733 | { | |
18734 | .key = "\xff\xff\xff\xff", | |
18735 | .ksize = 4, | |
18736 | .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
18737 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
18738 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
18739 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" | |
18740 | "\x21\x22\x23\x24\x25\x26\x27\x28" | |
18741 | "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" | |
18742 | "\x31\x32\x33\x34\x35\x36\x37\x38" | |
18743 | "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" | |
18744 | "\x41\x42\x43\x44\x45\x46\x47\x48" | |
18745 | "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50" | |
18746 | "\x51\x52\x53\x54\x55\x56\x57\x58" | |
18747 | "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" | |
18748 | "\x61\x62\x63\x64\x65\x66\x67\x68" | |
18749 | "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" | |
18750 | "\x71\x72\x73\x74\x75\x76\x77\x78" | |
18751 | "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" | |
18752 | "\x81\x82\x83\x84\x85\x86\x87\x88" | |
18753 | "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" | |
18754 | "\x91\x92\x93\x94\x95\x96\x97\x98" | |
18755 | "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0" | |
18756 | "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" | |
18757 | "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" | |
18758 | "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" | |
18759 | "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" | |
18760 | "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8" | |
18761 | "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" | |
18762 | "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" | |
18763 | "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" | |
18764 | "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" | |
18765 | "\xe9\xea\xeb\xec\xed\xee\xef\xf0", | |
18766 | .psize = 240, | |
18767 | .digest = "\x75\xd3\xc5\x24", | |
18768 | .np = 2, | |
18769 | .tap = { 31, 209 } | |
18770 | }, | |
18771 | }; | |
18772 | ||
a482b081 SZ |
18773 | /* |
18774 | * Blakcifn CRC test vectors | |
18775 | */ | |
18776 | #define BFIN_CRC_TEST_VECTORS 6 | |
18777 | ||
18778 | static struct hash_testvec bfin_crc_tv_template[] = { | |
18779 | { | |
18780 | .psize = 0, | |
18781 | .digest = "\x00\x00\x00\x00", | |
18782 | }, | |
18783 | { | |
18784 | .key = "\x87\xa9\xcb\xed", | |
18785 | .ksize = 4, | |
18786 | .psize = 0, | |
18787 | .digest = "\x87\xa9\xcb\xed", | |
18788 | }, | |
18789 | { | |
18790 | .key = "\xff\xff\xff\xff", | |
18791 | .ksize = 4, | |
18792 | .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
18793 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
18794 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
18795 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" | |
18796 | "\x21\x22\x23\x24\x25\x26\x27\x28", | |
18797 | .psize = 40, | |
18798 | .digest = "\x84\x0c\x8d\xa2", | |
18799 | }, | |
18800 | { | |
18801 | .key = "\xff\xff\xff\xff", | |
18802 | .ksize = 4, | |
18803 | .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
18804 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
18805 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
18806 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" | |
18807 | "\x21\x22\x23\x24\x25\x26", | |
18808 | .psize = 38, | |
18809 | .digest = "\x8c\x58\xec\xb7", | |
18810 | }, | |
18811 | { | |
18812 | .key = "\xff\xff\xff\xff", | |
18813 | .ksize = 4, | |
18814 | .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
18815 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
18816 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
18817 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" | |
18818 | "\x21\x22\x23\x24\x25\x26\x27", | |
18819 | .psize = 39, | |
18820 | .digest = "\xdc\x50\x28\x7b", | |
18821 | }, | |
18822 | { | |
18823 | .key = "\xff\xff\xff\xff", | |
18824 | .ksize = 4, | |
18825 | .plaintext = "\x01\x02\x03\x04\x05\x06\x07\x08" | |
18826 | "\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10" | |
18827 | "\x11\x12\x13\x14\x15\x16\x17\x18" | |
18828 | "\x19\x1a\x1b\x1c\x1d\x1e\x1f\x20" | |
18829 | "\x21\x22\x23\x24\x25\x26\x27\x28" | |
18830 | "\x29\x2a\x2b\x2c\x2d\x2e\x2f\x30" | |
18831 | "\x31\x32\x33\x34\x35\x36\x37\x38" | |
18832 | "\x39\x3a\x3b\x3c\x3d\x3e\x3f\x40" | |
18833 | "\x41\x42\x43\x44\x45\x46\x47\x48" | |
18834 | "\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50" | |
18835 | "\x51\x52\x53\x54\x55\x56\x57\x58" | |
18836 | "\x59\x5a\x5b\x5c\x5d\x5e\x5f\x60" | |
18837 | "\x61\x62\x63\x64\x65\x66\x67\x68" | |
18838 | "\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70" | |
18839 | "\x71\x72\x73\x74\x75\x76\x77\x78" | |
18840 | "\x79\x7a\x7b\x7c\x7d\x7e\x7f\x80" | |
18841 | "\x81\x82\x83\x84\x85\x86\x87\x88" | |
18842 | "\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90" | |
18843 | "\x91\x92\x93\x94\x95\x96\x97\x98" | |
18844 | "\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0" | |
18845 | "\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8" | |
18846 | "\xa9\xaa\xab\xac\xad\xae\xaf\xb0" | |
18847 | "\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8" | |
18848 | "\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0" | |
18849 | "\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8" | |
18850 | "\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0" | |
18851 | "\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8" | |
18852 | "\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0" | |
18853 | "\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8" | |
18854 | "\xe9\xea\xeb\xec\xed\xee\xef\xf0", | |
18855 | .psize = 240, | |
18856 | .digest = "\x10\x19\x4a\x5c", | |
18857 | .np = 2, | |
18858 | .tap = { 31, 209 } | |
18859 | }, | |
18860 | ||
18861 | }; | |
18862 | ||
da7f033d | 18863 | #endif /* _CRYPTO_TESTMGR_H */ |