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