]> git.proxmox.com Git - ceph.git/blob - ceph/src/dpdk/app/test/test_cryptodev_gcm_test_vectors.h
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / dpdk / app / test / test_cryptodev_gcm_test_vectors.h
1 /*-
2 * BSD LICENSE
3 *
4 * Copyright(c) 2015 Intel Corporation. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
15 * distribution.
16 * * Neither the name of Intel Corporation nor the names of its
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33 #ifndef TEST_CRYPTODEV_GCM_TEST_VECTORS_H_
34 #define TEST_CRYPTODEV_GCM_TEST_VECTORS_H_
35
36 #define GMAC_LARGE_PLAINTEXT_LENGTH 65376
37
38 struct gcm_test_data {
39 struct {
40 uint8_t data[64];
41 unsigned len;
42 } key;
43
44 struct {
45 uint8_t data[64] __rte_aligned(16);
46 unsigned len;
47 } iv;
48
49 struct {
50 uint8_t data[64];
51 unsigned len;
52 } aad;
53
54 struct {
55 uint8_t data[1024];
56 unsigned len;
57 } plaintext;
58
59 struct {
60 uint8_t data[1024];
61 unsigned len;
62 } ciphertext;
63
64 struct {
65 uint8_t data[16];
66 unsigned len;
67 } auth_tag;
68
69 };
70
71 struct gmac_test_data {
72 struct {
73 uint8_t data[64];
74 unsigned len;
75 } key;
76
77 struct {
78 uint8_t data[64] __rte_aligned(16);
79 unsigned len;
80 } iv;
81
82 struct {
83 uint8_t *data;
84 unsigned len;
85 } aad;
86
87 struct {
88 uint8_t *data;
89 unsigned len;
90 } plaintext;
91
92 struct {
93 uint8_t data[16];
94 unsigned len;
95 } gmac_tag;
96
97 };
98
99 /** AES-128 Test Vectors */
100 static const struct gcm_test_data gcm_test_case_1 = {
101 .key = {
102 .data = {
103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
104 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
105 .len = 16
106 },
107 .iv = {
108 .data = {
109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
110 0x00, 0x00, 0x00, 0x00 },
111 .len = 12
112 },
113 .aad = {
114 .data = { 0 },
115 .len = 0
116 },
117 .plaintext = {
118 .data = {
119 0x00 },
120 .len = 0
121 },
122 .ciphertext = {
123 .data = {
124 0x00
125 },
126 .len = 0
127 },
128 .auth_tag = {
129 .data = {
130 0x58, 0xe2, 0xfc, 0xce, 0xfa, 0x7e, 0x30, 0x61,
131 0x36, 0x7f, 0x1d, 0x57, 0xa4, 0xe7, 0x45, 0x5a },
132 .len = 16
133 }
134 };
135
136 /** AES-128 Test Vectors */
137 static const struct gcm_test_data gcm_test_case_2 = {
138 .key = {
139 .data = {
140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
141 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
142 .len = 16
143 },
144 .iv = {
145 .data = {
146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
147 0x00, 0x00, 0x00, 0x00 },
148 .len = 12
149 },
150 .aad = {
151 .data = { 0 },
152 .len = 0
153 },
154 .plaintext = {
155 .data = {
156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
158 .len = 16
159 },
160 .ciphertext = {
161 .data = {
162 0x03, 0x88, 0xda, 0xce, 0x60, 0xb6, 0xa3, 0x92,
163 0xf3, 0x28, 0xc2, 0xb9, 0x71, 0xb2, 0xfe, 0x78 },
164 .len = 16
165 },
166 .auth_tag = {
167 .data = {
168 0xab, 0x6e, 0x47, 0xd4, 0x2c, 0xec, 0x13, 0xbd,
169 0xf5, 0x3a, 0x67, 0xb2, 0x12, 0x57, 0xbd, 0xdf },
170 .len = 16
171 }
172 };
173
174 /** AES-128 Test Vectors */
175 static const struct gcm_test_data gcm_test_case_3 = {
176 .key = {
177 .data = {
178 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
179 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 },
180 .len = 16
181 },
182 .iv = {
183 .data = {
184 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
185 0xde, 0xca, 0xf8, 0x88 },
186 .len = 12
187 },
188 .aad = {
189 .data = { 0 },
190 .len = 0
191 },
192 .plaintext = {
193 .data = {
194 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
195 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
196 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
197 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
198 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
199 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
200 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
201 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 },
202 .len = 64
203 },
204 .ciphertext = {
205 .data = {
206 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
207 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
208 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
209 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
210 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
211 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
212 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
213 0x3d, 0x58, 0xe0, 0x91, 0x47, 0x3f, 0x59, 0x85
214 },
215 .len = 64
216 },
217 .auth_tag = {
218 .data = {
219 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6,
220 0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 },
221 .len = 16
222 }
223 };
224
225 /** AES-128 Test Vectors */
226 static const struct gcm_test_data gcm_test_case_4 = {
227 .key = {
228 .data = {
229 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
230 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
231 },
232 .len = 16
233 },
234 .iv = {
235 .data = {
236 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
237 0xde, 0xca, 0xf8, 0x88 },
238 .len = 12
239 },
240 .aad = {
241 .data = {
242 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
243 .len = 8
244 },
245 .plaintext = {
246 .data = {
247 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
248 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
249 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
250 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
251 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
252 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
253 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
254 0xba, 0x63, 0x7b, 0x39
255 },
256 .len = 60
257 },
258 .ciphertext = {
259 .data = {
260 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
261 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
262 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
263 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
264 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
265 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
266 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
267 0x3d, 0x58, 0xe0, 0x91
268 },
269 .len = 60
270 },
271 .auth_tag = {
272 .data = {
273 0xA2, 0xA4, 0x35, 0x75, 0xDC, 0xB0, 0x57, 0x74,
274 0x07, 0x02, 0x30, 0xC2, 0xE7, 0x52, 0x02, 0x00
275 },
276 .len = 16
277 }
278
279 };
280
281 /** AES-128 Test Vectors */
282 static const struct gcm_test_data gcm_test_case_5 = {
283 .key = {
284 .data = {
285 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
286 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
287 },
288 .len = 16
289 },
290 .iv = {
291 .data = {
292 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
293 0xde, 0xca, 0xf8, 0x88 },
294 .len = 12
295 },
296 .aad = {
297 .data = {
298 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef },
299 .len = 8
300 },
301 .plaintext = {
302 .data = {
303 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
304 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
305 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
306 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
307 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
308 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
309 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
310 0xba, 0x63, 0x7b, 0x39
311 },
312 .len = 60
313 },
314 .ciphertext = {
315 .data = {
316 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
317 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
318 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
319 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
320 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
321 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
322 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
323 0x3d, 0x58, 0xe0, 0x91
324 },
325 .len = 60
326 },
327 .auth_tag = {
328 .data = {
329 0xC5, 0x2D, 0xFB, 0x54, 0xAF, 0xBB, 0x07, 0xA1,
330 0x9A, 0xFF, 0xBE, 0xE0, 0x61, 0x4C, 0xE7, 0xA5
331 },
332 .len = 16
333 }
334
335 };
336
337 /** AES-128 Test Vectors */
338 static const struct gcm_test_data gcm_test_case_6 = {
339 .key = {
340 .data = {
341 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
342 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
343 },
344 .len = 16
345 },
346 .iv = {
347 .data = {
348 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
349 0xde, 0xca, 0xf8, 0x88
350 },
351 .len = 12
352 },
353 .aad = {
354 .data = {
355 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
356 0x00, 0x00, 0x00, 0x00
357 },
358 .len = 12
359 },
360 .plaintext = {
361 .data = {
362 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
363 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
364 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
365 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
366 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
367 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
368 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
369 0xba, 0x63, 0x7b, 0x39
370 },
371 .len = 60
372 },
373 .ciphertext = {
374 .data = {
375 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
376 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
377 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
378 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
379 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
380 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
381 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
382 0x3d, 0x58, 0xe0, 0x91
383 },
384 .len = 60
385 },
386 .auth_tag = {
387 .data = {
388 0x74, 0xFC, 0xFA, 0x29, 0x3E, 0x60, 0xCC, 0x66,
389 0x09, 0xD6, 0xFD, 0x00, 0xC8, 0x86, 0xD5, 0x42
390 },
391 .len = 16
392 }
393 };
394
395 /** AES-128 Test Vectors */
396 static const struct gcm_test_data gcm_test_case_7 = {
397 .key = {
398 .data = {
399 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
400 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
401 },
402 .len = 16
403 },
404 .iv = {
405 .data = {
406 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
407 0xde, 0xca, 0xf8, 0x88
408 },
409 .len = 12
410 },
411 .aad = {
412 .data = {
413 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
414 0xfe, 0xed, 0xfa, 0xce
415 },
416 .len = 12
417 },
418 .plaintext = {
419 .data = {
420 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
421 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
422 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
423 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
424 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
425 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
426 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
427 0xba, 0x63, 0x7b, 0x39
428 },
429 .len = 60
430 },
431 .ciphertext = {
432 .data = {
433 0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
434 0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
435 0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
436 0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
437 0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
438 0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
439 0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
440 0x3d, 0x58, 0xe0, 0x91
441 },
442 .len = 60
443 },
444 .auth_tag = {
445 .data = {
446 0xE9, 0xE4, 0xAB, 0x76, 0xB7, 0xFF, 0xEA, 0xDC,
447 0x69, 0x79, 0x38, 0xA2, 0x0D, 0xCA, 0xF5, 0x92
448 },
449 .len = 16
450 }
451 };
452
453 /** GMAC Test Vectors */
454 static uint8_t gmac_plaintext[GMAC_LARGE_PLAINTEXT_LENGTH] = {
455 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
456 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
457 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
458 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
459 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
460 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
461 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
462 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
463 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
464 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
465 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
466 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
467 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
468 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
469 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
470 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
471 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
472 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
473 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
474 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10
475 };
476
477 static const struct gmac_test_data gmac_test_case_1 = {
478 .key = {
479 .data = {
480 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
481 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
482 },
483 .len = 16
484 },
485 .iv = {
486 .data = {
487 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
488 0xde, 0xca, 0xf8, 0x88 },
489 .len = 12
490 },
491 .aad = {
492 .data = gmac_plaintext,
493 .len = 160
494 },
495 .plaintext = {
496 .data = NULL,
497 .len = 0
498 },
499 .gmac_tag = {
500 .data = {
501 0x4C, 0x0C, 0x4F, 0x47, 0x2D, 0x78, 0xF6, 0xD8,
502 0x03, 0x53, 0x20, 0x2F, 0x1A, 0xDF, 0x90, 0xD0
503 },
504 .len = 16
505 },
506 };
507
508 static const struct gmac_test_data gmac_test_case_2 = {
509 .key = {
510 .data = {
511 0xaa, 0x74, 0x0a, 0xbf, 0xad, 0xcd, 0xa7, 0x79,
512 0x22, 0x0d, 0x3b, 0x40, 0x6c, 0x5d, 0x7e, 0xc0,
513 0x9a, 0x77, 0xfe, 0x9d, 0x94, 0x10, 0x45, 0x39,
514 },
515 .len = 24
516 },
517 .iv = {
518 .data = {
519 0xab, 0x22, 0x65, 0xb4, 0xc1, 0x68, 0x95,
520 0x55, 0x61, 0xf0, 0x43, 0x15, },
521 .len = 12
522 },
523 .aad = {
524 .data = gmac_plaintext,
525 .len = 80
526 },
527 .plaintext = {
528 .data = NULL,
529 .len = 0
530 },
531 .gmac_tag = {
532 .data = {
533 0xCF, 0x82, 0x80, 0x64, 0x02, 0x46, 0xF4, 0xFB,
534 0x33, 0xAE, 0x1D, 0x90, 0xEA, 0x48, 0x83, 0xDB
535 },
536 .len = 16
537 },
538 };
539
540 static const struct gmac_test_data gmac_test_case_3 = {
541 .key = {
542 .data = {
543 0xb5, 0x48, 0xe4, 0x93, 0x4f, 0x5c, 0x64, 0xd3,
544 0xc0, 0xf0, 0xb7, 0x8f, 0x7b, 0x4d, 0x88, 0x24,
545 0xaa, 0xc4, 0x6b, 0x3c, 0x8d, 0x2c, 0xc3, 0x5e,
546 0xe4, 0xbf, 0xb2, 0x54, 0xe4, 0xfc, 0xba, 0xf7,
547 },
548 .len = 32
549 },
550 .iv = {
551 .data = {
552 0x2e, 0xed, 0xe1, 0xdc, 0x64, 0x47, 0xc7,
553 0xaf, 0xc4, 0x41, 0x53, 0x58,
554 },
555 .len = 12
556 },
557 .aad = {
558 .data = gmac_plaintext,
559 .len = 65
560 },
561 .plaintext = {
562 .data = NULL,
563 .len = 0
564 },
565 .gmac_tag = {
566 .data = {
567 0x77, 0x46, 0x0D, 0x6F, 0xB1, 0x87, 0xDB, 0xA9,
568 0x46, 0xAD, 0xCD, 0xFB, 0xB7, 0xF9, 0x13, 0xA1
569 },
570 .len = 16
571 },
572 };
573
574 /******* GCM PERF VECTORS ***********/
575
576 struct cryptodev_perf_test_data {
577 struct {
578 uint8_t data[64];
579 unsigned len;
580 } key;
581
582 struct {
583 uint8_t data[64] __rte_aligned(16);
584 unsigned len;
585 } iv;
586
587 struct {
588 uint8_t data[64];
589 unsigned len;
590 } aad;
591
592 struct {
593 uint8_t data[2048];
594 unsigned len;
595 } plaintext;
596
597 struct {
598 uint8_t data[2048];
599 unsigned len;
600 } ciphertext;
601
602 struct {
603 uint8_t data[16];
604 unsigned len;
605 } auth_tag;
606
607 struct {
608 uint32_t size;
609 uint8_t data[16];
610 unsigned len;
611 } auth_tags[7];
612
613 };
614
615 /* 2048B */
616 static const struct cryptodev_perf_test_data AES_GCM_128_12IV_0AAD = {
617 .key = {
618 .data = {
619 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
620 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 },
621 .len = 16
622 },
623 .iv = {
624 .data = {
625 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
626 0xde, 0xca, 0xf8, 0x88 },
627 .len = 12
628 },
629 .aad = {
630 .data = { 0 },
631 .len = 0
632 },
633 .plaintext = {
634 .data = {
635 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
636 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
637 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
638 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
639 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
640 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
641 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
642 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
643 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
644 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
645 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
646 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
647 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
648 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
649 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
650 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
651 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
652 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
653 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
654 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
655 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
656 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
657 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
658 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
659 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
660 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
661 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
662 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
663 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
664 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
665 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
666 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
667 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
668 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
669 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
670 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
671 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
672 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
673 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
674 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
675 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
676 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
677 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
678 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
679 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
680 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
681 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
682 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
683 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
684 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
685 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
686 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
687 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
688 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
689 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
690 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
691 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
692 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
693 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
694 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
695 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
696 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
697 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
698 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
699 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
700 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
701 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
702 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
703 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
704 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
705 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
706 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
707 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
708 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
709 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
710 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
711 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
712 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
713 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
714 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
715 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
716 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
717 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
718 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
719 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
720 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
721 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
722 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
723 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
724 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
725 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
726 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
727 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
728 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
729 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
730 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
731 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
732 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
733 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
734 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
735 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
736 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
737 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
738 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
739 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
740 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
741 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
742 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
743 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
744 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
745 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
746 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
747 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
748 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
749 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
750 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
751 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
752 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
753 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
754 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
755 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
756 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
757 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
758 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
759 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
760 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
761 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
762 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
763 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
764 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
765 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
766 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
767 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
768 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
769 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
770 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
771 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
772 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
773 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
774 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
775 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
776 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
777 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
778 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
779 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
780 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
781 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
782 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
783 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
784 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
785 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
786 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
787 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
788 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
789 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
790 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
791 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
792 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
793 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
794 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
795 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
796 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
797 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
798 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
799 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
800 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
801 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
802 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
803 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
804 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
805 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
806 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
807 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
808 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
809 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
810 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
811 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
812 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
813 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
814 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
815 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
816 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
817 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
818 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
819 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
820 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
821 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
822 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
823 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
824 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
825 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
826 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
827 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
828 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
829 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
830 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
831 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
832 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
833 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
834 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
835 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
836 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
837 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
838 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
839 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
840 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
841 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
842 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
843 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
844 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
845 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
846 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
847 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
848 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
849 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
850 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
851 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
852 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
853 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
854 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
855 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
856 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
857 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
858 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
859 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
860 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
861 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
862 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
863 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
864 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
865 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
866 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
867 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
868 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
869 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
870 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
871 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
872 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
873 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
874 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
875 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
876 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
877 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
878 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
879 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
880 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
881 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
882 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
883 0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
884 0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
885 0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
886 0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
887 0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
888 0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
889 0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
890 0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55
891 },
892 .len = 2048
893 },
894 .ciphertext = {
895 .data = {
896 0x42, 0x83, 0x1E, 0xC2, 0x21, 0x77, 0x74, 0x24,
897 0x4B, 0x72, 0x21, 0xB7, 0x84, 0xD0, 0xD4, 0x9C,
898 0xE3, 0xAA, 0x21, 0x2F, 0x2C, 0x02, 0xA4, 0xE0,
899 0x35, 0xC1, 0x7E, 0x23, 0x29, 0xAC, 0xA1, 0x2E,
900 0x21, 0xD5, 0x14, 0xB2, 0x54, 0x66, 0x93, 0x1C,
901 0x7D, 0x8F, 0x6A, 0x5A, 0xAC, 0x84, 0xAA, 0x05,
902 0x1B, 0xA3, 0x0B, 0x39, 0x6A, 0x0A, 0xAC, 0x97,
903 0x3D, 0x58, 0xE0, 0x91, 0x47, 0x3F, 0x59, 0x85,
904 0x04, 0x99, 0x55, 0xE1, 0x36, 0x76, 0xB7, 0x14,
905 0x1D, 0xF0, 0xF6, 0x8C, 0x65, 0xD5, 0xAD, 0xFB,
906 0x90, 0x7F, 0x5D, 0xA2, 0xD6, 0xFD, 0xD0, 0xE5,
907 0x0D, 0x9B, 0x68, 0x21, 0x49, 0x42, 0x6E, 0x13,
908 0xEC, 0x22, 0x50, 0x2A, 0x30, 0x47, 0x49, 0xA1,
909 0x7F, 0xC3, 0x09, 0xE0, 0x56, 0x91, 0xC4, 0x54,
910 0x70, 0xD7, 0x19, 0x40, 0xCA, 0x6B, 0x65, 0x27,
911 0x3E, 0xE9, 0xD1, 0x0F, 0x1C, 0xB5, 0x45, 0x0D,
912 0x27, 0xE7, 0xCF, 0x94, 0x10, 0xBF, 0xA2, 0xFA,
913 0x86, 0x20, 0x3F, 0x6E, 0xE9, 0x95, 0x03, 0x5A,
914 0x46, 0x11, 0x75, 0xD5, 0x37, 0x71, 0x7F, 0xE0,
915 0xBC, 0x9F, 0xC8, 0xE9, 0xB1, 0x08, 0x2C, 0x59,
916 0x6E, 0x51, 0x4A, 0x83, 0x38, 0xC1, 0xED, 0xE2,
917 0x2E, 0x88, 0x90, 0xA5, 0x7D, 0xA4, 0x93, 0x9A,
918 0x30, 0xD6, 0x96, 0x34, 0x0F, 0xC4, 0xD1, 0x7E,
919 0xC9, 0x8F, 0xC5, 0xBB, 0x80, 0x50, 0x85, 0x75,
920 0x7D, 0x82, 0x36, 0xDB, 0x62, 0x15, 0xAF, 0x4B,
921 0x0A, 0x9D, 0xCD, 0x64, 0x00, 0xAB, 0x88, 0x28,
922 0xA8, 0x35, 0x17, 0x70, 0x6F, 0x47, 0x44, 0xCD,
923 0x65, 0xAE, 0xD5, 0x05, 0x0A, 0xA8, 0x2F, 0x48,
924 0xAC, 0xA1, 0x72, 0x64, 0x1C, 0x7E, 0xD3, 0xF5,
925 0xD8, 0x4E, 0x73, 0x17, 0x0C, 0xE5, 0x9F, 0xB6,
926 0x00, 0xFA, 0xD7, 0x2C, 0x3D, 0x6A, 0x10, 0x47,
927 0x7C, 0xF2, 0x6B, 0x13, 0x10, 0x8A, 0x76, 0x39,
928 0xF8, 0x50, 0x33, 0xAC, 0x08, 0x1D, 0xA3, 0x48,
929 0xE1, 0xD0, 0x05, 0x49, 0xB7, 0x76, 0x03, 0x72,
930 0x07, 0xC5, 0xD3, 0x08, 0x79, 0x38, 0x66, 0xC1,
931 0x52, 0xAF, 0x83, 0xCD, 0xF3, 0x86, 0x62, 0xBF,
932 0x92, 0x24, 0x97, 0xBD, 0x5D, 0x7D, 0x81, 0x56,
933 0x4C, 0xF3, 0xD2, 0x60, 0xC2, 0xDE, 0x61, 0xC1,
934 0x39, 0x61, 0xDA, 0x07, 0x50, 0xC7, 0x98, 0x63,
935 0x7E, 0xDD, 0x54, 0xCA, 0xDE, 0x12, 0xD2, 0xA8,
936 0x19, 0x08, 0x6E, 0xF9, 0xFA, 0x6F, 0x58, 0x97,
937 0xD4, 0x0B, 0x5C, 0x5B, 0xE5, 0x30, 0xE5, 0x4C,
938 0x0E, 0x16, 0x87, 0xF0, 0x2C, 0xCB, 0x53, 0xB8,
939 0x0C, 0xE5, 0xDF, 0x16, 0x7B, 0xE8, 0xC2, 0xCF,
940 0xCC, 0xFF, 0x51, 0x24, 0xC1, 0xDD, 0x59, 0x9C,
941 0xA7, 0x56, 0x03, 0xB9, 0x0A, 0x37, 0xA2, 0xAC,
942 0x28, 0x8B, 0xEB, 0x51, 0x4E, 0xF1, 0xAE, 0xB5,
943 0xC8, 0xB5, 0xCB, 0x8D, 0x23, 0xF6, 0x24, 0x2D,
944 0xF6, 0x59, 0x62, 0xC0, 0xCB, 0xD3, 0x18, 0xE4,
945 0xB7, 0x73, 0xEF, 0xDB, 0x13, 0x9A, 0xF5, 0xD3,
946 0xD5, 0x61, 0x01, 0x14, 0xA5, 0xE5, 0x0D, 0x27,
947 0xC9, 0xA5, 0x08, 0x1C, 0x60, 0xBA, 0x73, 0xFF,
948 0xA9, 0xE0, 0x27, 0x86, 0x3F, 0xF7, 0x15, 0x03,
949 0x69, 0xA7, 0x2B, 0x57, 0xAC, 0xA6, 0x70, 0x55,
950 0xE9, 0xB5, 0x3F, 0xEB, 0x6F, 0xCE, 0x8A, 0xA1,
951 0x9D, 0x8B, 0x84, 0xF1, 0x7C, 0xD0, 0x35, 0x21,
952 0x91, 0x3D, 0x3D, 0x6E, 0x83, 0xFC, 0x45, 0x36,
953 0x93, 0xDA, 0x66, 0xDF, 0x1A, 0x59, 0x22, 0xA5,
954 0xC4, 0x99, 0x9B, 0xF8, 0x48, 0x9A, 0x50, 0x09,
955 0xAB, 0xAE, 0x56, 0xB6, 0x49, 0x02, 0x3E, 0x90,
956 0xB6, 0x07, 0x7E, 0xA7, 0x6A, 0x0A, 0xB5, 0x85,
957 0x31, 0x0D, 0x84, 0xD4, 0x01, 0xE4, 0x48, 0x63,
958 0xF3, 0xC1, 0x54, 0x65, 0xA6, 0x4C, 0x8B, 0x33,
959 0xF9, 0x70, 0x59, 0x3B, 0xA6, 0xF6, 0x2B, 0x66,
960 0xC5, 0xD2, 0xEB, 0xAB, 0x67, 0xD2, 0xE3, 0x78,
961 0xA9, 0x1A, 0x4C, 0x99, 0xA9, 0xA6, 0xCA, 0xF7,
962 0x65, 0xF0, 0x48, 0xF8, 0x2A, 0xEA, 0x96, 0x9F,
963 0xC4, 0x50, 0x9A, 0x0C, 0xB6, 0x0D, 0x8A, 0x2F,
964 0xC3, 0x99, 0x4E, 0xA0, 0x06, 0x4D, 0xAB, 0x25,
965 0x2E, 0x44, 0x47, 0xB6, 0x98, 0xF1, 0x2C, 0x96,
966 0x54, 0x51, 0x12, 0x41, 0x0D, 0xEF, 0x32, 0x9A,
967 0x4A, 0xBD, 0xA2, 0x26, 0x53, 0xA8, 0xFD, 0x8B,
968 0x6C, 0x95, 0x0A, 0x1A, 0x96, 0xEF, 0x3C, 0x85,
969 0x34, 0x4E, 0x25, 0x9E, 0x1C, 0x67, 0x33, 0x8A,
970 0xFF, 0x6D, 0x98, 0x93, 0x3D, 0x3F, 0x49, 0x6B,
971 0xBF, 0x7C, 0x4F, 0x63, 0x5D, 0x62, 0x64, 0x67,
972 0x0D, 0x07, 0x7F, 0x24, 0x4A, 0x23, 0xBC, 0x35,
973 0xE0, 0x92, 0x6F, 0x51, 0xE7, 0x25, 0x97, 0xB9,
974 0x14, 0x35, 0x2B, 0x48, 0xAC, 0x6F, 0x54, 0xDF,
975 0xF2, 0xB4, 0xB0, 0xE0, 0xD3, 0x28, 0x0D, 0x66,
976 0x46, 0x28, 0x0A, 0x16, 0x9C, 0x87, 0x73, 0xB7,
977 0x9C, 0x2B, 0xB5, 0x43, 0xC9, 0x46, 0xB9, 0x1F,
978 0x5F, 0x3C, 0x45, 0x03, 0x4B, 0xBF, 0x44, 0x4D,
979 0xE1, 0x44, 0xDA, 0x54, 0xC5, 0x32, 0x3A, 0xFA,
980 0x21, 0x5C, 0xAD, 0xD5, 0x1E, 0x1B, 0x54, 0x7C,
981 0x9F, 0xEA, 0x92, 0x8C, 0xEA, 0x69, 0xC0, 0xCE,
982 0xDA, 0x09, 0xAD, 0x95, 0xA0, 0x8E, 0x0B, 0x8E,
983 0x10, 0x4F, 0x5B, 0x8F, 0xB8, 0x2D, 0xAC, 0x4C,
984 0x94, 0x4B, 0x7C, 0x1E, 0xF1, 0x53, 0x20, 0x9B,
985 0xD6, 0xC4, 0x92, 0x4C, 0x7F, 0xFB, 0x8B, 0x8E,
986 0x40, 0x2F, 0x24, 0xA3, 0x4E, 0x46, 0x64, 0xF4,
987 0xC6, 0x35, 0x0F, 0xC7, 0x40, 0x55, 0x43, 0xAF,
988 0x7E, 0x91, 0x76, 0x48, 0x6F, 0x97, 0x7A, 0xF8,
989 0x32, 0x1E, 0xD3, 0x5B, 0xBC, 0x19, 0xB5, 0x48,
990 0xFA, 0x4F, 0x52, 0x77, 0x5B, 0x9E, 0xA2, 0xC8,
991 0x9A, 0x83, 0x30, 0x8D, 0x9F, 0x0B, 0x6F, 0xA8,
992 0x2E, 0x84, 0xCC, 0xC1, 0x50, 0x96, 0x46, 0xAE,
993 0x73, 0x91, 0x7D, 0xCD, 0x88, 0xAB, 0x67, 0x3F,
994 0x66, 0x3A, 0x8D, 0xB1, 0x89, 0x07, 0x93, 0xDB,
995 0x42, 0x22, 0xDC, 0x13, 0xBD, 0xCD, 0xBB, 0x12,
996 0x8D, 0x88, 0x44, 0x13, 0x22, 0x52, 0x81, 0xDC,
997 0xEF, 0xA1, 0xE4, 0xA3, 0xA7, 0xBA, 0xEE, 0x98,
998 0x79, 0x45, 0x29, 0x05, 0x65, 0x3D, 0xDC, 0xAF,
999 0xA1, 0x37, 0x29, 0xFD, 0x05, 0xD1, 0x3A, 0xF7,
1000 0x32, 0x1D, 0x02, 0xEC, 0x28, 0x1E, 0x0F, 0x96,
1001 0xF3, 0x21, 0x19, 0x5F, 0x49, 0xB9, 0xEA, 0x9A,
1002 0xAD, 0x34, 0x58, 0xD1, 0xD9, 0xB1, 0x7D, 0xD2,
1003 0xEA, 0xED, 0x74, 0xE8, 0x25, 0x9A, 0x7B, 0xC5,
1004 0xC8, 0xD8, 0x76, 0xB6, 0xBC, 0x0B, 0x78, 0xCE,
1005 0xD9, 0xA6, 0xBB, 0x2F, 0x79, 0xA4, 0x45, 0x05,
1006 0x55, 0x6E, 0x20, 0x84, 0xEB, 0xC8, 0x70, 0xB0,
1007 0x3A, 0x2D, 0x06, 0x98, 0x29, 0x10, 0xB8, 0xC5,
1008 0xE9, 0xE4, 0xB6, 0xDE, 0x97, 0x9A, 0x0D, 0x8C,
1009 0xB6, 0x22, 0x16, 0x59, 0xAB, 0xB5, 0xD7, 0x14,
1010 0xAB, 0x08, 0x02, 0x27, 0x7B, 0xF7, 0x0E, 0xAC,
1011 0xC5, 0xAC, 0x4D, 0x7F, 0xE5, 0x65, 0x51, 0x40,
1012 0x44, 0x92, 0xB1, 0x6A, 0xB7, 0x00, 0x76, 0x89,
1013 0x6E, 0x08, 0x5F, 0x45, 0x2B, 0x53, 0x86, 0x86,
1014 0xA7, 0x85, 0xBC, 0x62, 0xAC, 0xAA, 0x82, 0x73,
1015 0x0A, 0xEB, 0x35, 0x16, 0x95, 0x26, 0xAB, 0x9E,
1016 0xE9, 0x64, 0x53, 0x99, 0x08, 0x31, 0xF5, 0x6B,
1017 0x1F, 0xFE, 0x47, 0x4B, 0x09, 0x33, 0x4F, 0xBF,
1018 0x1F, 0x0B, 0x4C, 0xB2, 0xB4, 0xA4, 0x17, 0xA9,
1019 0xAD, 0xC5, 0x62, 0x7C, 0xF1, 0x1B, 0xAE, 0x46,
1020 0xD3, 0xAC, 0xFD, 0x43, 0xFE, 0x79, 0xD0, 0x58,
1021 0x2F, 0x6C, 0x9F, 0xD0, 0x65, 0xA4, 0x64, 0x03,
1022 0xAF, 0x73, 0x46, 0x75, 0x7D, 0x49, 0x1B, 0x4C,
1023 0xFA, 0x49, 0xD8, 0x9A, 0xCC, 0x59, 0xC6, 0xC7,
1024 0xA1, 0x05, 0xC2, 0x32, 0xC8, 0x6C, 0x50, 0xA8,
1025 0x06, 0x58, 0xBE, 0x6C, 0x7D, 0x22, 0xD6, 0x0D,
1026 0x74, 0x40, 0xCE, 0xD6, 0x64, 0xD6, 0x47, 0xD0,
1027 0xBF, 0xF1, 0x5C, 0x54, 0xF9, 0x06, 0x3F, 0x3D,
1028 0x86, 0xBA, 0xF2, 0x0F, 0x5E, 0x2C, 0x01, 0xCC,
1029 0xD9, 0xC7, 0xB1, 0x4A, 0xB3, 0xD7, 0x26, 0xCC,
1030 0xC3, 0x7A, 0x74, 0x2C, 0xE1, 0x22, 0x65, 0xA0,
1031 0x5B, 0xCA, 0xF4, 0xE1, 0x7D, 0xE1, 0x56, 0xFD,
1032 0x94, 0x10, 0xC6, 0xA1, 0x4A, 0xE8, 0x6B, 0x34,
1033 0x4E, 0x71, 0x60, 0x77, 0x0F, 0x03, 0xDD, 0xFF,
1034 0xC8, 0x59, 0x54, 0x6C, 0xD4, 0x4A, 0x55, 0x24,
1035 0x35, 0x21, 0x60, 0x73, 0xDF, 0x6F, 0xE7, 0x3C,
1036 0xC2, 0xF0, 0xDA, 0xA9, 0xE5, 0x8C, 0xAC, 0xB6,
1037 0xFD, 0x2E, 0xF7, 0xA0, 0x18, 0xA7, 0x55, 0x47,
1038 0xD1, 0xCB, 0x9E, 0xAA, 0x58, 0x54, 0x3B, 0x37,
1039 0x18, 0xB5, 0xC1, 0xBB, 0x41, 0x59, 0xE4, 0x28,
1040 0x4A, 0x13, 0x90, 0x6A, 0xF7, 0xD1, 0xB3, 0x71,
1041 0xB6, 0x6E, 0xF6, 0x5D, 0x2E, 0x0E, 0x6C, 0x4A,
1042 0x7B, 0xF7, 0xB6, 0x21, 0xD4, 0xFC, 0x47, 0x8C,
1043 0x9B, 0x0A, 0x90, 0xAC, 0x11, 0x52, 0x86, 0x07,
1044 0x24, 0xDA, 0xA9, 0x49, 0x50, 0xD9, 0xDC, 0xE2,
1045 0x19, 0x87, 0x73, 0x88, 0xC3, 0xE4, 0xED, 0xC9,
1046 0x1C, 0xA8, 0x7E, 0x39, 0x48, 0x91, 0x10, 0xAB,
1047 0xFC, 0x3C, 0x1E, 0xEE, 0x08, 0xA1, 0xB9, 0xB2,
1048 0x02, 0x57, 0xB1, 0xD1, 0x35, 0x5E, 0x3D, 0x94,
1049 0xFB, 0x36, 0x27, 0x1A, 0x0E, 0x75, 0xFC, 0xBC,
1050 0xDB, 0xF3, 0xF5, 0x7C, 0x08, 0x39, 0xAA, 0xF4,
1051 0x2E, 0xEE, 0xCF, 0xCD, 0x2D, 0x70, 0xB8, 0x84,
1052 0xE6, 0x22, 0x5C, 0xC0, 0xB9, 0x33, 0xCB, 0x97,
1053 0xA1, 0xA3, 0xEE, 0x93, 0x71, 0xCF, 0xC9, 0x21,
1054 0x31, 0x7A, 0xEC, 0xE7, 0x70, 0xF2, 0xAA, 0x91,
1055 0xAA, 0x48, 0xAD, 0xAC, 0x03, 0xB1, 0x26, 0x52,
1056 0xBC, 0x65, 0x22, 0xA1, 0x09, 0x3D, 0xAB, 0x16,
1057 0x08, 0xBF, 0xCF, 0x3F, 0x59, 0x08, 0x6F, 0x68,
1058 0xEB, 0x8A, 0xB3, 0xCF, 0x77, 0x82, 0xFB, 0x25,
1059 0x78, 0x16, 0x4C, 0xDB, 0x72, 0xF5, 0xCF, 0x79,
1060 0x71, 0xE4, 0x4E, 0x23, 0x15, 0x7F, 0x1E, 0xA8,
1061 0x3E, 0xC0, 0x59, 0x91, 0x20, 0xAE, 0x2C, 0x1D,
1062 0x90, 0xC8, 0x49, 0x42, 0x48, 0x29, 0x82, 0x66,
1063 0x68, 0x49, 0x73, 0xDA, 0xE4, 0x28, 0xCD, 0x7B,
1064 0x4D, 0xE4, 0x23, 0x34, 0xB9, 0xE1, 0xB4, 0x42,
1065 0x67, 0x22, 0x5B, 0xEE, 0xE6, 0x74, 0x32, 0x6F,
1066 0x21, 0x9F, 0x97, 0x46, 0x03, 0xE1, 0xC9, 0x7A,
1067 0x14, 0x27, 0x30, 0xE1, 0xB2, 0x34, 0xE6, 0xAF,
1068 0x7B, 0xAA, 0xDD, 0x89, 0x04, 0x30, 0xD6, 0x78,
1069 0x0B, 0x3D, 0xC3, 0x69, 0xB0, 0x67, 0x4F, 0x4E,
1070 0x12, 0x21, 0x93, 0x2D, 0x79, 0xDD, 0x8B, 0xDB,
1071 0xEA, 0x90, 0x66, 0x54, 0xA8, 0x05, 0xF2, 0xE4,
1072 0x59, 0x8A, 0x96, 0x52, 0x30, 0xF0, 0x4E, 0x9A,
1073 0xE5, 0xD8, 0x72, 0x1C, 0x3B, 0x63, 0x02, 0xB9,
1074 0xC7, 0xA1, 0xDA, 0xC8, 0x6C, 0x48, 0xE0, 0xDE,
1075 0x59, 0x64, 0x89, 0x2C, 0xF9, 0xC8, 0x3B, 0x00,
1076 0xEC, 0xF2, 0x68, 0x51, 0x67, 0x05, 0x85, 0xAF,
1077 0xB8, 0xD5, 0x65, 0xEE, 0x73, 0x26, 0x88, 0xFB,
1078 0xA9, 0xD6, 0x6C, 0x68, 0x9D, 0x9F, 0x23, 0x6A,
1079 0x10, 0x24, 0x82, 0xB2, 0xB7, 0x40, 0x19, 0x3E,
1080 0x6F, 0xA2, 0xD5, 0x2C, 0x6E, 0x8D, 0xE9, 0x33,
1081 0x6E, 0x24, 0x94, 0x05, 0xE9, 0x2D, 0xD9, 0x3A,
1082 0x8C, 0xE5, 0xCC, 0x1D, 0x3F, 0xB8, 0x71, 0xA8,
1083 0x98, 0x33, 0xBB, 0x1A, 0xAC, 0x41, 0x0A, 0x04,
1084 0xFE, 0x4D, 0x46, 0x17, 0x8A, 0xCB, 0xF3, 0x4B,
1085 0x97, 0x02, 0xCC, 0x9D, 0x11, 0xF1, 0xBC, 0xA9,
1086 0xC1, 0xD1, 0xB6, 0xD6, 0x7B, 0x5F, 0x9D, 0x22,
1087 0x86, 0x71, 0xEC, 0x42, 0x53, 0xB7, 0x85, 0x30,
1088 0xAF, 0x1D, 0x01, 0xA7, 0xBF, 0x72, 0xC2, 0xC6,
1089 0xC9, 0xB8, 0xD8, 0xC7, 0xE9, 0xC4, 0xBA, 0xC5,
1090 0xB1, 0x8A, 0xB8, 0x62, 0xBF, 0x75, 0x75, 0x69,
1091 0xF8, 0x8D, 0x7E, 0xD9, 0xD2, 0x28, 0xB5, 0x40,
1092 0xCE, 0xCB, 0xB8, 0x74, 0x31, 0x40, 0x7B, 0x0D,
1093 0x73, 0x98, 0x99, 0x12, 0xB7, 0x75, 0x3E, 0xBC,
1094 0xAE, 0x48, 0xCA, 0xA9, 0x1E, 0xA7, 0x95, 0x31,
1095 0x87, 0x0F, 0x14, 0x52, 0xB6, 0x8E, 0x42, 0x50,
1096 0xB2, 0x76, 0x75, 0xD8, 0x7E, 0x66, 0x23, 0x13,
1097 0x8B, 0x29, 0xAA, 0x13, 0xCA, 0x8A, 0xD8, 0x9B,
1098 0x7B, 0x38, 0xD2, 0xE8, 0x67, 0xD1, 0x89, 0x25,
1099 0x9C, 0x63, 0x2F, 0xC3, 0x26, 0xC7, 0x74, 0x83,
1100 0x05, 0xED, 0x67, 0x02, 0x85, 0xAD, 0x1D, 0x0E,
1101 0xA9, 0xD6, 0xE1, 0xC7, 0x39, 0xA0, 0x6E, 0x72,
1102 0xCE, 0x56, 0x6C, 0xB8, 0x4A, 0xDE, 0x11, 0xA2,
1103 0xBF, 0xC1, 0x84, 0x98, 0x8F, 0xCA, 0x79, 0x74,
1104 0xCA, 0x9F, 0x45, 0x16, 0xBC, 0xB1, 0xF4, 0x03,
1105 0x76, 0x6E, 0xD5, 0x46, 0x60, 0xD7, 0x1D, 0xF0,
1106 0x87, 0x29, 0x63, 0x07, 0x06, 0xB9, 0xC2, 0x69,
1107 0x6D, 0xF9, 0x4B, 0x30, 0x96, 0x83, 0xB8, 0xC5,
1108 0xBE, 0x3A, 0xBA, 0xD0, 0x3E, 0x2B, 0x04, 0x16,
1109 0x6A, 0x00, 0x3B, 0x1A, 0x8E, 0xF8, 0xF6, 0x21,
1110 0x01, 0xD6, 0x08, 0x41, 0x74, 0xA2, 0xFC, 0x36,
1111 0xED, 0x11, 0x51, 0x5A, 0x4A, 0x21, 0x1A, 0x03,
1112 0x11, 0x95, 0x11, 0xF6, 0x73, 0x38, 0x67, 0xFC,
1113 0xF1, 0x2B, 0x22, 0x54, 0x65, 0x40, 0x7D, 0x8C,
1114 0x13, 0xC4, 0x46, 0x87, 0x09, 0x2B, 0xB5, 0xA1,
1115 0x82, 0x49, 0x46, 0x56, 0xF5, 0x5F, 0xF1, 0x04,
1116 0xD8, 0x6F, 0xDB, 0x38, 0xAD, 0xF4, 0x1A, 0xA3,
1117 0xFF, 0x7C, 0xC7, 0xA6, 0xAF, 0x87, 0x5C, 0x8C,
1118 0xEA, 0x3C, 0x9D, 0x7A, 0x4A, 0xD8, 0xA8, 0x66,
1119 0xDB, 0xBF, 0x12, 0x58, 0x98, 0x8E, 0xBA, 0x6F,
1120 0xAF, 0x20, 0xDA, 0xEE, 0x82, 0x34, 0x2F, 0x33,
1121 0x88, 0x98, 0xBA, 0xB2, 0x54, 0x7F, 0x9E, 0x63,
1122 0x19, 0x6C, 0x7D, 0xCE, 0x85, 0xF8, 0xB6, 0x77,
1123 0xCB, 0x38, 0x1F, 0xB1, 0x79, 0xBD, 0xED, 0x32,
1124 0xE3, 0xB9, 0x40, 0xEF, 0x3E, 0x6C, 0x29, 0x88,
1125 0x70, 0x99, 0x47, 0xA6, 0x4A, 0x1C, 0xCC, 0x0B,
1126 0x9B, 0x72, 0xA9, 0x29, 0x83, 0x4C, 0xDE, 0x4F,
1127 0x65, 0x4E, 0xCE, 0xBD, 0xFA, 0x76, 0x8D, 0xA6,
1128 0x1A, 0xD8, 0x66, 0xFE, 0xA4, 0x2A, 0x61, 0x50,
1129 0xEE, 0x15, 0xF1, 0xF0, 0x9D, 0xFF, 0xEC, 0xEE,
1130 0x00, 0x03, 0xFE, 0xAC, 0x53, 0x02, 0xCC, 0x87,
1131 0xB1, 0xA2, 0xD8, 0x34, 0x2C, 0xEC, 0xA6, 0x4C,
1132 0x02, 0xC0, 0xC1, 0x72, 0xD6, 0x54, 0x35, 0x24,
1133 0x25, 0x8B, 0xEC, 0xDA, 0x47, 0x5F, 0x5D, 0x7E,
1134 0xD8, 0x01, 0x51, 0xDD, 0x8F, 0xB4, 0x48, 0xDD,
1135 0x94, 0x99, 0x95, 0x77, 0xB3, 0x42, 0x14, 0xEB,
1136 0x26, 0x61, 0xE9, 0x22, 0xE3, 0x07, 0x73, 0xFB,
1137 0xEF, 0x38, 0x55, 0x35, 0x8F, 0xCC, 0x30, 0x1E,
1138 0x38, 0xE0, 0x35, 0xF4, 0x9A, 0x7C, 0xCF, 0x38,
1139 0x0B, 0x9E, 0xF4, 0x88, 0x4A, 0xEA, 0xF2, 0x67,
1140 0x9F, 0x61, 0x40, 0x34, 0x09, 0xDC, 0xBF, 0xFB,
1141 0x22, 0x27, 0x04, 0x8B, 0x8D, 0x85, 0x7F, 0xB2,
1142 0x29, 0x62, 0x25, 0x73, 0x7F, 0x46, 0x2E, 0xA3,
1143 0x8E, 0xAF, 0xEC, 0x55, 0x98, 0x1A, 0xEE, 0x29,
1144 0xA0, 0x1A, 0x5F, 0xFE, 0x5D, 0xA5, 0x76, 0x93,
1145 0xAB, 0x57, 0x56, 0xEA, 0xDB, 0x39, 0xAC, 0x48,
1146 0xBE, 0x95, 0x92, 0x2B, 0xC6, 0xE1, 0x2F, 0x36,
1147 0x4B, 0x08, 0x01, 0x90, 0x50, 0xD8, 0xFA, 0xF9,
1148 0x94, 0x4E, 0x76, 0x9B, 0x72, 0x59, 0xC2, 0x2F,
1149 0x61, 0x04, 0x0A, 0x9E, 0x28, 0xE5, 0x24, 0x1E,
1150 0x79, 0xCF, 0x8D, 0xB6, 0x52, 0xA7, 0x79, 0x5F,
1151 0x44, 0x98, 0xD5, 0x0E, 0x6E, 0x4B, 0x64, 0x9B,
1152 },
1153 .len = 2048
1154 },
1155 .auth_tags[0] = {
1156 .size = 64,
1157 .data = { 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6,
1158 0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 },
1159 .len = 16
1160 },
1161 .auth_tags[1] = {
1162 .size = 128,
1163 .data = { 0xE9, 0xA9, 0x75, 0xB6, 0xEF, 0x6F, 0x8C, 0xF1,
1164 0xB3, 0xA9, 0x19, 0xA4, 0xAE, 0x66, 0xBD, 0x9E },
1165 .len = 16
1166 },
1167 .auth_tags[2] = {
1168 .size = 256,
1169 .data = { 0x29, 0xC3, 0x18, 0x96, 0x54, 0xCB, 0xF5, 0xAA,
1170 0x4E, 0x62, 0xB6, 0xFF, 0x45, 0xA6, 0x18, 0x0C },
1171 .len = 16
1172 },
1173 .auth_tags[3] = {
1174 .size = 512,
1175 .data = { 0x3B, 0xD7, 0xC3, 0x5F, 0xE4, 0x1B, 0xC2, 0xBC,
1176 0xE9, 0xAC, 0xF2, 0xCE, 0xA7, 0x7B, 0x1D, 0x70 },
1177 .len = 16
1178 },
1179 .auth_tags[4] = {
1180 .size = 1024,
1181 .data = { 0xCC, 0xBB, 0xBC, 0xCF, 0x86, 0x01, 0x4D, 0x93,
1182 0x4B, 0x68, 0x55, 0x19, 0xA1, 0x40, 0xCD, 0xEA },
1183 .len = 16
1184 },
1185 .auth_tags[5] = {
1186 .size = 1536,
1187 .data = { 0x67, 0x31, 0x11, 0xA2, 0x58, 0xB5, 0x1C, 0x23,
1188 0xC0, 0x41, 0x05, 0x30, 0xC6, 0xBA, 0xFA, 0x88 },
1189 .len = 16
1190 },
1191 .auth_tags[6] = {
1192 .size = 2048,
1193 .data = { 0x03, 0x9C, 0x6B, 0xB9, 0x57, 0xBF, 0x6E, 0x86,
1194 0x3A, 0x09, 0x5F, 0x08, 0xA9, 0xE4, 0xF2, 0x1F },
1195 .len = 16
1196 },
1197 .auth_tag = {
1198 .data = {
1199 0x03, 0x9C, 0x6B, 0xB9, 0x57, 0xBF, 0x6E, 0x86,
1200 0x3A, 0x09, 0x5F, 0x08, 0xA9, 0xE4, 0xF2, 0x1F
1201 },
1202 .len = 16
1203 },
1204 };
1205
1206 static const struct gmac_test_data gmac_test_case_4 = {
1207 .key = {
1208 .data = {
1209 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
1210 0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
1211 },
1212 .len = 16
1213 },
1214 .iv = {
1215 .data = {
1216 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
1217 0xde, 0xca, 0xf8, 0x88
1218 },
1219 .len = 12
1220 },
1221 .aad = {
1222 .data = gmac_plaintext,
1223 .len = GMAC_LARGE_PLAINTEXT_LENGTH
1224 },
1225 .plaintext = {
1226 .data = NULL,
1227 .len = 0
1228 },
1229 .gmac_tag = {
1230 .data = {
1231 0x88, 0x82, 0xb4, 0x93, 0x8f, 0x04, 0xcd, 0x06,
1232 0xfd, 0xac, 0x6d, 0x8b, 0x9c, 0x9e, 0x8f, 0xec
1233 },
1234 .len = 16
1235 }
1236 };
1237
1238 #endif /* TEST_CRYPTODEV_GCM_TEST_VECTORS_H_ */