Imported Upstream version 16.11
[deb_dpdk.git] / 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_ */