84802f0f4ad4fac46e3f11bfc5c9e530ab98df2a
[dpdk.git] / app / test / test_cryptodev_aead_test_vectors.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2015-2017 Intel Corporation
3  */
4
5 #ifndef TEST_CRYPTODEV_AEAD_TEST_VECTORS_H_
6 #define TEST_CRYPTODEV_AEAD_TEST_VECTORS_H_
7
8 #define GMAC_LARGE_PLAINTEXT_LENGTH             65344
9 #define MAX_AAD_LENGTH                          65536
10 #define GCM_LARGE_AAD_LENGTH                    65296
11
12 static uint8_t gcm_aad_zero_text[MAX_AAD_LENGTH] = { 0 };
13
14 static uint8_t gcm_aad_text[MAX_AAD_LENGTH] = {
15                 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
16                 0xfe, 0xed, 0xfa, 0xce, 0xde, 0xad, 0xbe, 0xef,
17                 0x00, 0xf1, 0xe2, 0xd3, 0xc4, 0xb5, 0xa6, 0x97,
18                 0x88, 0x79, 0x6a, 0x5b, 0x4c, 0x3d, 0x2e, 0x1f };
19
20 static uint8_t ccm_aad_test_1[8] = {
21                 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
22 };
23
24 static uint8_t ccm_aad_test_2[22] = {
25                 0x08, 0x40, 0x0F, 0xD2, 0xE1, 0x28, 0xA5, 0x7C,
26                 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xAB, 0xAE,
27                 0xA5, 0xB8, 0xFC, 0xBA, 0x00, 0x00
28 };
29
30 struct aead_test_data {
31         enum rte_crypto_aead_algorithm algo;
32
33         struct {
34                 uint8_t data[64];
35                 unsigned len;
36         } key;
37
38         struct {
39                 uint8_t data[64] __rte_aligned(16);
40                 unsigned len;
41         } iv;
42
43         struct {
44                 uint8_t *data;
45                 unsigned len;
46         } aad;
47
48         struct {
49                 uint8_t data[8096];
50                 unsigned len;
51         } plaintext;
52
53         struct {
54                 uint8_t data[8096];
55                 unsigned len;
56         } ciphertext;
57
58         struct {
59                 uint8_t data[16];
60                 unsigned len;
61         } auth_tag;
62 };
63
64 struct gmac_test_data {
65         struct {
66                 uint8_t data[64];
67                 unsigned len;
68         } key;
69
70         struct {
71                 uint8_t data[64] __rte_aligned(16);
72                 unsigned len;
73         } iv;
74
75         struct {
76                 uint8_t *data;
77                 unsigned len;
78         } plaintext;
79
80         struct {
81                 uint8_t data[16];
82                 unsigned len;
83         } gmac_tag;
84
85 };
86
87 static uint8_t chacha_aad_rfc8439[] = {
88                                 0x50, 0x51, 0x52, 0x53, 0xc0, 0xc1, 0xc2, 0xc3,
89                                 0xc4, 0xc5, 0xc6, 0xc7
90 };
91
92 static const struct aead_test_data chacha20_poly1305_case_rfc8439 = {
93         .algo = RTE_CRYPTO_AEAD_CHACHA20_POLY1305,
94         .key = {
95                 .data = {
96                                 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
97                                 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
98                                 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
99                                 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f
100                 },
101                 .len = 32
102         },
103         .iv = {
104                 .data = {
105                                 0x07, 0x00, 0x00, 0x00, 0x40, 0x41, 0x42, 0x43,
106                                 0x44, 0x45, 0x46, 0x47
107                 },
108            .len = 12
109         },
110         .aad = {
111                    .data = chacha_aad_rfc8439,
112                .len = 12
113         },
114         .plaintext = {
115                .data = {
116                                0x4c, 0x61, 0x64, 0x69, 0x65, 0x73, 0x20, 0x61,
117                                0x6e, 0x64, 0x20, 0x47, 0x65, 0x6e, 0x74, 0x6c,
118                                0x65, 0x6d, 0x65, 0x6e, 0x20, 0x6f, 0x66, 0x20,
119                                0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73,
120                                0x73, 0x20, 0x6f, 0x66, 0x20, 0x27, 0x39, 0x39,
121                                0x3a, 0x20, 0x49, 0x66, 0x20, 0x49, 0x20, 0x63,
122                                0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x66,
123                                0x65, 0x72, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6f,
124                                0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20,
125                                0x74, 0x69, 0x70, 0x20, 0x66, 0x6f, 0x72, 0x20,
126                                0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x74, 0x75,
127                                0x72, 0x65, 0x2c, 0x20, 0x73, 0x75, 0x6e, 0x73,
128                                0x63, 0x72, 0x65, 0x65, 0x6e, 0x20, 0x77, 0x6f,
129                                0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x69,
130                                0x74, 0x2e
131
132                },
133                .len = 114
134         },
135         .ciphertext = {
136                .data = {
137                                0xd3, 0x1a, 0x8d, 0x34, 0x64, 0x8e, 0x60, 0xdb,
138                                0x7b, 0x86, 0xaf, 0xbc, 0x53, 0xef, 0x7e, 0xc2,
139                                0xa4, 0xad, 0xed, 0x51, 0x29, 0x6e, 0x08, 0xfe,
140                                0xa9, 0xe2, 0xb5, 0xa7, 0x36, 0xee, 0x62, 0xd6,
141                                0x3d, 0xbe, 0xa4, 0x5e, 0x8c, 0xa9, 0x67, 0x12,
142                                0x82, 0xfa, 0xfb, 0x69, 0xda, 0x92, 0x72, 0x8b,
143                                0x1a, 0x71, 0xde, 0x0a, 0x9e, 0x06, 0x0b, 0x29,
144                                0x05, 0xd6, 0xa5, 0xb6, 0x7e, 0xcd, 0x3b, 0x36,
145                                0x92, 0xdd, 0xbd, 0x7f, 0x2d, 0x77, 0x8b, 0x8c,
146                                0x98, 0x03, 0xae, 0xe3, 0x28, 0x09, 0x1b, 0x58,
147                                0xfa, 0xb3, 0x24, 0xe4, 0xfa, 0xd6, 0x75, 0x94,
148                                0x55, 0x85, 0x80, 0x8b, 0x48, 0x31, 0xd7, 0xbc,
149                                0x3f, 0xf4, 0xde, 0xf0, 0x8e, 0x4b, 0x7a, 0x9d,
150                                0xe5, 0x76, 0xd2, 0x65, 0x86, 0xce, 0xc6, 0x4b,
151                                0x61, 0x16
152                         },
153                .len = 114
154         },
155         .auth_tag = {
156                .data = {
157                                0x1a, 0xe1, 0x0b, 0x59, 0x4f, 0x09, 0xe2, 0x6a,
158                                0x7e, 0x90, 0x2e, 0xcb, 0xd0, 0x60, 0x06, 0x91
159                        },
160                .len = 16
161         }
162 };
163
164 /** AES-GCM-128 Test Vectors */
165 static const struct aead_test_data gcm_test_case_1 = {
166         .algo = RTE_CRYPTO_AEAD_AES_GCM,
167         .key = {
168                 .data = {
169                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
171                 .len = 16
172         },
173         .iv = {
174                 .data = {
175                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176                         0x00, 0x00, 0x00, 0x00 },
177                 .len = 12
178         },
179         .aad = {
180                 .data = gcm_aad_zero_text,
181                 .len = 0
182         },
183         .plaintext = {
184                 .data = {
185                         0x00 },
186                 .len = 0
187         },
188         .ciphertext = {
189                 .data = {
190                         0x00
191                 },
192                 .len = 0
193         },
194         .auth_tag = {
195                 .data = {
196                         0x58, 0xe2, 0xfc, 0xce, 0xfa, 0x7e, 0x30, 0x61,
197                         0x36, 0x7f, 0x1d, 0x57, 0xa4, 0xe7, 0x45, 0x5a },
198                 .len = 16
199         }
200 };
201
202 static const struct aead_test_data gcm_test_case_2 = {
203         .algo = RTE_CRYPTO_AEAD_AES_GCM,
204         .key = {
205                 .data = {
206                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
207                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
208                 .len = 16
209         },
210         .iv = {
211                 .data = {
212                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213                         0x00, 0x00, 0x00, 0x00 },
214                 .len = 12
215         },
216         .aad = {
217                 .data = gcm_aad_zero_text,
218                 .len = 0
219         },
220         .plaintext = {
221                 .data = {
222                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
223                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
224                 .len = 16
225         },
226         .ciphertext = {
227                 .data = {
228                         0x03, 0x88, 0xda, 0xce, 0x60, 0xb6, 0xa3, 0x92,
229                         0xf3, 0x28, 0xc2, 0xb9, 0x71, 0xb2, 0xfe, 0x78 },
230                 .len = 16
231         },
232         .auth_tag = {
233                 .data = {
234                         0xab, 0x6e, 0x47, 0xd4, 0x2c, 0xec, 0x13, 0xbd,
235                         0xf5, 0x3a, 0x67, 0xb2, 0x12, 0x57, 0xbd, 0xdf },
236                 .len = 16
237         }
238 };
239
240 static const struct aead_test_data gcm_test_case_3 = {
241         .algo = RTE_CRYPTO_AEAD_AES_GCM,
242         .key = {
243                 .data = {
244                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
245                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 },
246                 .len = 16
247         },
248         .iv = {
249                 .data = {
250                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
251                         0xde, 0xca, 0xf8, 0x88 },
252                 .len = 12
253         },
254         .aad = {
255                 .data = gcm_aad_zero_text,
256                 .len = 0
257         },
258         .plaintext = {
259                 .data = {
260                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
261                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
262                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
263                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
264                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
265                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
266                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
267                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 },
268                 .len = 64
269         },
270         .ciphertext = {
271                 .data = {
272                         0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
273                         0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
274                         0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
275                         0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
276                         0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
277                         0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
278                         0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
279                         0x3d, 0x58, 0xe0, 0x91, 0x47, 0x3f, 0x59, 0x85
280                 },
281                 .len = 64
282         },
283         .auth_tag = {
284                 .data = {
285                         0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6,
286                         0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 },
287                 .len = 16
288         }
289 };
290
291 static const struct aead_test_data gcm_test_case_4 = {
292         .algo = RTE_CRYPTO_AEAD_AES_GCM,
293         .key = {
294                 .data = {
295                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
296                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
297                 },
298                 .len = 16
299         },
300         .iv = {
301                 .data = {
302                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
303                         0xde, 0xca, 0xf8, 0x88 },
304                 .len = 12
305         },
306         .aad = {
307                 .data = gcm_aad_zero_text,
308                 .len = 8
309         },
310         .plaintext = {
311                 .data = {
312                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
313                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
314                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
315                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
316                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
317                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
318                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
319                         0xba, 0x63, 0x7b, 0x39
320                 },
321                 .len = 60
322         },
323         .ciphertext = {
324                 .data = {
325                         0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
326                         0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
327                         0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
328                         0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
329                         0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
330                         0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
331                         0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
332                         0x3d, 0x58, 0xe0, 0x91
333                 },
334                 .len = 60
335         },
336         .auth_tag = {
337                 .data = {
338                         0xA2, 0xA4, 0x35, 0x75, 0xDC, 0xB0, 0x57, 0x74,
339                         0x07, 0x02, 0x30, 0xC2, 0xE7, 0x52, 0x02, 0x00
340                 },
341                 .len = 16
342         }
343
344 };
345
346 static const struct aead_test_data gcm_test_case_5 = {
347         .algo = RTE_CRYPTO_AEAD_AES_GCM,
348         .key = {
349                 .data = {
350                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
351                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
352                 },
353                 .len = 16
354         },
355         .iv = {
356                 .data = {
357                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
358                         0xde, 0xca, 0xf8, 0x88 },
359                 .len = 12
360         },
361         .aad = {
362                 .data = gcm_aad_text,
363                 .len = 8
364         },
365         .plaintext = {
366                 .data = {
367                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
368                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
369                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
370                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
371                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
372                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
373                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
374                         0xba, 0x63, 0x7b, 0x39
375                 },
376                 .len = 60
377         },
378         .ciphertext = {
379                 .data = {
380                         0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
381                         0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
382                         0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
383                         0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
384                         0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
385                         0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
386                         0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
387                         0x3d, 0x58, 0xe0, 0x91
388                 },
389                 .len = 60
390         },
391         .auth_tag = {
392                 .data = {
393                         0xC5, 0x2D, 0xFB, 0x54, 0xAF, 0xBB, 0x07, 0xA1,
394                         0x9A, 0xFF, 0xBE, 0xE0, 0x61, 0x4C, 0xE7, 0xA5
395                 },
396                 .len = 16
397         }
398
399 };
400
401 static const struct aead_test_data gcm_test_case_6 = {
402         .algo = RTE_CRYPTO_AEAD_AES_GCM,
403         .key = {
404                 .data = {
405                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
406                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
407                 },
408                 .len = 16
409         },
410         .iv = {
411                 .data = {
412                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
413                         0xde, 0xca, 0xf8, 0x88
414                 },
415                 .len = 12
416         },
417         .aad = {
418                 .data = gcm_aad_zero_text,
419                 .len = 12
420         },
421         .plaintext = {
422                 .data = {
423                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
424                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
425                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
426                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
427                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
428                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
429                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
430                         0xba, 0x63, 0x7b, 0x39
431                 },
432                 .len = 60
433         },
434         .ciphertext = {
435                 .data = {
436                         0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
437                         0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
438                         0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
439                         0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
440                         0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
441                         0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
442                         0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
443                         0x3d, 0x58, 0xe0, 0x91
444                 },
445                 .len = 60
446         },
447         .auth_tag = {
448                 .data = {
449                         0x74, 0xFC, 0xFA, 0x29, 0x3E, 0x60, 0xCC, 0x66,
450                         0x09, 0xD6, 0xFD, 0x00, 0xC8, 0x86, 0xD5, 0x42
451                 },
452                 .len = 16
453         }
454 };
455
456 static const struct aead_test_data gcm_test_case_7 = {
457         .algo = RTE_CRYPTO_AEAD_AES_GCM,
458         .key = {
459                 .data = {
460                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
461                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
462                 },
463                 .len = 16
464         },
465         .iv = {
466                 .data = {
467                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
468                         0xde, 0xca, 0xf8, 0x88
469                 },
470                 .len = 12
471         },
472         .aad = {
473                 .data = gcm_aad_text,
474                 .len = 12
475         },
476         .plaintext = {
477                 .data = {
478                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
479                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
480                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
481                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
482                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
483                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
484                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
485                         0xba, 0x63, 0x7b, 0x39
486                 },
487                 .len = 60
488         },
489         .ciphertext = {
490                 .data = {
491                         0x42, 0x83, 0x1e, 0xc2, 0x21, 0x77, 0x74, 0x24,
492                         0x4b, 0x72, 0x21, 0xb7, 0x84, 0xd0, 0xd4, 0x9c,
493                         0xe3, 0xaa, 0x21, 0x2f, 0x2c, 0x02, 0xa4, 0xe0,
494                         0x35, 0xc1, 0x7e, 0x23, 0x29, 0xac, 0xa1, 0x2e,
495                         0x21, 0xd5, 0x14, 0xb2, 0x54, 0x66, 0x93, 0x1c,
496                         0x7d, 0x8f, 0x6a, 0x5a, 0xac, 0x84, 0xaa, 0x05,
497                         0x1b, 0xa3, 0x0b, 0x39, 0x6a, 0x0a, 0xac, 0x97,
498                         0x3d, 0x58, 0xe0, 0x91
499                 },
500                 .len = 60
501         },
502         .auth_tag = {
503                 .data = {
504                         0xE9, 0xE4, 0xAB, 0x76, 0xB7, 0xFF, 0xEA, 0xDC,
505                         0x69, 0x79, 0x38, 0xA2, 0x0D, 0xCA, 0xF5, 0x92
506                 },
507                 .len = 16
508         }
509 };
510
511 static const struct aead_test_data gcm_test_case_8 = {
512         .algo = RTE_CRYPTO_AEAD_AES_GCM,
513         .key = {
514                 .data = {
515                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
516                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
517                 },
518                 .len = 16
519         },
520         .iv = {
521                 .data = {
522                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
523                         0xde, 0xca, 0xf8, 0x88
524                 },
525                 .len = 12
526         },
527         .aad = {
528                 .data = gcm_aad_text,
529                 .len = 12
530         },
531         .plaintext = {
532                 .data = {
533                         0xC5, 0x34, 0x2E, 0x83, 0xEB, 0x4C, 0x02, 0x03,
534                         0xF7, 0xB2, 0x57, 0x35, 0x26, 0x81, 0x63, 0xAE,
535                         0x1F, 0xCD, 0x2D, 0x02, 0x91, 0x5A, 0xDB, 0x3A,
536                         0xF1, 0x38, 0xD8, 0x75, 0x86, 0x20, 0xCC, 0x1E,
537                         0xE6, 0xDC, 0xFF, 0xB5, 0xEA, 0x0E, 0x18, 0x7A,
538                         0x86, 0x6C, 0xAB, 0x39, 0x2D, 0x90, 0xAC, 0x77,
539                         0x5D, 0xED, 0x65, 0xB3, 0x05, 0x29, 0xBB, 0x09,
540                         0xD0, 0x21, 0x74, 0x6A, 0x67, 0x1C, 0x95, 0x42,
541                         0x55, 0xAD, 0xC8, 0x91, 0x28, 0xFE, 0x16, 0x9A,
542                         0xE1, 0xCB, 0xCD, 0x68, 0x3B, 0xDF, 0x3E, 0x3A,
543                         0x34, 0xFE, 0x9B, 0xFB, 0xF5, 0x15, 0x2A, 0x29,
544                         0x18, 0x99, 0x24, 0xBF, 0xB6, 0x43, 0xDB, 0xD1,
545                         0x69, 0x26, 0x1E, 0x31, 0x2C, 0x8C, 0x3C, 0x6B,
546                         0x7F, 0x06, 0xA6, 0x03, 0xE2, 0x1A, 0x50, 0xFE,
547                         0x7C, 0x69, 0xE5, 0x5F, 0x35, 0x93, 0xE9, 0x20,
548                         0x14, 0xB1, 0xCA, 0x61, 0xE7, 0x9C, 0x89, 0x08,
549                         0xD6, 0xB1, 0xC2, 0x63, 0x1B, 0x86, 0x5E, 0xF1,
550                         0xF5, 0x23, 0x0E, 0x9B, 0xE5, 0xBD, 0x5D, 0x04,
551                         0xF7, 0xEF, 0x8E, 0x46, 0xB0, 0x11, 0x4F, 0x69,
552                         0x62, 0x35, 0x51, 0xB7, 0x24, 0xA2, 0x31, 0xD0,
553                         0x32, 0x4E, 0xB8, 0x44, 0xC7, 0x59, 0xDE, 0x25,
554                         0xEA, 0x2D, 0x00, 0x0E, 0xF1, 0x07, 0xBA, 0xBB,
555                         0x9A, 0xBC, 0x4F, 0x57, 0xB7, 0x13, 0x57, 0xEF,
556                         0xD9, 0xF6, 0x80, 0x69, 0xEA, 0xE8, 0x47, 0x9C,
557                         0x51, 0x71, 0xE6, 0x8F, 0x69, 0x29, 0xB4, 0x60,
558                         0xE8, 0x50, 0xE5, 0xD0, 0x9B, 0xD2, 0x62, 0x6F,
559                         0x09, 0x5C, 0xD1, 0x4B, 0x85, 0xE2, 0xFD, 0xD3,
560                         0xEB, 0x28, 0x55, 0x77, 0x97, 0xCA, 0xD6, 0xA8,
561                         0xDC, 0x35, 0x68, 0xF7, 0x6A, 0xCF, 0x48, 0x3F,
562                         0x49, 0x31, 0x00, 0x65, 0xB7, 0x31, 0x1A, 0x49,
563                         0x75, 0xDE, 0xCE, 0x7F, 0x18, 0xB5, 0x31, 0x9A,
564                         0x64, 0x6D, 0xE5, 0x49, 0x1D, 0x6D, 0xF2, 0x21,
565                         0x9F, 0xF5, 0xFF, 0x7C, 0x41, 0x30, 0x33, 0x06,
566                         0x7B, 0xA4, 0xD8, 0x99, 0xF6, 0xCC, 0xDF, 0xC4,
567                         0x3F, 0xF3, 0xCD, 0xE7, 0x74, 0xC4, 0x4A, 0x19,
568                         0x5C, 0xCA, 0x42, 0x31, 0xF1, 0x3B, 0x65, 0x1C,
569                         0x3D, 0x56, 0x08, 0xBE, 0x15, 0x37, 0x23, 0x50,
570                         0xD6, 0xA3, 0x57, 0x64, 0x25, 0xBE, 0xDA, 0xC2,
571                         0x4E, 0xF5, 0x1A, 0xAD, 0x6F, 0x43, 0x78, 0x21,
572                         0xF9, 0x36, 0x39, 0x1F, 0x5F, 0xF7, 0x1B, 0xA0,
573                         0xEE, 0x8B, 0x4F, 0x8A, 0x9D, 0xD8, 0xED, 0x37,
574                         0xCE, 0x0D, 0x70, 0xE0, 0x3F, 0xE7, 0x11, 0x30,
575                         0x17, 0x1D, 0x03, 0x5E, 0xA0, 0x3D, 0x3F, 0x9E,
576                         0xF5, 0xD3, 0x74, 0x2E, 0xC1, 0xD6, 0xFF, 0xF7,
577                         0x2E, 0xE7, 0x80, 0x88, 0xCF, 0x0E, 0x7F, 0x12,
578                         0x71, 0x62, 0xC7, 0xF1, 0xC4, 0x2B, 0x64, 0x5D,
579                         0x1C, 0x9A, 0xB4, 0xCB, 0xB8, 0x24, 0xB3, 0x0B,
580                         0x33, 0xF2, 0x8A, 0x8F, 0x76, 0xC8, 0x81, 0xDA,
581                         0x1A, 0x10, 0xB5, 0xA9, 0xCD, 0xDC, 0x1A, 0x02,
582                         0xC1, 0xAE, 0x4F, 0x02, 0x1B, 0x13, 0x96, 0x5A,
583                         0x2E, 0x03, 0xA2, 0x68, 0xB2, 0x29, 0xAC, 0x28,
584                         0xB8, 0xDC, 0xD5, 0x27, 0x55, 0xEC, 0x43, 0xDC,
585                         0xB7, 0x49, 0x1D, 0xE1, 0x30, 0x25, 0x81, 0xA6,
586                         0x90, 0x1F, 0x75, 0xBA, 0x19, 0x1E, 0xF7, 0xC5,
587                         0x77, 0x35, 0xEE, 0x68, 0x71, 0x22, 0xA0, 0xB4,
588                         0xCC, 0x99, 0x86, 0x1B, 0x1B, 0xC8, 0x27, 0xFC,
589                         0x6D, 0x8D, 0xE7, 0x8B, 0xC3, 0x40, 0x3D, 0xA8,
590                         0xCB, 0x9B, 0xC4, 0x12, 0x07, 0xDD, 0xA1, 0x92,
591                         0xE5, 0x80, 0x7A, 0xF4, 0xDB, 0x4C, 0xE6, 0xEE,
592                         0xF9, 0xD5, 0x1C, 0x20, 0x18, 0xD3, 0x8F, 0xDF,
593                         0x1C, 0xD3, 0x51, 0x4E, 0x0E, 0xED, 0x06, 0x61,
594                         0xF7, 0xBA, 0x81, 0x3A, 0x2F, 0xEA, 0xED, 0x70,
595                         0xA9, 0xD9, 0x54, 0x4D, 0xFC, 0x1D, 0x19, 0xEA,
596                         0xA6, 0x39, 0x8C, 0x6C, 0x78, 0xA8, 0x05, 0xEB,
597                         0xF2, 0xB5, 0xDE, 0x06, 0x9D, 0x8A, 0x78, 0x2A,
598                         0xF5, 0x50, 0xA4, 0xBD, 0x9B, 0xDA, 0xCA, 0x66,
599                         0xC0, 0x23, 0xAB, 0xE8, 0x95, 0x7E, 0xC9, 0xD2,
600                         0x6F, 0x09, 0xF2, 0x9A, 0x17, 0x89, 0xDA, 0x47,
601                         0x65, 0x8C, 0x20, 0xFA, 0x4E, 0x86, 0x18, 0xEB,
602                         0x7C, 0x08, 0xEC, 0x8A, 0x05, 0x54, 0x96, 0xD2,
603                         0x7A, 0x8A, 0x81, 0x58, 0x75, 0x8C, 0x7B, 0x02,
604                         0xEE, 0x1F, 0x51, 0x88, 0xD0, 0xD1, 0x90, 0x99,
605                         0x0C, 0xAE, 0x51, 0x2E, 0x54, 0x3E, 0xB1, 0x7D,
606                         0xBC, 0xE8, 0x54, 0x93, 0x6D, 0x10, 0x3C, 0xC6,
607                         0x71, 0xF6, 0xF5, 0x0B, 0x07, 0x0A, 0x6E, 0x59,
608                         0x20, 0x45, 0x21, 0x7D, 0x37, 0x64, 0x92, 0x09,
609                         0xA7, 0xE2, 0x34, 0x6F, 0xFC, 0xCC, 0x66, 0x0E,
610                         0x88, 0x1B, 0x19, 0x86, 0x11, 0xD7, 0x81, 0x25,
611                         0xF1, 0x8A, 0x03, 0xB7, 0x7A, 0xF0, 0x98, 0x4A,
612                         0x5C, 0xA1, 0x6D, 0x85, 0xA4, 0x8C, 0x4B, 0x65,
613                         0x9F, 0x72, 0x64, 0x14, 0xBA, 0x74, 0xEE, 0xA3,
614                         0x88, 0xFE, 0x1B, 0xCF, 0x11, 0x4F, 0xD1, 0xAC,
615                         0xFA, 0x14, 0xC3, 0xA7, 0xDD, 0x06, 0x85, 0x4E,
616                         0x64, 0x06, 0x92, 0x9C, 0xDF, 0x06, 0x09, 0xF1,
617                         0x4D, 0xE8, 0xF8, 0x2F, 0x69, 0xB6, 0x8A, 0xAF,
618                         0x25, 0x21, 0xB5, 0x48, 0x59, 0xF8, 0x9D, 0x60,
619                         0xAE, 0x42, 0x11, 0x7A, 0x68, 0x4D, 0x7E, 0x76,
620                         0xB0, 0xD2, 0xE3, 0xD9, 0x24, 0x16, 0x20, 0x0A,
621                         0xEB, 0xE0, 0x68, 0xCB, 0xBC, 0xAB, 0x67, 0xE4,
622                         0xF3, 0x25, 0x1F, 0xD3, 0x85, 0xA7, 0x1D, 0x7E,
623                         0x3C, 0x63, 0xCB, 0xC2, 0x50, 0x90, 0x0F, 0x4B,
624                         0x6E, 0x68, 0x06, 0x84, 0x65, 0xF7, 0xD0, 0xD4,
625                         0x12, 0xED, 0xFA, 0xC9, 0x40, 0xE2, 0xC0, 0xC9,
626                         0x46, 0x22, 0x47, 0x5E, 0x6D, 0xC1, 0x63, 0xDB,
627                         0x51, 0x98, 0xDA, 0x1A, 0xC4, 0xB9, 0xED, 0xE9,
628                         0x09, 0xB9, 0xCF, 0x91, 0x04, 0x1C, 0x63, 0xD8,
629                         0xC5, 0xA5, 0xAE, 0x53, 0x7B, 0xA1, 0x29, 0x83,
630                         0x37, 0xFB, 0xBF, 0x96, 0xBB, 0x24, 0x3D, 0x77,
631                         0x8C, 0x0F, 0xB3, 0x4B, 0x66, 0x9C, 0x54, 0xBB,
632                         0xF6, 0xDD, 0xD1, 0xB4, 0xD2, 0xF6, 0xAA, 0xED,
633                         0x18, 0x56, 0x63, 0x3E, 0x0B, 0xCA, 0xAB, 0x70,
634                         0xBB, 0x63, 0xEA, 0xB1, 0x00, 0x65, 0x90, 0x18,
635                         0xB8, 0x63, 0xA2, 0xF2, 0xB6, 0x1E, 0x61, 0x7B,
636                         0xD5, 0x01, 0xD9, 0x4D, 0xC9, 0x9D, 0x99, 0xC1,
637                         0x57, 0x9D, 0x6F, 0xAE, 0x64, 0xE4, 0x0C, 0x7E,
638                         0xFA, 0x15, 0x5E, 0xB6, 0x43, 0xB8, 0x8B, 0x89,
639                         0x87, 0xCD, 0x4F, 0xAD, 0x30, 0x1E, 0xA5, 0x03,
640                         0x7A, 0xC2, 0x10, 0x42, 0x14, 0x88, 0xD6, 0x7A,
641                         0x6D, 0x56, 0x52, 0x2E, 0x8D, 0x1B, 0x5D, 0x36,
642                         0x27, 0xA0, 0x21, 0x4B, 0x64, 0xF0, 0xC5, 0x41,
643                         0xAD, 0x05, 0x4A, 0x24, 0xE4, 0x70, 0x88, 0x63,
644                         0x12, 0xD0, 0xBC, 0x05, 0x38, 0xD9, 0x41, 0x68,
645                         0x9F, 0x16, 0x9A, 0x54, 0x09, 0x21, 0x64, 0x36,
646                         0x63, 0x97, 0x3A, 0xB5, 0xE0, 0x25, 0x43, 0x8A,
647                         0x6A, 0x59, 0x97, 0xC1, 0x31, 0xA5, 0x66, 0xD2,
648                         0xF0, 0x1C, 0xDF, 0x97, 0x51, 0xD0, 0x61, 0xBA,
649                         0x55, 0x5F, 0xD7, 0x0D, 0xD4, 0x75, 0x8E, 0x79,
650                         0x04, 0x75, 0x00, 0xB9, 0xC0, 0x7A, 0x66, 0x05,
651                         0x9F, 0x2B, 0x44, 0x42, 0x75, 0x0F, 0xD5, 0x15,
652                         0xD6, 0x16, 0x8F, 0x6C, 0x6E, 0xD4, 0x37, 0xCF,
653                         0xB4, 0xDA, 0x93, 0x00, 0x11, 0xFB, 0xBE, 0xEE,
654                         0x3B, 0x6D, 0x1D, 0xBA, 0x33, 0xD1, 0x52, 0x8B,
655                         0x16, 0x39, 0x42, 0x27, 0xE6, 0x56, 0x4C, 0x41,
656                         0x91, 0xB0, 0x98, 0xAE, 0x9B, 0x2D, 0x9B, 0x23,
657                         0x80, 0x4C, 0xEA, 0x98, 0x57, 0x95, 0x28, 0x94,
658                         0x43, 0xD3, 0x88, 0x12, 0xDF, 0x89, 0x5A, 0x7B,
659                         0xC5, 0xCB, 0x36, 0x54, 0x65, 0x74, 0xB8, 0x4E,
660                         0xE2, 0x4D, 0x01, 0xD5, 0x9C, 0x82, 0xB9, 0x1A,
661                         0x09, 0xD2, 0xCE, 0x04, 0x36, 0xD8, 0x41, 0xAC,
662                         0x4C, 0xAD, 0xC6, 0x52, 0x91, 0x1A, 0x06, 0x6D,
663                         0xFC, 0xAB, 0x29, 0x93, 0x87, 0x88, 0xB9, 0x8C,
664                         0xFA, 0x57, 0x2B, 0x05, 0x03, 0xD0, 0x18, 0xED,
665                         0x7A, 0x7B, 0x81, 0x6A, 0x97, 0x65, 0x5B, 0x90,
666                         0xDE, 0xA9, 0xFC, 0x8F, 0xFC, 0xBB, 0x98, 0xD8,
667                         0xFA, 0x32, 0x3F, 0x3F, 0x7F, 0x74, 0x65, 0x38,
668                         0xC4, 0x28, 0xEC, 0x27, 0x1F, 0x28, 0x01, 0xB1,
669                         0xAF, 0x2B, 0x8A, 0x05, 0x38, 0x7B, 0x77, 0xC9,
670                         0x61, 0x77, 0x34, 0x2C, 0x22, 0xE5, 0xEB, 0xDC,
671                         0x9D, 0x18, 0x6E, 0x23, 0x25, 0x52, 0x69, 0xB7,
672                         0x05, 0xDB, 0x66, 0x5D, 0xEA, 0x76, 0x83, 0x82,
673                         0x97, 0x39, 0xAF, 0xC0, 0x50, 0x81, 0x18, 0x0D,
674                         0x22, 0xFA, 0xB7, 0x44, 0x5C, 0x3F, 0x69, 0xF3,
675                         0xAC, 0xC5, 0x63, 0x9F, 0xD8, 0x72, 0x7E, 0x9A,
676                         0xC2, 0xEB, 0x79, 0xD0, 0x74, 0x65, 0xE8, 0xCA,
677                         0xFD, 0xA8, 0x7D, 0x23, 0x07, 0x99, 0x3E, 0xAF,
678                         0xDB, 0x67, 0x10, 0xC0, 0xE5, 0x61, 0x77, 0xC6,
679                         0x8D, 0xC4, 0x0E, 0xAA, 0x55, 0xE3, 0xC0, 0xC7,
680                         0xA5, 0x36, 0x28, 0x61, 0xDB, 0x16, 0x96, 0x5E,
681                         0x01, 0x47, 0x82, 0xE3, 0xEB, 0x20, 0x3F, 0x10,
682                         0xFA, 0x5A, 0xBC, 0xD3, 0xF9, 0xCE, 0x04, 0x87,
683                         0x51, 0x07, 0xF9, 0xD0, 0xE7, 0x6D, 0xCB, 0xCC,
684                         0xC4, 0x15, 0x00, 0xE2, 0xDC, 0x8E, 0x7B, 0x5C,
685                         0x9A, 0xF2, 0x78, 0x70, 0x4D, 0xA1, 0xAA, 0xB5,
686                         0x13, 0xCC, 0x71, 0x66, 0x5A, 0x79, 0x13, 0x3B,
687                         0x12, 0xCD, 0x40, 0x30, 0x5A, 0x49, 0xD4, 0x20,
688                         0xED, 0xCF, 0x4A, 0x75, 0xE6, 0xD5, 0xDD, 0x0F,
689                         0xD4, 0xBE, 0x98, 0x9F, 0xD7, 0x1F, 0xC0, 0x02,
690                         0x31, 0xFA, 0x67, 0x37, 0x25, 0x86, 0x56, 0x85,
691                         0x2B, 0xA2, 0x57, 0xCD, 0x8E, 0x74, 0xE7, 0x69,
692                         0xEE, 0x33, 0x5A, 0x3F, 0xCD, 0x1E, 0xE3, 0xB9,
693                         0xAA, 0x52, 0xF5, 0x22, 0x4E, 0xE3, 0xFF, 0xC8,
694                         0xE3, 0x13, 0xA3, 0x9A, 0x63, 0x23, 0xC3, 0xD7,
695                         0xE5, 0x88, 0x3E, 0x0A, 0x4B, 0xA5, 0x01, 0xE6,
696                         0x13, 0xCF, 0xED, 0xEE, 0x2A, 0x58, 0x09, 0x3F,
697                         0x2F, 0x28, 0xE7, 0xC4, 0x6B, 0xEC, 0x49, 0x51,
698                         0x79, 0x8F, 0xD5, 0x19, 0x5D, 0xA5, 0x10, 0xCE,
699                         0x8E, 0xF6, 0x26, 0x78, 0x7A, 0xA8, 0x11, 0x52,
700                         0x5F, 0x97, 0x14, 0xC9, 0x29, 0x87, 0xB8, 0xA0,
701                         0x2D, 0xE6, 0xA7, 0x2A, 0xD4, 0xFF, 0xEB, 0xBA,
702                         0xFD, 0x58, 0x39, 0x33, 0xB1, 0xCE, 0x0E, 0x78,
703                         0x67, 0x1E, 0xA1, 0x92, 0x77, 0x63, 0xF8, 0xC0,
704                         0x02, 0x49, 0x73, 0xC0, 0xA1, 0x26, 0x83, 0x04,
705                         0x9A, 0x5D, 0x85, 0x68, 0x2A, 0x2F, 0xCB, 0x88,
706                         0x8D, 0x14, 0xB1, 0x33, 0xFA, 0xFB, 0xE9, 0x05,
707                         0xBE, 0x24, 0x1A, 0x6B, 0x29, 0x2B, 0x3F, 0x52,
708                         0x8F, 0xFB, 0xE6, 0x02, 0x77, 0x50, 0x71, 0xDB,
709                         0xE9, 0x92, 0x3F, 0xE1, 0x20, 0x62, 0x80, 0xAE,
710                         0xA4, 0x98, 0xC6, 0xCD, 0xE0, 0xB1, 0xC3, 0x33,
711                         0xB1, 0xC5, 0x91, 0x3C, 0x19, 0x34, 0xA8, 0xD9,
712                         0xB3, 0x25, 0x69, 0xE3, 0x9C, 0x5F, 0x78, 0xD0,
713                         0x83, 0x1F, 0xAB, 0x85, 0x13, 0x56, 0x69, 0xB5,
714                         0x06, 0x47, 0x62, 0x37, 0x27, 0x15, 0x14, 0x05,
715                         0x4A, 0xF4, 0x6A, 0x68, 0x2A, 0x6A, 0xC3, 0x5A,
716                         0xDF, 0xB5, 0xAE, 0x2F, 0x8D, 0x8F, 0x21, 0xDB,
717                         0x33, 0x00, 0x9B, 0xD4, 0xC4, 0x08, 0x3B, 0x81,
718                         0x63, 0x4C, 0xB0, 0x39, 0x4C, 0x0A, 0xD5, 0x71,
719                         0x3E, 0x5A, 0x50, 0x58, 0x9C, 0x07, 0x89, 0x79,
720                         0x79, 0x2F, 0x0B, 0xD9, 0x50, 0xBC, 0xCF, 0x46,
721                         0x7A, 0x68, 0x5C, 0xBF, 0x1E, 0x49, 0x77, 0x92,
722                         0x85, 0x11, 0x39, 0xA6, 0x2F, 0xDA, 0x7B, 0xFA,
723                         0x72, 0x87, 0x06, 0xCD, 0x84, 0x41, 0x20, 0x1B,
724                         0x66, 0x3F, 0x42, 0x0C, 0x9E, 0x19, 0xD3, 0x18,
725                         0x57, 0xA0, 0xEE, 0x16, 0x3A, 0xC7, 0xF9, 0xD3,
726                         0x8B, 0xC9, 0x24, 0x70, 0x70, 0x51, 0x7C, 0x06,
727                         0x68, 0xD3, 0x29, 0xC9, 0x85, 0x9A, 0x1C, 0xE6,
728                         0x8C, 0x17, 0xF4, 0x88, 0xDF, 0xEA, 0xFF, 0x44,
729                         0x8D, 0x54, 0xBE, 0x22, 0x07, 0xA5, 0x7C, 0x0C,
730                         0xF4, 0x8D, 0xB1, 0x0C, 0x07, 0xED, 0xBD, 0x28,
731                         0x19, 0xDA, 0x07, 0x71, 0xA8, 0xA1, 0xE0, 0xDD,
732                         0xEE, 0x08, 0x18, 0xA5, 0xBD, 0xDD, 0x32, 0x0B,
733                         0x70, 0x1C, 0xD9, 0xEE, 0x19, 0xC2, 0xAE, 0x5C,
734                         0xE3, 0x02, 0x74, 0x70, 0x96, 0x61, 0xB1, 0x73,
735                         0x3B, 0xD6, 0x74, 0xC0, 0x82, 0xA9, 0x1F, 0xE0,
736                         0xF1, 0x22, 0x50, 0xF3, 0x9F, 0xE5, 0x13, 0x92,
737                         0xFC, 0x0A, 0x1A, 0x3C, 0xB4, 0x46, 0xFB, 0x81,
738                         0x00, 0x84, 0xA4, 0x5E, 0x6B, 0x8C, 0x25, 0x6E,
739                         0xD7, 0xB7, 0x3B, 0x01, 0x65, 0xFB, 0x0B, 0x46,
740                         0x67, 0x27, 0x2D, 0x51, 0xAD, 0xB5, 0xE0, 0x85,
741                         0xC2, 0x95, 0xA3, 0xE3, 0x68, 0x4D, 0x9E, 0x8C,
742                         0x11, 0x53, 0xF0, 0xB2, 0x85, 0xFA, 0x52, 0x4E,
743                         0xEC, 0xF9, 0xB7, 0x3C, 0x89, 0x2C, 0x4D, 0x32,
744                         0x9A, 0xCB, 0x17, 0xF3, 0x16, 0xBF, 0x44, 0x40,
745                         0xE9, 0x5E, 0x51, 0x8C, 0x1E, 0x52, 0x0A, 0xC2,
746                         0xCD, 0xA5, 0xAA, 0x03, 0x27, 0xB0, 0x8F, 0x64,
747                         0xDB, 0xD7, 0x03, 0x01, 0x8A, 0x24, 0x28, 0x7E,
748                         0x53, 0x6F, 0x24, 0xFD, 0xAA, 0xE3, 0x78, 0xB6,
749                         0xA5, 0x5D, 0x5A, 0x67, 0x20, 0xE2, 0xBE, 0x3A,
750                         0x2B, 0xE7, 0x86, 0x11, 0xDD, 0x96, 0xCB, 0x09,
751                         0x65, 0xA0, 0x36, 0xF9, 0xB0, 0x20, 0x21, 0x8E,
752                         0xDB, 0xC0, 0x73, 0xC7, 0x79, 0xD8, 0xDA, 0xC2,
753                         0x66, 0x13, 0x64, 0x34, 0x0C, 0xE1, 0x22, 0x24,
754                         0x61, 0x67, 0x08, 0x39, 0x97, 0x3F, 0x33, 0x96,
755                         0xF2, 0x44, 0x18, 0x75, 0xBB, 0xF5, 0x6A, 0x5C,
756                         0x2C, 0xAE, 0x2A, 0x79, 0x3D, 0x47, 0x19, 0x53,
757                         0x50, 0x6C, 0x9F, 0xB3, 0x82, 0x55, 0x09, 0x78,
758                         0x7B, 0xAD, 0xBC, 0x05, 0x6F, 0xC8, 0x3D, 0xB6,
759                         0x7B, 0x30, 0xE6, 0xBB, 0x8B, 0xD0, 0x2F, 0xA6,
760                         0x15, 0xCC, 0x77, 0x8C, 0x21, 0xBA, 0x03, 0xED,
761                         0x56, 0x85, 0x82, 0x4F, 0x97, 0x8C, 0x59, 0x4F,
762                         0x53, 0x5A, 0xD2, 0x70, 0xD9, 0x07, 0xB3, 0xBD,
763                         0x1D, 0x3E, 0x97, 0xD4, 0x7D, 0x93, 0x35, 0xA4,
764                         0x82, 0x6E, 0xEA, 0x4B, 0xC8, 0x6C, 0xF5, 0xE6,
765                         0xEB, 0xAF, 0x11, 0xB0, 0xB4, 0x71, 0x8F, 0x7B,
766                         0xC4, 0x8C, 0xE2, 0x66, 0x51, 0x31, 0x99, 0x01,
767                         0x5B, 0xE7, 0x48, 0xF8, 0x4C, 0xE3, 0x9A, 0x77,
768                         0xF1, 0xC6, 0x09, 0xDE, 0x76, 0xD4, 0xE3, 0x5C,
769                         0xDF, 0xA3, 0xEC, 0x3C, 0x86, 0x7C, 0xA5, 0x3F,
770                         0x8D, 0x2A, 0xF3, 0x0B, 0x54, 0xB7, 0x54, 0xA2,
771                         0xC1, 0x69, 0xC0, 0x6F, 0x1C, 0x1C, 0x76, 0xD8,
772                         0x9F, 0x7A, 0x32, 0xB0, 0xA1, 0xA6, 0x9B, 0xB7,
773                         0x21, 0x56, 0x28, 0x2D, 0xB6, 0x97, 0x03, 0x5E,
774                         0x65, 0xE3, 0x74, 0x9A, 0x96, 0x7A, 0xF9, 0xF5,
775                         0xDD, 0x85, 0xCA, 0x4C, 0xB4, 0x03, 0x6A, 0xCD,
776                         0xB6, 0x01, 0xDC, 0x8B, 0xD8, 0x73, 0x8F, 0x4D,
777                         0x7F, 0xD6, 0x71, 0xEC, 0xD7, 0xC6, 0x0B, 0x5F,
778                         0x09, 0x21, 0xB2, 0x78, 0xA8, 0xAF, 0xAD, 0x2C,
779                         0xD4, 0x93, 0x9F, 0x71, 0xF7, 0x05, 0x89, 0x42,
780                         0xC9, 0x15, 0x6F, 0x2D, 0xE0, 0xBA, 0xC3, 0xD6,
781                         0xBF, 0xAC, 0xF8, 0x24, 0x58, 0x79, 0xA9, 0xC4,
782                         0xB4, 0x49, 0x3E, 0x0B, 0x9E, 0x5E, 0xE4, 0xA6,
783                         0x8B, 0xE8, 0xDE, 0xFB, 0x4A, 0xF1, 0x69, 0x9D,
784                         0x4F, 0x77, 0x83, 0x78, 0x55, 0x19, 0x42, 0x45,
785                         0xBF, 0xBD, 0xBD, 0x12, 0x0F, 0xEF, 0x8D, 0x04,
786                         0xD8, 0x5C, 0xF2, 0xC9, 0xF1, 0xA6, 0xE0, 0x3E,
787                         0x22, 0xA8, 0xA2, 0x5E, 0x66, 0xE9, 0xAB, 0xB4,
788                         0x71, 0xBE, 0x4B, 0x3F, 0xBE, 0xC4, 0xBA, 0x4A
789                 },
790                 .len = 2048
791         },
792         .ciphertext = {
793                 .data = {
794                         0x5E, 0x86, 0x02, 0x64, 0x32, 0xBF, 0x70, 0xC2,
795                         0x19, 0x99, 0x7F, 0x47, 0x0D, 0xA4, 0x91, 0xA8,
796                         0x7A, 0xC0, 0xA5, 0x7E, 0xA8, 0x6C, 0x88, 0x00,
797                         0xEA, 0xB5, 0x96, 0x6B, 0x25, 0xBD, 0xE7, 0x42,
798                         0xDB, 0x35, 0xE7, 0x92, 0x2B, 0x00, 0x82, 0x35,
799                         0xD4, 0x2C, 0xCF, 0x47, 0xC8, 0xB2, 0xB3, 0x57,
800                         0xF7, 0x24, 0x83, 0x7F, 0xC5, 0x2E, 0xF1, 0xC9,
801                         0x57, 0x1A, 0xEF, 0xC2, 0x3A, 0x8C, 0x1E, 0x92,
802                         0x88, 0x05, 0xAF, 0x55, 0xE6, 0x0C, 0xA7, 0x6B,
803                         0x59, 0x62, 0x32, 0x21, 0xF1, 0xFF, 0xB5, 0x5B,
804                         0x22, 0x26, 0x6F, 0x0A, 0x36, 0xDC, 0x0D, 0x16,
805                         0x3B, 0x4E, 0x7C, 0xA3, 0x75, 0x30, 0x3F, 0xB0,
806                         0x99, 0x38, 0x42, 0x8E, 0x89, 0xA3, 0x7C, 0x99,
807                         0x2F, 0x0A, 0xA1, 0xC7, 0xFD, 0x2D, 0x21, 0x8F,
808                         0xBD, 0xD4, 0x11, 0xEA, 0x55, 0xF5, 0x6A, 0x50,
809                         0x90, 0x3B, 0x60, 0x57, 0xE1, 0x86, 0x1E, 0x50,
810                         0x28, 0x67, 0x3F, 0xD2, 0xF3, 0xBD, 0xFA, 0xEE,
811                         0xD6, 0x5A, 0x38, 0x30, 0xA3, 0xDD, 0x78, 0xC4,
812                         0x37, 0x59, 0x52, 0xC0, 0x92, 0x54, 0xC7, 0x53,
813                         0xF0, 0xE6, 0xA9, 0x63, 0x1F, 0x9B, 0x97, 0xFB,
814                         0x40, 0x23, 0xFE, 0x52, 0x6A, 0xF0, 0x3A, 0x94,
815                         0xEB, 0x6A, 0x9E, 0x8F, 0xC5, 0x05, 0x9C, 0x04,
816                         0x1B, 0x00, 0x34, 0x96, 0x12, 0xDA, 0x60, 0xC6,
817                         0xAA, 0x1A, 0x3E, 0xEB, 0x70, 0x17, 0x10, 0xBC,
818                         0xF5, 0xC2, 0xE2, 0x71, 0xF3, 0xB8, 0x1D, 0xCE,
819                         0x47, 0x94, 0x21, 0x71, 0x34, 0x8C, 0xCC, 0xDD,
820                         0x27, 0xCE, 0x6F, 0x68, 0xFF, 0x91, 0x4E, 0xC4,
821                         0xA0, 0xCA, 0xB0, 0x4F, 0x17, 0x53, 0x73, 0x92,
822                         0x6C, 0xA8, 0x16, 0x06, 0xE3, 0xD9, 0x92, 0x99,
823                         0xBE, 0xB0, 0x7D, 0x56, 0xF2, 0x72, 0x30, 0xDA,
824                         0xC4, 0x4E, 0xF4, 0xA6, 0x8F, 0xD2, 0xC7, 0x8A,
825                         0xA2, 0xFC, 0xF5, 0x63, 0x17, 0x48, 0x56, 0x4D,
826                         0xBE, 0x94, 0xFE, 0xF5, 0xB1, 0xA9, 0x96, 0xAB,
827                         0x3F, 0x2D, 0xD4, 0x15, 0xEE, 0x4F, 0xFA, 0x2C,
828                         0xBE, 0x91, 0xB7, 0xBC, 0x18, 0xC8, 0xDB, 0x02,
829                         0x20, 0x29, 0xF1, 0xC1, 0x88, 0x8C, 0x8D, 0xD1,
830                         0xB3, 0x4E, 0x93, 0x96, 0xDD, 0x22, 0xAB, 0x55,
831                         0xB5, 0x9F, 0x8B, 0x20, 0xAE, 0xC6, 0x0E, 0x26,
832                         0xC6, 0xFE, 0x2D, 0x5F, 0x95, 0x89, 0x06, 0x15,
833                         0x3D, 0x88, 0x16, 0xEC, 0x9B, 0x4A, 0x1B, 0x5D,
834                         0x2E, 0xB2, 0x13, 0x56, 0x9F, 0x33, 0xB3, 0x45,
835                         0xBF, 0x5F, 0x25, 0x7E, 0x75, 0x22, 0xD2, 0xE6,
836                         0x9F, 0xAC, 0x2D, 0xFD, 0x99, 0xC2, 0x9B, 0xFC,
837                         0xD7, 0x7A, 0x9B, 0x05, 0x30, 0x0F, 0xB7, 0x4A,
838                         0xFE, 0x24, 0xDD, 0x39, 0x9B, 0xBB, 0x2F, 0xDD,
839                         0xF9, 0xFB, 0xCA, 0x6C, 0x87, 0xBA, 0x73, 0xD4,
840                         0x85, 0x7B, 0xB2, 0x6F, 0x5C, 0xD8, 0xFB, 0xE9,
841                         0x41, 0x24, 0x3A, 0x3B, 0x4F, 0x91, 0x77, 0xA2,
842                         0x35, 0x78, 0xE5, 0x4C, 0xFE, 0x8B, 0x04, 0x03,
843                         0xD3, 0x84, 0xA9, 0x1C, 0xA7, 0x7C, 0x45, 0x13,
844                         0x7D, 0xC5, 0x0A, 0x2F, 0x02, 0xF8, 0x56, 0xD5,
845                         0x5F, 0x35, 0xED, 0x06, 0xBF, 0x67, 0xBA, 0x51,
846                         0x02, 0x95, 0x36, 0xF2, 0x9A, 0xBA, 0x9D, 0xF6,
847                         0xD6, 0x77, 0x50, 0xC9, 0xFC, 0x1E, 0x32, 0xB5,
848                         0x2F, 0xEA, 0x3C, 0x76, 0xB4, 0xE1, 0xCC, 0x42,
849                         0xEB, 0x71, 0x79, 0xD3, 0x7D, 0xB7, 0xC0, 0x88,
850                         0x25, 0x81, 0xE8, 0xC0, 0xB8, 0x38, 0x7E, 0x7B,
851                         0xFD, 0x18, 0xAB, 0x08, 0xB2, 0x71, 0xA5, 0xAD,
852                         0xA7, 0xBE, 0x48, 0x5F, 0x86, 0xE2, 0x41, 0x3D,
853                         0x7C, 0x37, 0x7A, 0xAB, 0xDB, 0xE0, 0x3B, 0x3D,
854                         0xB6, 0xE8, 0x23, 0x7C, 0xF1, 0x8F, 0xBA, 0xB7,
855                         0xE9, 0x78, 0x0B, 0xCA, 0x67, 0xA8, 0x10, 0x36,
856                         0xEB, 0x72, 0xED, 0xDD, 0xF0, 0x5C, 0x74, 0x8E,
857                         0xE5, 0x2A, 0xAE, 0x6E, 0xC4, 0xF1, 0xFC, 0xD8,
858                         0xEE, 0x56, 0x07, 0x88, 0x02, 0xDC, 0x9D, 0xB7,
859                         0xF9, 0x13, 0xE1, 0xE1, 0x9D, 0x89, 0x26, 0x0B,
860                         0x23, 0x74, 0x4A, 0x43, 0xAA, 0xA0, 0xA8, 0x97,
861                         0x85, 0x15, 0x58, 0xAB, 0x2B, 0xB5, 0xDA, 0x1A,
862                         0xBA, 0x29, 0x62, 0xCF, 0xDD, 0xA3, 0xBA, 0x9D,
863                         0x7D, 0x83, 0xA5, 0x18, 0xD4, 0x03, 0x0F, 0x61,
864                         0x9F, 0xB1, 0x7E, 0xEC, 0xD2, 0x6E, 0xAF, 0xCF,
865                         0x1E, 0xC1, 0x88, 0x97, 0x99, 0xD6, 0xBF, 0x47,
866                         0xB9, 0x0A, 0x69, 0x11, 0x3A, 0x55, 0x8B, 0x1D,
867                         0x2D, 0xFF, 0x78, 0xC8, 0xDE, 0x82, 0x29, 0xD6,
868                         0x08, 0x3C, 0xC4, 0xCB, 0x2F, 0x01, 0xD0, 0xE8,
869                         0xB1, 0x75, 0x5E, 0x23, 0xE0, 0x37, 0x7C, 0x1C,
870                         0xB6, 0xD9, 0x47, 0xDE, 0x23, 0x87, 0xD3, 0x68,
871                         0x47, 0x46, 0x78, 0xF3, 0xBF, 0x54, 0xA3, 0xB9,
872                         0x54, 0xD5, 0xC5, 0x0A, 0x7C, 0x92, 0x2A, 0xC2,
873                         0x14, 0x76, 0xA6, 0x5C, 0x6D, 0x0B, 0x94, 0x56,
874                         0x00, 0x6B, 0x5C, 0x27, 0xDE, 0x77, 0x9B, 0xF1,
875                         0xB1, 0x8C, 0xA7, 0x49, 0x77, 0xFC, 0x4E, 0x29,
876                         0x23, 0x8F, 0x2F, 0xF7, 0x83, 0x8D, 0x36, 0xD9,
877                         0xAB, 0x0E, 0x78, 0xF5, 0x90, 0x05, 0xB9, 0x79,
878                         0x70, 0x88, 0x59, 0x6F, 0xE2, 0xC5, 0xD7, 0x80,
879                         0x95, 0x04, 0x29, 0xE0, 0xFA, 0x37, 0xE8, 0x8B,
880                         0xC5, 0x21, 0x51, 0x1A, 0x62, 0xCE, 0x93, 0xAF,
881                         0x1A, 0xFE, 0xC3, 0x6F, 0x86, 0x94, 0x5E, 0x13,
882                         0xA6, 0x9A, 0x26, 0xF0, 0xB5, 0x7C, 0x41, 0x9A,
883                         0x80, 0xB8, 0x84, 0x5A, 0x55, 0xA9, 0xB0, 0x6A,
884                         0xFA, 0xEB, 0x46, 0x32, 0x0B, 0xE2, 0x9C, 0x65,
885                         0x86, 0x11, 0x39, 0x7E, 0xAF, 0x93, 0x19, 0x09,
886                         0x70, 0x40, 0x80, 0x14, 0xBA, 0x1D, 0xB3, 0x62,
887                         0x5B, 0xF3, 0x9A, 0x21, 0x98, 0x7E, 0x63, 0xB6,
888                         0x1A, 0xBD, 0x65, 0x98, 0x35, 0x2A, 0xA9, 0x76,
889                         0x29, 0x59, 0x84, 0x25, 0x81, 0xB8, 0xDE, 0x25,
890                         0x32, 0x10, 0x50, 0xB7, 0xD3, 0xB3, 0x69, 0xC8,
891                         0xE1, 0x33, 0xCB, 0x9E, 0x9C, 0x7A, 0x7C, 0xD2,
892                         0x6C, 0x92, 0x97, 0xA9, 0xFA, 0xAF, 0x30, 0xBA,
893                         0x9A, 0xB3, 0x3D, 0x9A, 0xE5, 0x0A, 0x9B, 0x8D,
894                         0x89, 0xE2, 0x2B, 0xB8, 0xBC, 0xF0, 0x23, 0xFF,
895                         0x7B, 0x0D, 0x00, 0x36, 0xEE, 0x79, 0xCB, 0xA5,
896                         0x70, 0x4C, 0x66, 0x02, 0x79, 0x2E, 0x5B, 0x83,
897                         0xCE, 0x55, 0x8B, 0x89, 0xD6, 0xE3, 0x71, 0x63,
898                         0xBC, 0xB1, 0x5F, 0x67, 0xB4, 0x7E, 0x05, 0x0D,
899                         0xAC, 0x6D, 0x4E, 0x2C, 0xA5, 0xF4, 0x47, 0x89,
900                         0xAC, 0x5E, 0xBE, 0x2F, 0xFC, 0x9B, 0x2F, 0x0B,
901                         0xBE, 0x63, 0x54, 0x97, 0xBB, 0x23, 0x27, 0xCD,
902                         0xB9, 0xB2, 0x28, 0x0D, 0xA4, 0x78, 0x2C, 0xAB,
903                         0xD1, 0xC9, 0x94, 0x40, 0x54, 0xF2, 0x35, 0x61,
904                         0x49, 0x01, 0x87, 0x55, 0xA5, 0xB5, 0x1E, 0x84,
905                         0x92, 0x9E, 0xC1, 0xA4, 0x0B, 0x66, 0x2B, 0xF8,
906                         0xAF, 0xC3, 0x1E, 0xAF, 0x66, 0x3F, 0x6F, 0x5F,
907                         0x70, 0xEC, 0x25, 0x29, 0xE4, 0x65, 0xB2, 0x04,
908                         0x47, 0xF6, 0x3C, 0xB5, 0x5F, 0x66, 0x9F, 0xA4,
909                         0x1B, 0xFC, 0xA2, 0xD5, 0x3E, 0x84, 0xBA, 0x88,
910                         0x0D, 0xF1, 0x6A, 0xF2, 0xF6, 0x1D, 0xF1, 0xA3,
911                         0x45, 0xB2, 0x51, 0xD8, 0xA2, 0x8F, 0x55, 0xA6,
912                         0x89, 0xC4, 0x15, 0xD5, 0x73, 0xA8, 0xB1, 0x31,
913                         0x66, 0x9E, 0xC1, 0x43, 0xE1, 0x5D, 0x4E, 0x04,
914                         0x84, 0x8F, 0xF2, 0xBC, 0xE1, 0x4E, 0x4D, 0x60,
915                         0x81, 0xCA, 0x53, 0x34, 0x95, 0x17, 0x3B, 0xAE,
916                         0x8F, 0x95, 0xA7, 0xC6, 0x47, 0xC6, 0xAC, 0x32,
917                         0x12, 0x39, 0xCA, 0xEF, 0xE0, 0x07, 0xBF, 0x17,
918                         0x4F, 0xDC, 0x1B, 0x4E, 0x3C, 0x84, 0xF1, 0x9F,
919                         0x43, 0x70, 0x19, 0xE6, 0xF3, 0x8B, 0x8B, 0x5D,
920                         0xDB, 0xD2, 0x9D, 0xD4, 0xB2, 0x30, 0x45, 0x55,
921                         0xA2, 0x67, 0xA2, 0x76, 0x4A, 0x74, 0xAD, 0x88,
922                         0x71, 0xE6, 0x3E, 0x13, 0x06, 0x30, 0x17, 0xE1,
923                         0xEF, 0xAC, 0x71, 0xFB, 0x43, 0xCD, 0xF6, 0xFA,
924                         0x0E, 0x4C, 0x4E, 0x16, 0xF6, 0x6A, 0x09, 0x86,
925                         0x6B, 0xEA, 0x47, 0x6C, 0x70, 0xE7, 0xAD, 0xA2,
926                         0xE0, 0xFD, 0x7F, 0xF0, 0x5C, 0x21, 0x53, 0x0F,
927                         0x28, 0xA1, 0x43, 0xE1, 0x06, 0xCA, 0x0B, 0x31,
928                         0x88, 0x22, 0xA6, 0xE6, 0x34, 0x5B, 0xE6, 0xCF,
929                         0x25, 0x81, 0x63, 0xFF, 0x78, 0x66, 0x85, 0x19,
930                         0xE2, 0x0A, 0x7E, 0x81, 0x8A, 0x17, 0x1A, 0x18,
931                         0x8A, 0x5F, 0x5D, 0x9E, 0x82, 0x13, 0x10, 0xB9,
932                         0xD3, 0xE6, 0x93, 0x1C, 0xE4, 0x2C, 0xCB, 0x49,
933                         0x1E, 0xB6, 0x36, 0x13, 0xBF, 0x28, 0xEE, 0xCC,
934                         0x49, 0xF5, 0x79, 0xFC, 0x20, 0x65, 0xBD, 0xE8,
935                         0xF0, 0x1B, 0x4E, 0xC0, 0x0D, 0x3E, 0x89, 0x91,
936                         0xCC, 0x64, 0x10, 0xC0, 0x2A, 0x2B, 0xA3, 0xFA,
937                         0x60, 0x3D, 0xC3, 0x52, 0x2F, 0x93, 0xDE, 0xB7,
938                         0x6E, 0x8A, 0xDF, 0x6C, 0x08, 0xCC, 0x8B, 0x3B,
939                         0xC8, 0x50, 0xEF, 0x58, 0x64, 0x9A, 0x3D, 0x16,
940                         0x70, 0x94, 0x11, 0xD8, 0x94, 0x2B, 0x70, 0x91,
941                         0x10, 0x70, 0x88, 0xF0, 0x40, 0x75, 0x9A, 0x2B,
942                         0x39, 0xA1, 0x27, 0x3F, 0x2E, 0x91, 0xEA, 0xA1,
943                         0xCC, 0x12, 0xC1, 0x7F, 0x73, 0x8C, 0x5C, 0x6B,
944                         0xFC, 0xC5, 0x6A, 0x1C, 0x05, 0xF1, 0x3D, 0x30,
945                         0x82, 0x4A, 0x65, 0x35, 0xCE, 0x80, 0x10, 0xBB,
946                         0x41, 0x94, 0xFB, 0x84, 0x80, 0x7B, 0x91, 0xC4,
947                         0x4D, 0xA3, 0x5F, 0xB9, 0xFB, 0xF9, 0xC9, 0x1D,
948                         0x4F, 0x99, 0x1C, 0x1F, 0x47, 0x44, 0x89, 0x0E,
949                         0xED, 0x6D, 0xB5, 0x85, 0x41, 0x94, 0xEF, 0xF9,
950                         0x2E, 0xA0, 0xC8, 0xCA, 0xFB, 0x44, 0x02, 0xC6,
951                         0xBF, 0x96, 0x87, 0x80, 0x1D, 0xEF, 0x2A, 0x81,
952                         0xAB, 0xB2, 0x56, 0xDF, 0x54, 0x8B, 0xAB, 0xAF,
953                         0xFE, 0x18, 0x8C, 0xAA, 0xD4, 0x00, 0x17, 0xBE,
954                         0xCF, 0x06, 0xE5, 0xA6, 0xBF, 0x5A, 0x52, 0x3B,
955                         0x4E, 0xF5, 0x65, 0x60, 0x95, 0xDE, 0x8A, 0x25,
956                         0x88, 0xA5, 0x24, 0x96, 0x29, 0x13, 0x0D, 0x19,
957                         0x45, 0x95, 0x91, 0x08, 0xD2, 0x9C, 0x4C, 0x34,
958                         0x42, 0xF0, 0xA5, 0x72, 0xEB, 0xFB, 0x5E, 0xAA,
959                         0x68, 0x80, 0x82, 0xAC, 0x34, 0xAD, 0x89, 0xF6,
960                         0xAF, 0x54, 0x82, 0xCF, 0x98, 0x8C, 0x75, 0x63,
961                         0x8D, 0xBD, 0x1C, 0x2A, 0xD7, 0x00, 0xA7, 0x8E,
962                         0xB9, 0x33, 0xB6, 0x3B, 0x95, 0x9A, 0x59, 0x1D,
963                         0x3F, 0x23, 0x6B, 0x18, 0xF8, 0x4F, 0x1A, 0x8D,
964                         0xC0, 0x26, 0x9F, 0x87, 0x61, 0xB6, 0xC6, 0x60,
965                         0x38, 0x22, 0x73, 0x1C, 0x99, 0x23, 0xEF, 0xD9,
966                         0xFD, 0xCB, 0x54, 0x74, 0xBB, 0x77, 0x14, 0xA3,
967                         0xA9, 0xE6, 0x7C, 0x7E, 0x03, 0x3A, 0x13, 0x6E,
968                         0x1D, 0x6F, 0x64, 0xB3, 0xFA, 0xFB, 0x52, 0xDE,
969                         0xDF, 0x08, 0xFB, 0x6F, 0xC5, 0xFA, 0x51, 0x6A,
970                         0x69, 0x29, 0x9B, 0x96, 0xE8, 0x16, 0xC8, 0xD1,
971                         0xE4, 0x19, 0xBD, 0x14, 0x74, 0x27, 0xE7, 0x10,
972                         0xF0, 0xC3, 0xE2, 0xA7, 0x60, 0x48, 0xBF, 0xDD,
973                         0xC4, 0x0D, 0xD0, 0xF2, 0xEF, 0xA6, 0xC9, 0xA2,
974                         0x73, 0xD1, 0xCF, 0x41, 0xE1, 0x3B, 0xE5, 0x49,
975                         0x91, 0x5D, 0x09, 0xFD, 0x1D, 0x95, 0x29, 0xDB,
976                         0x52, 0x48, 0xEB, 0xF5, 0x1D, 0xF8, 0x06, 0x67,
977                         0x75, 0xF2, 0x57, 0xA4, 0x20, 0x60, 0xEA, 0xB0,
978                         0x85, 0x93, 0x7C, 0xDD, 0x52, 0x01, 0xD4, 0x57,
979                         0xA8, 0x31, 0x2D, 0xF9, 0x0A, 0xD2, 0x2A, 0xD1,
980                         0x34, 0x18, 0x35, 0x16, 0xB6, 0x8B, 0x0F, 0x0B,
981                         0xCF, 0x50, 0x80, 0xFE, 0x76, 0xCC, 0x4F, 0x30,
982                         0x98, 0x19, 0x16, 0x3D, 0x01, 0xEA, 0x8D, 0x8A,
983                         0x3D, 0xDC, 0xFB, 0x1F, 0x77, 0x8D, 0x72, 0x76,
984                         0x02, 0x3C, 0x5D, 0xEE, 0x55, 0x13, 0x5B, 0x6E,
985                         0x5A, 0x2D, 0xD5, 0x77, 0xD7, 0x01, 0x84, 0x7D,
986                         0x21, 0x8C, 0xDD, 0x94, 0x7D, 0x31, 0x3D, 0xF0,
987                         0xE7, 0x28, 0xF5, 0x72, 0x36, 0x60, 0xE0, 0x59,
988                         0x5F, 0xFE, 0x38, 0xF8, 0x2F, 0xDB, 0x9E, 0x55,
989                         0x5A, 0xD6, 0xBA, 0x6C, 0x87, 0xF3, 0xC0, 0x76,
990                         0x5F, 0xA3, 0x0A, 0xC3, 0xA3, 0x8D, 0x0E, 0x52,
991                         0xA8, 0xDA, 0x26, 0x3A, 0xF9, 0x3E, 0x36, 0xB1,
992                         0x06, 0xF8, 0x20, 0x2D, 0x1C, 0x0B, 0x93, 0xBB,
993                         0xD3, 0x64, 0x77, 0xCE, 0x11, 0xFC, 0xA2, 0x0E,
994                         0x1B, 0x5B, 0x9E, 0x13, 0x9F, 0x20, 0x8B, 0xAA,
995                         0xCD, 0x72, 0xD7, 0xA6, 0xF3, 0x1E, 0x4F, 0x72,
996                         0xC6, 0x49, 0x0F, 0x7B, 0xF0, 0x4C, 0x61, 0x1F,
997                         0x43, 0x0D, 0x4F, 0x0D, 0x33, 0x13, 0xED, 0x63,
998                         0xE5, 0xDB, 0x71, 0xAB, 0xA4, 0x83, 0xEF, 0xDC,
999                         0x86, 0x9D, 0x4B, 0xBD, 0x1B, 0x8A, 0xFE, 0x39,
1000                         0xA8, 0x8B, 0xBA, 0x4C, 0x85, 0x28, 0xFC, 0xB3,
1001                         0x62, 0x85, 0xD2, 0xF0, 0x38, 0xD0, 0x4B, 0xA4,
1002                         0xD1, 0x3B, 0xD4, 0xD0, 0x2C, 0x78, 0x6C, 0x6A,
1003                         0xC2, 0x64, 0x2C, 0x31, 0x4A, 0xD8, 0x69, 0x24,
1004                         0xED, 0x77, 0x7D, 0x68, 0x9A, 0xA1, 0x78, 0x81,
1005                         0xD9, 0x7E, 0x6C, 0xFE, 0x0A, 0x0D, 0x76, 0xF7,
1006                         0x4B, 0x58, 0xE7, 0xC9, 0xB5, 0x11, 0x07, 0x87,
1007                         0x88, 0x6A, 0x9F, 0x3D, 0xE0, 0xEE, 0xCC, 0x60,
1008                         0x6B, 0x6B, 0xE6, 0xB5, 0x54, 0x8B, 0x32, 0x1F,
1009                         0x04, 0x1D, 0x0E, 0x9E, 0xFA, 0x6D, 0xB0, 0xE0,
1010                         0x6D, 0xF9, 0x79, 0xB4, 0xAB, 0x5E, 0xDF, 0x23,
1011                         0x7F, 0x95, 0xAD, 0x80, 0x17, 0x23, 0x90, 0x1F,
1012                         0xF0, 0xC3, 0xD9, 0x2D, 0xAC, 0x3F, 0x63, 0xF5,
1013                         0x77, 0xC5, 0x05, 0xAC, 0x06, 0xB6, 0xA1, 0xB4,
1014                         0xA2, 0x40, 0xB3, 0x99, 0x34, 0x7D, 0x31, 0xD4,
1015                         0xB1, 0xD4, 0xC1, 0xBB, 0x71, 0x1E, 0xDA, 0x3F,
1016                         0xA9, 0x12, 0x68, 0xFA, 0x5B, 0x20, 0x24, 0x6D,
1017                         0x4D, 0x72, 0x43, 0x18, 0xBF, 0x66, 0x71, 0x69,
1018                         0x26, 0x7D, 0x77, 0x78, 0xF8, 0xE5, 0x20, 0xAE,
1019                         0x56, 0x6C, 0x0F, 0x72, 0x94, 0x42, 0x85, 0x4F,
1020                         0xE4, 0xFB, 0x32, 0x26, 0x1B, 0x1C, 0x6E, 0x0B,
1021                         0xF0, 0xB8, 0x58, 0x00, 0xD2, 0x36, 0x64, 0xAD,
1022                         0xA9, 0x00, 0xCE, 0x35, 0x3C, 0x88, 0x79, 0x94,
1023                         0x0C, 0x0C, 0x9B, 0xF2, 0xDA, 0xBD, 0xCA, 0x93,
1024                         0x37, 0x26, 0xD3, 0x08, 0x54, 0xD2, 0x0D, 0xBC,
1025                         0x5D, 0x43, 0x5F, 0xCF, 0x28, 0xB5, 0xAA, 0x15,
1026                         0x28, 0x46, 0x45, 0x6B, 0xE8, 0xDF, 0xE8, 0xCE,
1027                         0x8F, 0xC0, 0x1A, 0x53, 0x63, 0x3B, 0x53, 0x75,
1028                         0xDD, 0x43, 0x1F, 0x07, 0x0A, 0xD5, 0xA1, 0x2A,
1029                         0x6E, 0x28, 0xE1, 0xD7, 0xD0, 0x09, 0xCF, 0x62,
1030                         0xC1, 0x5F, 0x21, 0xDB, 0xC5, 0x40, 0x99, 0x48,
1031                         0x87, 0x6E, 0x11, 0xF5, 0x5A, 0x4E, 0xBC, 0xF9,
1032                         0xA8, 0x02, 0x7C, 0x47, 0x39, 0xA5, 0xD8, 0x52,
1033                         0xB1, 0x80, 0xDC, 0xFE, 0x08, 0x4B, 0x5D, 0x09,
1034                         0xDE, 0x06, 0xF3, 0x2A, 0xAD, 0x14, 0x76, 0x40,
1035                         0x2F, 0x82, 0x28, 0x6A, 0xB6, 0x43, 0xEF, 0x71,
1036                         0x63, 0xC2, 0x56, 0xEB, 0x3B, 0x4B, 0x52, 0x2F,
1037                         0x93, 0xD3, 0x18, 0x3E, 0x18, 0xA8, 0xF7, 0x58,
1038                         0xFC, 0x8B, 0x3D, 0x4D, 0x4B, 0x72, 0xBD, 0xF7,
1039                         0x04, 0xC9, 0xB8, 0xD7, 0x6C, 0x8C, 0x67, 0xBB,
1040                         0x4C, 0x9B, 0x57, 0xF7, 0x22, 0x4E, 0x41, 0xB6,
1041                         0xFD, 0xD9, 0xF8, 0x41, 0x62, 0x0F, 0xFF, 0xAA,
1042                         0xC6, 0x87, 0x95, 0xFF, 0xFD, 0x58, 0xD9, 0xB2,
1043                         0xBA, 0x47, 0x61, 0x24, 0xEA, 0x92, 0x6E, 0x74,
1044                         0xB3, 0xDA, 0xE5, 0x83, 0x99, 0x24, 0xB1, 0x71,
1045                         0x2A, 0x33, 0xB2, 0xD5, 0x8F, 0xF0, 0x32, 0xCE,
1046                         0x37, 0xCF, 0xC7, 0x1C, 0xE8, 0xDE, 0x46, 0x78,
1047                         0x96, 0x97, 0xF6, 0x73, 0x90, 0xE5, 0x71, 0x05,
1048                         0xEA, 0x0D, 0xC2, 0x1D, 0x9E, 0x43, 0x34, 0xBC,
1049                         0x8F, 0x45, 0xE5, 0x08, 0xCA, 0x20, 0x0C, 0x84
1050                 },
1051                 .len = 2048
1052         },
1053         .auth_tag = {
1054                 .data = {
1055                         0xD0, 0x62, 0x1F, 0x20, 0x1C, 0xE8, 0xDD, 0x36,
1056                         0x00, 0x74, 0xF6, 0xD7, 0xFD, 0x2C, 0xA0, 0xAF
1057                 },
1058                 .len = 16
1059         }
1060 };
1061
1062 /** AES-GCM-192 Test Vectors */
1063 static const struct aead_test_data gcm_test_case_192_1 = {
1064         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1065         .key = {
1066                 .data = {
1067                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1068                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1069                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1070                 },
1071                 .len = 24
1072         },
1073         .iv = {
1074                 .data = {
1075                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1076                         0x00, 0x00, 0x00, 0x00
1077                 },
1078                 .len = 12
1079         },
1080         .aad = {
1081                 .data = gcm_aad_zero_text,
1082                 .len = 0
1083         },
1084         .plaintext = {
1085                 .data = { 0x00 },
1086                 .len = 0
1087         },
1088         .ciphertext = {
1089                 .data = { 0x00 },
1090                 .len = 0
1091         },
1092         .auth_tag = {
1093                 .data = {
1094                         0xCD, 0x33, 0xB2, 0x8A, 0xC7, 0x73, 0xF7, 0x4B,
1095                         0xA0, 0x0E, 0xD1, 0xF3, 0x12, 0x57, 0x24, 0x35
1096                 },
1097                 .len = 16
1098         }
1099 };
1100
1101 static const struct aead_test_data gcm_test_case_192_2 = {
1102         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1103         .key = {
1104                 .data = {
1105                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1106                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1107                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1108                 },
1109                 .len = 24
1110         },
1111         .iv = {
1112                 .data = {
1113                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1114                         0x00, 0x00, 0x00, 0x00
1115                 },
1116                 .len = 12
1117         },
1118         .aad = {
1119                 .data = gcm_aad_zero_text,
1120                 .len = 0
1121         },
1122         .plaintext = {
1123                 .data = {
1124                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1125                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1126                 },
1127                 .len = 16
1128         },
1129         .ciphertext = {
1130                 .data = {
1131                         0x98, 0xE7, 0x24, 0x7C, 0x07, 0xF0, 0xFE, 0x41,
1132                         0x1C, 0x26, 0x7E, 0x43, 0x84, 0xB0, 0xF6, 0x00
1133                 },
1134                 .len = 16
1135         },
1136         .auth_tag = {
1137                 .data = {
1138                         0x2F, 0xF5, 0x8D, 0x80, 0x03, 0x39, 0x27, 0xAB,
1139                         0x8E, 0xF4, 0xD4, 0x58, 0x75, 0x14, 0xF0, 0xFB
1140
1141                 },
1142                 .len = 16
1143         }
1144 };
1145
1146 static const struct aead_test_data gcm_test_case_192_3 = {
1147         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1148         .key = {
1149                 .data = {
1150                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C,
1151                         0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08,
1152                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C
1153                 },
1154                 .len = 24
1155         },
1156         .iv = {
1157                 .data = {
1158                         0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD,
1159                         0xDE, 0xCA, 0xF8, 0x88
1160                 },
1161                 .len = 12
1162         },
1163         .aad = {
1164                 .data = gcm_aad_zero_text,
1165                 .len = 0
1166         },
1167         .plaintext = {
1168                 .data = {
1169                         0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5,
1170                         0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A,
1171                         0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA,
1172                         0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72,
1173                         0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53,
1174                         0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25,
1175                         0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57,
1176                         0xBA, 0x63, 0x7B, 0x39, 0x1A, 0xAF, 0xD2, 0x55
1177                 },
1178                 .len = 64
1179         },
1180         .ciphertext = {
1181                 .data = {
1182                         0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41,
1183                         0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57,
1184                         0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84,
1185                         0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C,
1186                         0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25,
1187                         0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47,
1188                         0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9,
1189                         0xCC, 0xDA, 0x27, 0x10, 0xAC, 0xAD, 0xE2, 0x56
1190                 },
1191                 .len = 64
1192         },
1193         .auth_tag = {
1194                 .data = {
1195                         0x99, 0x24, 0xA7, 0xC8, 0x58, 0x73, 0x36, 0xBF,
1196                         0xB1, 0x18, 0x02, 0x4D, 0xB8, 0x67, 0x4A, 0x14
1197                 },
1198                 .len = 16
1199         }
1200 };
1201
1202 static const struct aead_test_data gcm_test_case_192_4 = {
1203         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1204         .key = {
1205                 .data = {
1206                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C,
1207                         0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08,
1208                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C
1209                 },
1210                 .len = 24
1211         },
1212         .iv = {
1213                 .data = {
1214                         0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD,
1215                         0xDE, 0xCA, 0xF8, 0x88
1216                 },
1217                 .len = 12
1218         },
1219         .aad = {
1220                 .data = gcm_aad_zero_text,
1221                 .len = 8
1222         },
1223         .plaintext = {
1224                 .data = {
1225                         0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5,
1226                         0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A,
1227                         0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA,
1228                         0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72,
1229                         0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53,
1230                         0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25,
1231                         0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57,
1232                         0xBA, 0x63, 0x7B, 0x39
1233                 },
1234                 .len = 60
1235         },
1236         .ciphertext = {
1237                 .data = {
1238                         0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41,
1239                         0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57,
1240                         0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84,
1241                         0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C,
1242                         0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25,
1243                         0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47,
1244                         0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9,
1245                         0xCC, 0xDA, 0x27, 0x10
1246                 },
1247                 .len = 60
1248         },
1249         .auth_tag = {
1250                 .data = {
1251                         0x57, 0x5F, 0x03, 0xA0, 0x8D, 0x8F, 0x40, 0x26,
1252                         0xE5, 0x64, 0x1F, 0x5B, 0x5C, 0xC2, 0xFD, 0x4B
1253                 },
1254                 .len = 16
1255         }
1256 };
1257
1258 static const struct aead_test_data gcm_test_case_192_5 = {
1259         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1260         .key = {
1261                 .data = {
1262                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C,
1263                         0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08,
1264                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C
1265                 },
1266                 .len = 24
1267         },
1268         .iv = {
1269                 .data = {
1270                         0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD,
1271                         0xDE, 0xCA, 0xF8, 0x88
1272                 },
1273                 .len = 12
1274         },
1275         .aad = {
1276                 .data = gcm_aad_text,
1277                 .len = 8
1278         },
1279         .plaintext = {
1280                 .data = {
1281                         0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5,
1282                         0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A,
1283                         0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA,
1284                         0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72,
1285                         0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53,
1286                         0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25,
1287                         0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57,
1288                         0xBA, 0x63, 0x7B, 0x39
1289                 },
1290                 .len = 60
1291         },
1292         .ciphertext = {
1293                 .data = {
1294                         0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41,
1295                         0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57,
1296                         0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84,
1297                         0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C,
1298                         0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25,
1299                         0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47,
1300                         0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9,
1301                         0xCC, 0xDA, 0x27, 0x10
1302                 },
1303                 .len = 60
1304         },
1305         .auth_tag = {
1306                 .data = {
1307                         0xB6, 0x35, 0x56, 0xE7, 0xBA, 0x46, 0xA3, 0x38,
1308                         0xED, 0xAD, 0x79, 0x9F, 0xB3, 0x5B, 0x34, 0xA8
1309                 },
1310                 .len = 16
1311         }
1312 };
1313
1314 static const struct aead_test_data gcm_test_case_192_6 = {
1315         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1316         .key = {
1317                 .data = {
1318                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C,
1319                         0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08,
1320                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C
1321                 },
1322                 .len = 24
1323         },
1324         .iv = {
1325                 .data = {
1326                         0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD,
1327                         0xDE, 0xCA, 0xF8, 0x88
1328                 },
1329                 .len = 12
1330         },
1331         .aad = {
1332                 .data = gcm_aad_zero_text,
1333                 .len = 12
1334         },
1335         .plaintext = {
1336                 .data = {
1337                         0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5,
1338                         0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A,
1339                         0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA,
1340                         0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72,
1341                         0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53,
1342                         0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25,
1343                         0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57,
1344                         0xBA, 0x63, 0x7B, 0x39
1345                 },
1346                 .len = 60
1347         },
1348         .ciphertext = {
1349                 .data = {
1350                         0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41,
1351                         0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57,
1352                         0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84,
1353                         0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C,
1354                         0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25,
1355                         0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47,
1356                         0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9,
1357                         0xCC, 0xDA, 0x27, 0x10
1358                 },
1359                 .len = 60
1360         },
1361         .auth_tag = {
1362                 .data = {
1363                         0xCA, 0x8A, 0x8A, 0x91, 0x5A, 0xF9, 0x76, 0xE3,
1364                         0xFF, 0x2C, 0xE4, 0x7D, 0xE5, 0x62, 0x75, 0x18
1365                 },
1366                 .len = 16
1367         }
1368 };
1369
1370 static const struct aead_test_data gcm_test_case_192_7 = {
1371         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1372         .key = {
1373                 .data = {
1374                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C,
1375                         0x6D, 0x6A, 0x8F, 0x94, 0x67, 0x30, 0x83, 0x08,
1376                         0xFE, 0xFF, 0xE9, 0x92, 0x86, 0x65, 0x73, 0x1C
1377                 },
1378                 .len = 24
1379         },
1380         .iv = {
1381                 .data = {
1382                         0xCA, 0xFE, 0xBA, 0xBE, 0xFA, 0xCE, 0xDB, 0xAD,
1383                         0xDE, 0xCA, 0xF8, 0x88
1384                 },
1385                 .len = 12
1386         },
1387         .aad = {
1388                 .data = gcm_aad_text,
1389                 .len = 12
1390         },
1391         .plaintext = {
1392                 .data = {
1393                         0xD9, 0x31, 0x32, 0x25, 0xF8, 0x84, 0x06, 0xE5,
1394                         0xA5, 0x59, 0x09, 0xC5, 0xAF, 0xF5, 0x26, 0x9A,
1395                         0x86, 0xA7, 0xA9, 0x53, 0x15, 0x34, 0xF7, 0xDA,
1396                         0x2E, 0x4C, 0x30, 0x3D, 0x8A, 0x31, 0x8A, 0x72,
1397                         0x1C, 0x3C, 0x0C, 0x95, 0x95, 0x68, 0x09, 0x53,
1398                         0x2F, 0xCF, 0x0E, 0x24, 0x49, 0xA6, 0xB5, 0x25,
1399                         0xB1, 0x6A, 0xED, 0xF5, 0xAA, 0x0D, 0xE6, 0x57,
1400                         0xBA, 0x63, 0x7B, 0x39
1401                 },
1402                 .len = 60
1403         },
1404         .ciphertext = {
1405                 .data = {
1406                         0x39, 0x80, 0xCA, 0x0B, 0x3C, 0x00, 0xE8, 0x41,
1407                         0xEB, 0x06, 0xFA, 0xC4, 0x87, 0x2A, 0x27, 0x57,
1408                         0x85, 0x9E, 0x1C, 0xEA, 0xA6, 0xEF, 0xD9, 0x84,
1409                         0x62, 0x85, 0x93, 0xB4, 0x0C, 0xA1, 0xE1, 0x9C,
1410                         0x7D, 0x77, 0x3D, 0x00, 0xC1, 0x44, 0xC5, 0x25,
1411                         0xAC, 0x61, 0x9D, 0x18, 0xC8, 0x4A, 0x3F, 0x47,
1412                         0x18, 0xE2, 0x44, 0x8B, 0x2F, 0xE3, 0x24, 0xD9,
1413                         0xCC, 0xDA, 0x27, 0x10
1414                 },
1415                 .len = 60
1416         },
1417         .auth_tag = {
1418                 .data = {
1419                         0xC2, 0xD8, 0x4C, 0x6B, 0xA8, 0x3B, 0xA5, 0x6B,
1420                         0x18, 0x9F, 0xE6, 0xEF, 0x66, 0x24, 0xDD, 0xDA
1421                 },
1422                 .len = 16
1423         }
1424 };
1425
1426 /** AES-GCM-256 Test Vectors */
1427 static const struct aead_test_data gcm_test_case_256_1 = {
1428         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1429         .key = {
1430                 .data = {
1431                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1432                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1433                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1434                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
1435                 .len = 32
1436         },
1437         .iv = {
1438                 .data = {
1439                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1440                         0x00, 0x00, 0x00, 0x00 },
1441                 .len = 12
1442         },
1443         .aad = {
1444                 .data = gcm_aad_zero_text,
1445                 .len = 0
1446         },
1447         .plaintext = {
1448                 .data = { 0x00 },
1449                 .len = 0
1450         },
1451         .ciphertext = {
1452                 .data = { 0x00 },
1453                 .len = 0
1454         },
1455         .auth_tag = {
1456                 .data = {
1457                         0x53, 0x0F, 0x8A, 0xFB, 0xC7, 0x45, 0x36, 0xB9,
1458                         0xA9, 0x63, 0xB4, 0xF1, 0xC4, 0xCB, 0x73, 0x8B },
1459                 .len = 16
1460         }
1461 };
1462
1463 static const struct aead_test_data gcm_test_case_256_2 = {
1464         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1465         .key = {
1466                 .data = {
1467                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1468                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1469                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1470                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
1471                 .len = 32
1472         },
1473         .iv = {
1474                 .data = {
1475                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1476                         0x00, 0x00, 0x00, 0x00 },
1477                 .len = 12
1478         },
1479         .aad = {
1480                 .data = gcm_aad_zero_text,
1481                 .len = 0
1482         },
1483         .plaintext = {
1484                 .data = {
1485                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1486                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
1487                 .len = 16
1488         },
1489         .ciphertext = {
1490                 .data = {
1491                         0xCE, 0xA7, 0x40, 0x3D, 0x4D, 0x60, 0x6B, 0x6E,
1492                         0x07, 0x4E, 0xC5, 0xD3, 0xBA, 0xF3, 0x9D, 0x18 },
1493                 .len = 16
1494         },
1495         .auth_tag = {
1496                 .data = {
1497                         0xD0, 0xD1, 0xC8, 0xA7, 0x99, 0x99, 0x6B, 0xF0,
1498                         0x26, 0x5B, 0x98, 0xB5, 0xD4, 0x8A, 0xB9, 0x19 },
1499                 .len = 16
1500         }
1501 };
1502
1503 static const struct aead_test_data gcm_test_case_256_3 = {
1504         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1505         .key = {
1506                 .data = {
1507                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
1508                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
1509                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1510                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a },
1511                 .len = 32
1512         },
1513         .iv = {
1514                 .data = {
1515                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
1516                         0xde, 0xca, 0xf8, 0x88 },
1517                 .len = 12
1518         },
1519         .aad = {
1520                 .data = gcm_aad_zero_text,
1521                 .len = 0
1522         },
1523         .plaintext = {
1524                 .data = {
1525                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1526                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
1527                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
1528                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
1529                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
1530                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
1531                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
1532                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 },
1533                 .len = 64
1534         },
1535         .ciphertext = {
1536                 .data = {
1537                         0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA,
1538                         0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E,
1539                         0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04,
1540                         0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9,
1541                         0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5,
1542                         0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0,
1543                         0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB,
1544                         0xFA, 0x47, 0xC8, 0x2E, 0xF0, 0x68, 0xE1, 0x3E },
1545                 .len = 64
1546         },
1547         .auth_tag = {
1548                 .data = {
1549                         0x64, 0xAF, 0x1D, 0xFB, 0xE8, 0x0D, 0x37, 0xD8,
1550                         0x92, 0xC3, 0xB9, 0x1D, 0xD3, 0x08, 0xAB, 0xFC },
1551                 .len = 16
1552         }
1553 };
1554
1555 static const struct aead_test_data gcm_test_case_256_4 = {
1556         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1557         .key = {
1558                 .data = {
1559                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
1560                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
1561                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1562                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a },
1563                 .len = 32
1564         },
1565         .iv = {
1566                 .data = {
1567                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
1568                         0xde, 0xca, 0xf8, 0x88 },
1569                 .len = 12
1570         },
1571         .aad = {
1572                 .data = gcm_aad_zero_text,
1573                 .len = 8
1574         },
1575         .plaintext = {
1576                 .data = {
1577                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1578                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
1579                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
1580                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
1581                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
1582                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
1583                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
1584                         0xba, 0x63, 0x7b, 0x39 },
1585                 .len = 60
1586         },
1587         .ciphertext = {
1588                 .data = {
1589                         0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA,
1590                         0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E,
1591                         0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04,
1592                         0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9,
1593                         0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5,
1594                         0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0,
1595                         0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB,
1596                         0xFA, 0x47, 0xC8, 0x2E },
1597                 .len = 60
1598         },
1599         .auth_tag = {
1600                 .data = {
1601                         0x63, 0x16, 0x91, 0xAE, 0x17, 0x05, 0x5E, 0xA6,
1602                         0x6D, 0x0A, 0x51, 0xE2, 0x50, 0x21, 0x85, 0x4A },
1603                 .len = 16
1604         }
1605
1606 };
1607
1608 static const struct aead_test_data gcm_test_case_256_5 = {
1609         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1610         .key = {
1611                 .data = {
1612                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
1613                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
1614                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1615                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a },
1616                 .len = 32
1617         },
1618         .iv = {
1619                 .data = {
1620                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
1621                         0xde, 0xca, 0xf8, 0x88 },
1622                 .len = 12
1623         },
1624         .aad = {
1625                 .data = gcm_aad_text,
1626                 .len = 8
1627         },
1628         .plaintext = {
1629                 .data = {
1630                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1631                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
1632                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
1633                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
1634                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
1635                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
1636                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
1637                         0xba, 0x63, 0x7b, 0x39 },
1638                 .len = 60
1639         },
1640         .ciphertext = {
1641                 .data = {
1642                         0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA,
1643                         0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E,
1644                         0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04,
1645                         0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9,
1646                         0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5,
1647                         0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0,
1648                         0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB,
1649                         0xFA, 0x47, 0xC8, 0x2E },
1650                 .len = 60
1651         },
1652         .auth_tag = {
1653                 .data = {
1654                         0xA7, 0x99, 0xAC, 0xB8, 0x27, 0xDA, 0xB1, 0x82,
1655                         0x79, 0xFD, 0x83, 0x73, 0x52, 0x4D, 0xDB, 0xF1 },
1656                 .len = 16
1657         }
1658
1659 };
1660
1661 static const struct aead_test_data gcm_test_case_256_6 = {
1662         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1663         .key = {
1664                 .data = {
1665                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
1666                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
1667                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1668                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a },
1669                 .len = 32
1670         },
1671         .iv = {
1672                 .data = {
1673                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
1674                         0xde, 0xca, 0xf8, 0x88 },
1675                 .len = 12
1676         },
1677         .aad = {
1678                 .data = gcm_aad_zero_text,
1679                 .len = 12
1680         },
1681         .plaintext = {
1682                 .data = {
1683                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1684                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
1685                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
1686                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
1687                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
1688                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
1689                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
1690                         0xba, 0x63, 0x7b, 0x39 },
1691                 .len = 60
1692         },
1693         .ciphertext = {
1694                 .data = {
1695                         0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA,
1696                         0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E,
1697                         0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04,
1698                         0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9,
1699                         0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5,
1700                         0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0,
1701                         0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB,
1702                         0xFA, 0x47, 0xC8, 0x2E },
1703                 .len = 60
1704         },
1705         .auth_tag = {
1706                 .data = {
1707                         0x5D, 0xA5, 0x0E, 0x53, 0x64, 0x7F, 0x3F, 0xAE,
1708                         0x1A, 0x1F, 0xC0, 0xB0, 0xD8, 0xBE, 0xF2, 0x64 },
1709                 .len = 16
1710         }
1711 };
1712
1713 static const struct aead_test_data gcm_test_case_256_7 = {
1714         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1715         .key = {
1716                 .data = {
1717                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
1718                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
1719                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1720                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a },
1721                 .len = 32
1722         },
1723         .iv = {
1724                 .data = {
1725                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
1726                         0xde, 0xca, 0xf8, 0x88 },
1727                 .len = 12
1728         },
1729         .aad = {
1730                 .data = gcm_aad_text,
1731                 .len = 12
1732         },
1733         .plaintext = {
1734                 .data = {
1735                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1736                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
1737                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
1738                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
1739                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
1740                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
1741                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
1742                         0xba, 0x63, 0x7b, 0x39 },
1743                 .len = 60
1744         },
1745         .ciphertext = {
1746                 .data = {
1747                         0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA,
1748                         0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E,
1749                         0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04,
1750                         0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9,
1751                         0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5,
1752                         0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0,
1753                         0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB,
1754                         0xFA, 0x47, 0xC8, 0x2E },
1755                 .len = 60
1756         },
1757         .auth_tag = {
1758                 .data = {
1759                         0x4E, 0xD0, 0x91, 0x95, 0x83, 0xA9, 0x38, 0x72,
1760                         0x09, 0xA9, 0xCE, 0x5F, 0x89, 0x06, 0x4E, 0xC8 },
1761                 .len = 16
1762         }
1763 };
1764
1765 /** variable AAD AES-GCM-128 Test Vectors */
1766 static const struct aead_test_data gcm_test_case_aad_1 = {
1767         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1768         .key = {
1769                 .data = {
1770                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
1771                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 },
1772                 .len = 16
1773         },
1774         .iv = {
1775                 .data = {
1776                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
1777                         0xde, 0xca, 0xf8, 0x88 },
1778                 .len = 12
1779         },
1780         .aad = {
1781                 .data = gcm_aad_text,
1782                 .len = GCM_LARGE_AAD_LENGTH
1783         },
1784         .plaintext = {
1785                 .data = {
1786                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1787                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
1788                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
1789                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
1790                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
1791                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
1792                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
1793                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 },
1794                 .len = 64
1795         },
1796         .ciphertext = {
1797                 .data = {
1798                         0x42, 0x83, 0x1E, 0xC2, 0x21, 0x77, 0x74, 0x24,
1799                         0x4B, 0x72, 0x21, 0xB7, 0x84, 0xD0, 0xD4, 0x9C,
1800                         0xE3, 0xAA, 0x21, 0x2F, 0x2C, 0x02, 0xA4, 0xE0,
1801                         0x35, 0xC1, 0x7E, 0x23, 0x29, 0xAC, 0xA1, 0x2E,
1802                         0x21, 0xD5, 0x14, 0xB2, 0x54, 0x66, 0x93, 0x1C,
1803                         0x7D, 0x8F, 0x6A, 0x5A, 0xAC, 0x84, 0xAA, 0x05,
1804                         0x1B, 0xA3, 0x0B, 0x39, 0x6A, 0x0A, 0xAC, 0x97,
1805                         0x3D, 0x58, 0xE0, 0x91, 0x47, 0x3F, 0x59, 0x85
1806                         },
1807                 .len = 64
1808         },
1809         .auth_tag = {
1810                 .data = {
1811                         0xCA, 0x70, 0xAF, 0x96, 0xA8, 0x5D, 0x40, 0x47,
1812                         0x0C, 0x3C, 0x48, 0xF5, 0xF0, 0xF5, 0xA5, 0x7D
1813                         },
1814                 .len = 16
1815         }
1816 };
1817
1818 /** variable AAD AES-GCM-256 Test Vectors */
1819 static const struct aead_test_data gcm_test_case_aad_2 = {
1820         .algo = RTE_CRYPTO_AEAD_AES_GCM,
1821         .key = {
1822                 .data = {
1823                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
1824                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
1825                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1826                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a },
1827                 .len = 32
1828         },
1829         .iv = {
1830                 .data = {
1831                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
1832                         0xde, 0xca, 0xf8, 0x88 },
1833                 .len = 12
1834         },
1835         .aad = {
1836                 .data = gcm_aad_text,
1837                 .len = GCM_LARGE_AAD_LENGTH
1838         },
1839         .plaintext = {
1840                 .data = {
1841                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
1842                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
1843                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
1844                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
1845                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
1846                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
1847                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
1848                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55 },
1849                 .len = 64
1850         },
1851         .ciphertext = {
1852                 .data = {
1853                         0x05, 0xA2, 0x39, 0xA5, 0xE1, 0x1A, 0x74, 0xEA,
1854                         0x6B, 0x2A, 0x55, 0xF6, 0xD7, 0x88, 0x44, 0x7E,
1855                         0x93, 0x7E, 0x23, 0x64, 0x8D, 0xF8, 0xD4, 0x04,
1856                         0x3B, 0x40, 0xEF, 0x6D, 0x7C, 0x6B, 0xF3, 0xB9,
1857                         0x50, 0x15, 0x97, 0x5D, 0xB8, 0x28, 0xA1, 0xD5,
1858                         0x22, 0xDE, 0x36, 0x26, 0xD0, 0x6A, 0x7A, 0xC0,
1859                         0xB5, 0x14, 0x36, 0xAF, 0x3A, 0xC6, 0x50, 0xAB,
1860                         0xFA, 0x47, 0xC8, 0x2E, 0xF0, 0x68, 0xE1, 0x3E
1861                         },
1862                 .len = 64
1863         },
1864         .auth_tag = {
1865                 .data = {
1866                         0xBA, 0x06, 0xDA, 0xA1, 0x91, 0xE1, 0xFE, 0x22,
1867                         0x59, 0xDA, 0x67, 0xAF, 0x9D, 0xA5, 0x43, 0x94
1868                         },
1869                 .len = 16
1870         }
1871 };
1872
1873 /** GMAC Test Vectors */
1874 static uint8_t gmac_plaintext[GMAC_LARGE_PLAINTEXT_LENGTH] = {
1875                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1876                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
1877                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1878                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
1879                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1880                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
1881                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1882                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
1883                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1884                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
1885                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1886                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
1887                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1888                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
1889                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1890                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
1891                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1892                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
1893                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1894                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10
1895 };
1896
1897 static const struct gmac_test_data gmac_test_case_1 = {
1898         .key = {
1899                 .data = {
1900                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
1901                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
1902                 },
1903                 .len = 16
1904         },
1905         .iv = {
1906                 .data = {
1907                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
1908                         0xde, 0xca, 0xf8, 0x88 },
1909                 .len = 12
1910         },
1911         .plaintext = {
1912                 .data = gmac_plaintext,
1913                 .len = 160
1914         },
1915         .gmac_tag = {
1916                 .data = {
1917                         0x4C, 0x0C, 0x4F, 0x47, 0x2D, 0x78, 0xF6, 0xD8,
1918                         0x03, 0x53, 0x20, 0x2F, 0x1A, 0xDF, 0x90, 0xD0
1919                 },
1920                 .len = 16
1921         },
1922 };
1923
1924 static const struct gmac_test_data gmac_test_case_2 = {
1925         .key = {
1926                 .data = {
1927                     0xaa, 0x74, 0x0a, 0xbf, 0xad, 0xcd, 0xa7, 0x79,
1928                     0x22, 0x0d, 0x3b, 0x40, 0x6c, 0x5d, 0x7e, 0xc0,
1929                     0x9a, 0x77, 0xfe, 0x9d, 0x94, 0x10, 0x45, 0x39,
1930                 },
1931                 .len = 24
1932         },
1933         .iv = {
1934                 .data = {
1935                     0xab, 0x22, 0x65, 0xb4, 0xc1, 0x68, 0x95,
1936                     0x55, 0x61, 0xf0, 0x43, 0x15, },
1937                 .len = 12
1938         },
1939         .plaintext = {
1940                 .data = gmac_plaintext,
1941                 .len = 80
1942         },
1943         .gmac_tag = {
1944                 .data = {
1945                     0xCF, 0x82, 0x80, 0x64, 0x02, 0x46, 0xF4, 0xFB,
1946                     0x33, 0xAE, 0x1D, 0x90, 0xEA, 0x48, 0x83, 0xDB
1947                 },
1948                 .len = 16
1949         },
1950 };
1951
1952 static const struct gmac_test_data gmac_test_case_3 = {
1953         .key = {
1954                 .data = {
1955                     0xb5, 0x48, 0xe4, 0x93, 0x4f, 0x5c, 0x64, 0xd3,
1956                     0xc0, 0xf0, 0xb7, 0x8f, 0x7b, 0x4d, 0x88, 0x24,
1957                     0xaa, 0xc4, 0x6b, 0x3c, 0x8d, 0x2c, 0xc3, 0x5e,
1958                     0xe4, 0xbf, 0xb2, 0x54, 0xe4, 0xfc, 0xba, 0xf7,
1959                 },
1960                 .len = 32
1961         },
1962         .iv = {
1963                 .data = {
1964                     0x2e, 0xed, 0xe1, 0xdc, 0x64, 0x47, 0xc7,
1965                     0xaf, 0xc4, 0x41, 0x53, 0x58,
1966                 },
1967                 .len = 12
1968         },
1969         .plaintext = {
1970                 .data = gmac_plaintext,
1971                 .len = 65
1972         },
1973         .gmac_tag = {
1974                 .data = {
1975                         0x77, 0x46, 0x0D, 0x6F, 0xB1, 0x87, 0xDB, 0xA9,
1976                         0x46, 0xAD, 0xCD, 0xFB, 0xB7, 0xF9, 0x13, 0xA1
1977                 },
1978                 .len = 16
1979         },
1980 };
1981
1982 /******* GCM PERF VECTORS ***********/
1983
1984 struct cryptodev_perf_test_data {
1985         struct {
1986                 uint8_t data[64];
1987                 unsigned len;
1988         } key;
1989
1990         struct {
1991                 uint8_t data[64] __rte_aligned(16);
1992                 unsigned len;
1993         } iv;
1994
1995         struct {
1996                 uint8_t data[64];
1997                 unsigned len;
1998         } aad;
1999
2000         struct {
2001                 uint8_t data[2048];
2002                 unsigned len;
2003         } plaintext;
2004
2005         struct {
2006                 uint8_t data[2048];
2007                 unsigned len;
2008         } ciphertext;
2009
2010         struct {
2011                 uint8_t data[16];
2012                 unsigned len;
2013         } auth_tag;
2014
2015         struct {
2016                 uint32_t size;
2017                 uint8_t data[16];
2018                 unsigned len;
2019         } auth_tags[7];
2020
2021 };
2022
2023 /* 2048B */
2024 static const struct cryptodev_perf_test_data AES_GCM_128_12IV_0AAD = {
2025         .key = {
2026                 .data = {
2027                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2028                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 },
2029                 .len = 16
2030         },
2031         .iv = {
2032                 .data = {
2033                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
2034                         0xde, 0xca, 0xf8, 0x88 },
2035                 .len = 12
2036         },
2037         .aad = {
2038                 .data = { 0 },
2039                 .len = 0
2040         },
2041         .plaintext = {
2042                 .data = {
2043                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2044                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2045                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2046                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2047                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2048                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2049                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2050                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2051                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2052                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2053                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2054                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2055                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2056                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2057                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2058                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2059                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2060                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2061                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2062                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2063                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2064                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2065                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2066                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2067                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2068                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2069                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2070                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2071                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2072                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2073                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2074                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2075                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2076                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2077                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2078                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2079                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2080                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2081                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2082                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2083                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2084                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2085                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2086                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2087                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2088                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2089                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2090                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2091                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2092                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2093                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2094                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2095                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2096                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2097                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2098                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2099                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2100                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2101                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2102                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2103                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2104                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2105                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2106                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2107                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2108                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2109                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2110                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2111                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2112                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2113                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2114                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2115                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2116                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2117                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2118                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2119                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2120                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2121                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2122                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2123                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2124                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2125                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2126                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2127                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2128                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2129                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2130                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2131                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2132                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2133                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2134                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2135                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2136                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2137                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2138                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2139                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2140                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2141                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2142                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2143                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2144                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2145                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2146                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2147                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2148                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2149                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2150                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2151                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2152                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2153                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2154                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2155                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2156                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2157                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2158                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2159                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2160                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2161                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2162                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2163                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2164                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2165                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2166                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2167                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2168                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2169                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2170                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2171                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2172                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2173                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2174                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2175                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2176                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2177                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2178                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2179                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2180                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2181                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2182                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2183                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2184                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2185                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2186                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2187                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2188                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2189                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2190                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2191                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2192                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2193                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2194                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2195                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2196                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2197                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2198                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2199                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2200                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2201                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2202                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2203                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2204                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2205                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2206                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2207                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2208                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2209                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2210                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2211                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2212                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2213                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2214                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2215                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2216                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2217                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2218                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2219                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2220                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2221                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2222                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2223                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2224                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2225                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2226                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2227                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2228                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2229                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2230                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2231                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2232                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2233                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2234                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2235                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2236                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2237                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2238                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2239                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2240                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2241                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2242                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2243                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2244                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2245                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2246                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2247                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2248                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2249                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2250                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2251                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2252                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2253                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2254                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2255                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2256                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2257                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2258                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2259                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2260                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2261                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2262                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2263                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2264                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2265                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2266                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2267                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2268                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2269                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2270                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2271                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2272                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2273                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2274                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2275                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2276                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2277                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2278                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2279                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2280                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2281                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2282                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2283                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2284                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2285                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2286                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2287                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2288                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2289                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2290                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2291                     0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2292                     0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2293                     0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2294                     0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2295                     0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2296                     0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2297                     0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2298                     0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55
2299                 },
2300                 .len = 2048
2301         },
2302         .ciphertext = {
2303                 .data = {
2304                     0x42, 0x83, 0x1E, 0xC2, 0x21, 0x77, 0x74, 0x24,
2305                     0x4B, 0x72, 0x21, 0xB7, 0x84, 0xD0, 0xD4, 0x9C,
2306                     0xE3, 0xAA, 0x21, 0x2F, 0x2C, 0x02, 0xA4, 0xE0,
2307                     0x35, 0xC1, 0x7E, 0x23, 0x29, 0xAC, 0xA1, 0x2E,
2308                     0x21, 0xD5, 0x14, 0xB2, 0x54, 0x66, 0x93, 0x1C,
2309                     0x7D, 0x8F, 0x6A, 0x5A, 0xAC, 0x84, 0xAA, 0x05,
2310                     0x1B, 0xA3, 0x0B, 0x39, 0x6A, 0x0A, 0xAC, 0x97,
2311                     0x3D, 0x58, 0xE0, 0x91, 0x47, 0x3F, 0x59, 0x85,
2312                     0x04, 0x99, 0x55, 0xE1, 0x36, 0x76, 0xB7, 0x14,
2313                     0x1D, 0xF0, 0xF6, 0x8C, 0x65, 0xD5, 0xAD, 0xFB,
2314                     0x90, 0x7F, 0x5D, 0xA2, 0xD6, 0xFD, 0xD0, 0xE5,
2315                     0x0D, 0x9B, 0x68, 0x21, 0x49, 0x42, 0x6E, 0x13,
2316                     0xEC, 0x22, 0x50, 0x2A, 0x30, 0x47, 0x49, 0xA1,
2317                     0x7F, 0xC3, 0x09, 0xE0, 0x56, 0x91, 0xC4, 0x54,
2318                     0x70, 0xD7, 0x19, 0x40, 0xCA, 0x6B, 0x65, 0x27,
2319                     0x3E, 0xE9, 0xD1, 0x0F, 0x1C, 0xB5, 0x45, 0x0D,
2320                     0x27, 0xE7, 0xCF, 0x94, 0x10, 0xBF, 0xA2, 0xFA,
2321                     0x86, 0x20, 0x3F, 0x6E, 0xE9, 0x95, 0x03, 0x5A,
2322                     0x46, 0x11, 0x75, 0xD5, 0x37, 0x71, 0x7F, 0xE0,
2323                     0xBC, 0x9F, 0xC8, 0xE9, 0xB1, 0x08, 0x2C, 0x59,
2324                     0x6E, 0x51, 0x4A, 0x83, 0x38, 0xC1, 0xED, 0xE2,
2325                     0x2E, 0x88, 0x90, 0xA5, 0x7D, 0xA4, 0x93, 0x9A,
2326                     0x30, 0xD6, 0x96, 0x34, 0x0F, 0xC4, 0xD1, 0x7E,
2327                     0xC9, 0x8F, 0xC5, 0xBB, 0x80, 0x50, 0x85, 0x75,
2328                     0x7D, 0x82, 0x36, 0xDB, 0x62, 0x15, 0xAF, 0x4B,
2329                     0x0A, 0x9D, 0xCD, 0x64, 0x00, 0xAB, 0x88, 0x28,
2330                     0xA8, 0x35, 0x17, 0x70, 0x6F, 0x47, 0x44, 0xCD,
2331                     0x65, 0xAE, 0xD5, 0x05, 0x0A, 0xA8, 0x2F, 0x48,
2332                     0xAC, 0xA1, 0x72, 0x64, 0x1C, 0x7E, 0xD3, 0xF5,
2333                     0xD8, 0x4E, 0x73, 0x17, 0x0C, 0xE5, 0x9F, 0xB6,
2334                     0x00, 0xFA, 0xD7, 0x2C, 0x3D, 0x6A, 0x10, 0x47,
2335                     0x7C, 0xF2, 0x6B, 0x13, 0x10, 0x8A, 0x76, 0x39,
2336                     0xF8, 0x50, 0x33, 0xAC, 0x08, 0x1D, 0xA3, 0x48,
2337                     0xE1, 0xD0, 0x05, 0x49, 0xB7, 0x76, 0x03, 0x72,
2338                     0x07, 0xC5, 0xD3, 0x08, 0x79, 0x38, 0x66, 0xC1,
2339                     0x52, 0xAF, 0x83, 0xCD, 0xF3, 0x86, 0x62, 0xBF,
2340                     0x92, 0x24, 0x97, 0xBD, 0x5D, 0x7D, 0x81, 0x56,
2341                     0x4C, 0xF3, 0xD2, 0x60, 0xC2, 0xDE, 0x61, 0xC1,
2342                     0x39, 0x61, 0xDA, 0x07, 0x50, 0xC7, 0x98, 0x63,
2343                     0x7E, 0xDD, 0x54, 0xCA, 0xDE, 0x12, 0xD2, 0xA8,
2344                     0x19, 0x08, 0x6E, 0xF9, 0xFA, 0x6F, 0x58, 0x97,
2345                     0xD4, 0x0B, 0x5C, 0x5B, 0xE5, 0x30, 0xE5, 0x4C,
2346                     0x0E, 0x16, 0x87, 0xF0, 0x2C, 0xCB, 0x53, 0xB8,
2347                     0x0C, 0xE5, 0xDF, 0x16, 0x7B, 0xE8, 0xC2, 0xCF,
2348                     0xCC, 0xFF, 0x51, 0x24, 0xC1, 0xDD, 0x59, 0x9C,
2349                     0xA7, 0x56, 0x03, 0xB9, 0x0A, 0x37, 0xA2, 0xAC,
2350                     0x28, 0x8B, 0xEB, 0x51, 0x4E, 0xF1, 0xAE, 0xB5,
2351                     0xC8, 0xB5, 0xCB, 0x8D, 0x23, 0xF6, 0x24, 0x2D,
2352                     0xF6, 0x59, 0x62, 0xC0, 0xCB, 0xD3, 0x18, 0xE4,
2353                     0xB7, 0x73, 0xEF, 0xDB, 0x13, 0x9A, 0xF5, 0xD3,
2354                     0xD5, 0x61, 0x01, 0x14, 0xA5, 0xE5, 0x0D, 0x27,
2355                     0xC9, 0xA5, 0x08, 0x1C, 0x60, 0xBA, 0x73, 0xFF,
2356                     0xA9, 0xE0, 0x27, 0x86, 0x3F, 0xF7, 0x15, 0x03,
2357                     0x69, 0xA7, 0x2B, 0x57, 0xAC, 0xA6, 0x70, 0x55,
2358                     0xE9, 0xB5, 0x3F, 0xEB, 0x6F, 0xCE, 0x8A, 0xA1,
2359                     0x9D, 0x8B, 0x84, 0xF1, 0x7C, 0xD0, 0x35, 0x21,
2360                     0x91, 0x3D, 0x3D, 0x6E, 0x83, 0xFC, 0x45, 0x36,
2361                     0x93, 0xDA, 0x66, 0xDF, 0x1A, 0x59, 0x22, 0xA5,
2362                     0xC4, 0x99, 0x9B, 0xF8, 0x48, 0x9A, 0x50, 0x09,
2363                     0xAB, 0xAE, 0x56, 0xB6, 0x49, 0x02, 0x3E, 0x90,
2364                     0xB6, 0x07, 0x7E, 0xA7, 0x6A, 0x0A, 0xB5, 0x85,
2365                     0x31, 0x0D, 0x84, 0xD4, 0x01, 0xE4, 0x48, 0x63,
2366                     0xF3, 0xC1, 0x54, 0x65, 0xA6, 0x4C, 0x8B, 0x33,
2367                     0xF9, 0x70, 0x59, 0x3B, 0xA6, 0xF6, 0x2B, 0x66,
2368                     0xC5, 0xD2, 0xEB, 0xAB, 0x67, 0xD2, 0xE3, 0x78,
2369                     0xA9, 0x1A, 0x4C, 0x99, 0xA9, 0xA6, 0xCA, 0xF7,
2370                     0x65, 0xF0, 0x48, 0xF8, 0x2A, 0xEA, 0x96, 0x9F,
2371                     0xC4, 0x50, 0x9A, 0x0C, 0xB6, 0x0D, 0x8A, 0x2F,
2372                     0xC3, 0x99, 0x4E, 0xA0, 0x06, 0x4D, 0xAB, 0x25,
2373                     0x2E, 0x44, 0x47, 0xB6, 0x98, 0xF1, 0x2C, 0x96,
2374                     0x54, 0x51, 0x12, 0x41, 0x0D, 0xEF, 0x32, 0x9A,
2375                     0x4A, 0xBD, 0xA2, 0x26, 0x53, 0xA8, 0xFD, 0x8B,
2376                     0x6C, 0x95, 0x0A, 0x1A, 0x96, 0xEF, 0x3C, 0x85,
2377                     0x34, 0x4E, 0x25, 0x9E, 0x1C, 0x67, 0x33, 0x8A,
2378                     0xFF, 0x6D, 0x98, 0x93, 0x3D, 0x3F, 0x49, 0x6B,
2379                     0xBF, 0x7C, 0x4F, 0x63, 0x5D, 0x62, 0x64, 0x67,
2380                     0x0D, 0x07, 0x7F, 0x24, 0x4A, 0x23, 0xBC, 0x35,
2381                     0xE0, 0x92, 0x6F, 0x51, 0xE7, 0x25, 0x97, 0xB9,
2382                     0x14, 0x35, 0x2B, 0x48, 0xAC, 0x6F, 0x54, 0xDF,
2383                     0xF2, 0xB4, 0xB0, 0xE0, 0xD3, 0x28, 0x0D, 0x66,
2384                     0x46, 0x28, 0x0A, 0x16, 0x9C, 0x87, 0x73, 0xB7,
2385                     0x9C, 0x2B, 0xB5, 0x43, 0xC9, 0x46, 0xB9, 0x1F,
2386                     0x5F, 0x3C, 0x45, 0x03, 0x4B, 0xBF, 0x44, 0x4D,
2387                     0xE1, 0x44, 0xDA, 0x54, 0xC5, 0x32, 0x3A, 0xFA,
2388                     0x21, 0x5C, 0xAD, 0xD5, 0x1E, 0x1B, 0x54, 0x7C,
2389                     0x9F, 0xEA, 0x92, 0x8C, 0xEA, 0x69, 0xC0, 0xCE,
2390                     0xDA, 0x09, 0xAD, 0x95, 0xA0, 0x8E, 0x0B, 0x8E,
2391                     0x10, 0x4F, 0x5B, 0x8F, 0xB8, 0x2D, 0xAC, 0x4C,
2392                     0x94, 0x4B, 0x7C, 0x1E, 0xF1, 0x53, 0x20, 0x9B,
2393                     0xD6, 0xC4, 0x92, 0x4C, 0x7F, 0xFB, 0x8B, 0x8E,
2394                     0x40, 0x2F, 0x24, 0xA3, 0x4E, 0x46, 0x64, 0xF4,
2395                     0xC6, 0x35, 0x0F, 0xC7, 0x40, 0x55, 0x43, 0xAF,
2396                     0x7E, 0x91, 0x76, 0x48, 0x6F, 0x97, 0x7A, 0xF8,
2397                     0x32, 0x1E, 0xD3, 0x5B, 0xBC, 0x19, 0xB5, 0x48,
2398                     0xFA, 0x4F, 0x52, 0x77, 0x5B, 0x9E, 0xA2, 0xC8,
2399                     0x9A, 0x83, 0x30, 0x8D, 0x9F, 0x0B, 0x6F, 0xA8,
2400                     0x2E, 0x84, 0xCC, 0xC1, 0x50, 0x96, 0x46, 0xAE,
2401                     0x73, 0x91, 0x7D, 0xCD, 0x88, 0xAB, 0x67, 0x3F,
2402                     0x66, 0x3A, 0x8D, 0xB1, 0x89, 0x07, 0x93, 0xDB,
2403                     0x42, 0x22, 0xDC, 0x13, 0xBD, 0xCD, 0xBB, 0x12,
2404                     0x8D, 0x88, 0x44, 0x13, 0x22, 0x52, 0x81, 0xDC,
2405                     0xEF, 0xA1, 0xE4, 0xA3, 0xA7, 0xBA, 0xEE, 0x98,
2406                     0x79, 0x45, 0x29, 0x05, 0x65, 0x3D, 0xDC, 0xAF,
2407                     0xA1, 0x37, 0x29, 0xFD, 0x05, 0xD1, 0x3A, 0xF7,
2408                     0x32, 0x1D, 0x02, 0xEC, 0x28, 0x1E, 0x0F, 0x96,
2409                     0xF3, 0x21, 0x19, 0x5F, 0x49, 0xB9, 0xEA, 0x9A,
2410                     0xAD, 0x34, 0x58, 0xD1, 0xD9, 0xB1, 0x7D, 0xD2,
2411                     0xEA, 0xED, 0x74, 0xE8, 0x25, 0x9A, 0x7B, 0xC5,
2412                     0xC8, 0xD8, 0x76, 0xB6, 0xBC, 0x0B, 0x78, 0xCE,
2413                     0xD9, 0xA6, 0xBB, 0x2F, 0x79, 0xA4, 0x45, 0x05,
2414                     0x55, 0x6E, 0x20, 0x84, 0xEB, 0xC8, 0x70, 0xB0,
2415                     0x3A, 0x2D, 0x06, 0x98, 0x29, 0x10, 0xB8, 0xC5,
2416                     0xE9, 0xE4, 0xB6, 0xDE, 0x97, 0x9A, 0x0D, 0x8C,
2417                     0xB6, 0x22, 0x16, 0x59, 0xAB, 0xB5, 0xD7, 0x14,
2418                     0xAB, 0x08, 0x02, 0x27, 0x7B, 0xF7, 0x0E, 0xAC,
2419                     0xC5, 0xAC, 0x4D, 0x7F, 0xE5, 0x65, 0x51, 0x40,
2420                     0x44, 0x92, 0xB1, 0x6A, 0xB7, 0x00, 0x76, 0x89,
2421                     0x6E, 0x08, 0x5F, 0x45, 0x2B, 0x53, 0x86, 0x86,
2422                     0xA7, 0x85, 0xBC, 0x62, 0xAC, 0xAA, 0x82, 0x73,
2423                     0x0A, 0xEB, 0x35, 0x16, 0x95, 0x26, 0xAB, 0x9E,
2424                     0xE9, 0x64, 0x53, 0x99, 0x08, 0x31, 0xF5, 0x6B,
2425                     0x1F, 0xFE, 0x47, 0x4B, 0x09, 0x33, 0x4F, 0xBF,
2426                     0x1F, 0x0B, 0x4C, 0xB2, 0xB4, 0xA4, 0x17, 0xA9,
2427                     0xAD, 0xC5, 0x62, 0x7C, 0xF1, 0x1B, 0xAE, 0x46,
2428                     0xD3, 0xAC, 0xFD, 0x43, 0xFE, 0x79, 0xD0, 0x58,
2429                     0x2F, 0x6C, 0x9F, 0xD0, 0x65, 0xA4, 0x64, 0x03,
2430                     0xAF, 0x73, 0x46, 0x75, 0x7D, 0x49, 0x1B, 0x4C,
2431                     0xFA, 0x49, 0xD8, 0x9A, 0xCC, 0x59, 0xC6, 0xC7,
2432                     0xA1, 0x05, 0xC2, 0x32, 0xC8, 0x6C, 0x50, 0xA8,
2433                     0x06, 0x58, 0xBE, 0x6C, 0x7D, 0x22, 0xD6, 0x0D,
2434                     0x74, 0x40, 0xCE, 0xD6, 0x64, 0xD6, 0x47, 0xD0,
2435                     0xBF, 0xF1, 0x5C, 0x54, 0xF9, 0x06, 0x3F, 0x3D,
2436                     0x86, 0xBA, 0xF2, 0x0F, 0x5E, 0x2C, 0x01, 0xCC,
2437                     0xD9, 0xC7, 0xB1, 0x4A, 0xB3, 0xD7, 0x26, 0xCC,
2438                     0xC3, 0x7A, 0x74, 0x2C, 0xE1, 0x22, 0x65, 0xA0,
2439                     0x5B, 0xCA, 0xF4, 0xE1, 0x7D, 0xE1, 0x56, 0xFD,
2440                     0x94, 0x10, 0xC6, 0xA1, 0x4A, 0xE8, 0x6B, 0x34,
2441                     0x4E, 0x71, 0x60, 0x77, 0x0F, 0x03, 0xDD, 0xFF,
2442                     0xC8, 0x59, 0x54, 0x6C, 0xD4, 0x4A, 0x55, 0x24,
2443                     0x35, 0x21, 0x60, 0x73, 0xDF, 0x6F, 0xE7, 0x3C,
2444                     0xC2, 0xF0, 0xDA, 0xA9, 0xE5, 0x8C, 0xAC, 0xB6,
2445                     0xFD, 0x2E, 0xF7, 0xA0, 0x18, 0xA7, 0x55, 0x47,
2446                     0xD1, 0xCB, 0x9E, 0xAA, 0x58, 0x54, 0x3B, 0x37,
2447                     0x18, 0xB5, 0xC1, 0xBB, 0x41, 0x59, 0xE4, 0x28,
2448                     0x4A, 0x13, 0x90, 0x6A, 0xF7, 0xD1, 0xB3, 0x71,
2449                     0xB6, 0x6E, 0xF6, 0x5D, 0x2E, 0x0E, 0x6C, 0x4A,
2450                     0x7B, 0xF7, 0xB6, 0x21, 0xD4, 0xFC, 0x47, 0x8C,
2451                     0x9B, 0x0A, 0x90, 0xAC, 0x11, 0x52, 0x86, 0x07,
2452                     0x24, 0xDA, 0xA9, 0x49, 0x50, 0xD9, 0xDC, 0xE2,
2453                     0x19, 0x87, 0x73, 0x88, 0xC3, 0xE4, 0xED, 0xC9,
2454                     0x1C, 0xA8, 0x7E, 0x39, 0x48, 0x91, 0x10, 0xAB,
2455                     0xFC, 0x3C, 0x1E, 0xEE, 0x08, 0xA1, 0xB9, 0xB2,
2456                     0x02, 0x57, 0xB1, 0xD1, 0x35, 0x5E, 0x3D, 0x94,
2457                     0xFB, 0x36, 0x27, 0x1A, 0x0E, 0x75, 0xFC, 0xBC,
2458                     0xDB, 0xF3, 0xF5, 0x7C, 0x08, 0x39, 0xAA, 0xF4,
2459                     0x2E, 0xEE, 0xCF, 0xCD, 0x2D, 0x70, 0xB8, 0x84,
2460                     0xE6, 0x22, 0x5C, 0xC0, 0xB9, 0x33, 0xCB, 0x97,
2461                     0xA1, 0xA3, 0xEE, 0x93, 0x71, 0xCF, 0xC9, 0x21,
2462                     0x31, 0x7A, 0xEC, 0xE7, 0x70, 0xF2, 0xAA, 0x91,
2463                     0xAA, 0x48, 0xAD, 0xAC, 0x03, 0xB1, 0x26, 0x52,
2464                     0xBC, 0x65, 0x22, 0xA1, 0x09, 0x3D, 0xAB, 0x16,
2465                     0x08, 0xBF, 0xCF, 0x3F, 0x59, 0x08, 0x6F, 0x68,
2466                     0xEB, 0x8A, 0xB3, 0xCF, 0x77, 0x82, 0xFB, 0x25,
2467                     0x78, 0x16, 0x4C, 0xDB, 0x72, 0xF5, 0xCF, 0x79,
2468                     0x71, 0xE4, 0x4E, 0x23, 0x15, 0x7F, 0x1E, 0xA8,
2469                     0x3E, 0xC0, 0x59, 0x91, 0x20, 0xAE, 0x2C, 0x1D,
2470                     0x90, 0xC8, 0x49, 0x42, 0x48, 0x29, 0x82, 0x66,
2471                     0x68, 0x49, 0x73, 0xDA, 0xE4, 0x28, 0xCD, 0x7B,
2472                     0x4D, 0xE4, 0x23, 0x34, 0xB9, 0xE1, 0xB4, 0x42,
2473                     0x67, 0x22, 0x5B, 0xEE, 0xE6, 0x74, 0x32, 0x6F,
2474                     0x21, 0x9F, 0x97, 0x46, 0x03, 0xE1, 0xC9, 0x7A,
2475                     0x14, 0x27, 0x30, 0xE1, 0xB2, 0x34, 0xE6, 0xAF,
2476                     0x7B, 0xAA, 0xDD, 0x89, 0x04, 0x30, 0xD6, 0x78,
2477                     0x0B, 0x3D, 0xC3, 0x69, 0xB0, 0x67, 0x4F, 0x4E,
2478                     0x12, 0x21, 0x93, 0x2D, 0x79, 0xDD, 0x8B, 0xDB,
2479                     0xEA, 0x90, 0x66, 0x54, 0xA8, 0x05, 0xF2, 0xE4,
2480                     0x59, 0x8A, 0x96, 0x52, 0x30, 0xF0, 0x4E, 0x9A,
2481                     0xE5, 0xD8, 0x72, 0x1C, 0x3B, 0x63, 0x02, 0xB9,
2482                     0xC7, 0xA1, 0xDA, 0xC8, 0x6C, 0x48, 0xE0, 0xDE,
2483                     0x59, 0x64, 0x89, 0x2C, 0xF9, 0xC8, 0x3B, 0x00,
2484                     0xEC, 0xF2, 0x68, 0x51, 0x67, 0x05, 0x85, 0xAF,
2485                     0xB8, 0xD5, 0x65, 0xEE, 0x73, 0x26, 0x88, 0xFB,
2486                     0xA9, 0xD6, 0x6C, 0x68, 0x9D, 0x9F, 0x23, 0x6A,
2487                     0x10, 0x24, 0x82, 0xB2, 0xB7, 0x40, 0x19, 0x3E,
2488                     0x6F, 0xA2, 0xD5, 0x2C, 0x6E, 0x8D, 0xE9, 0x33,
2489                     0x6E, 0x24, 0x94, 0x05, 0xE9, 0x2D, 0xD9, 0x3A,
2490                     0x8C, 0xE5, 0xCC, 0x1D, 0x3F, 0xB8, 0x71, 0xA8,
2491                     0x98, 0x33, 0xBB, 0x1A, 0xAC, 0x41, 0x0A, 0x04,
2492                     0xFE, 0x4D, 0x46, 0x17, 0x8A, 0xCB, 0xF3, 0x4B,
2493                     0x97, 0x02, 0xCC, 0x9D, 0x11, 0xF1, 0xBC, 0xA9,
2494                     0xC1, 0xD1, 0xB6, 0xD6, 0x7B, 0x5F, 0x9D, 0x22,
2495                     0x86, 0x71, 0xEC, 0x42, 0x53, 0xB7, 0x85, 0x30,
2496                     0xAF, 0x1D, 0x01, 0xA7, 0xBF, 0x72, 0xC2, 0xC6,
2497                     0xC9, 0xB8, 0xD8, 0xC7, 0xE9, 0xC4, 0xBA, 0xC5,
2498                     0xB1, 0x8A, 0xB8, 0x62, 0xBF, 0x75, 0x75, 0x69,
2499                     0xF8, 0x8D, 0x7E, 0xD9, 0xD2, 0x28, 0xB5, 0x40,
2500                     0xCE, 0xCB, 0xB8, 0x74, 0x31, 0x40, 0x7B, 0x0D,
2501                     0x73, 0x98, 0x99, 0x12, 0xB7, 0x75, 0x3E, 0xBC,
2502                     0xAE, 0x48, 0xCA, 0xA9, 0x1E, 0xA7, 0x95, 0x31,
2503                     0x87, 0x0F, 0x14, 0x52, 0xB6, 0x8E, 0x42, 0x50,
2504                     0xB2, 0x76, 0x75, 0xD8, 0x7E, 0x66, 0x23, 0x13,
2505                     0x8B, 0x29, 0xAA, 0x13, 0xCA, 0x8A, 0xD8, 0x9B,
2506                     0x7B, 0x38, 0xD2, 0xE8, 0x67, 0xD1, 0x89, 0x25,
2507                     0x9C, 0x63, 0x2F, 0xC3, 0x26, 0xC7, 0x74, 0x83,
2508                     0x05, 0xED, 0x67, 0x02, 0x85, 0xAD, 0x1D, 0x0E,
2509                     0xA9, 0xD6, 0xE1, 0xC7, 0x39, 0xA0, 0x6E, 0x72,
2510                     0xCE, 0x56, 0x6C, 0xB8, 0x4A, 0xDE, 0x11, 0xA2,
2511                     0xBF, 0xC1, 0x84, 0x98, 0x8F, 0xCA, 0x79, 0x74,
2512                     0xCA, 0x9F, 0x45, 0x16, 0xBC, 0xB1, 0xF4, 0x03,
2513                     0x76, 0x6E, 0xD5, 0x46, 0x60, 0xD7, 0x1D, 0xF0,
2514                     0x87, 0x29, 0x63, 0x07, 0x06, 0xB9, 0xC2, 0x69,
2515                     0x6D, 0xF9, 0x4B, 0x30, 0x96, 0x83, 0xB8, 0xC5,
2516                     0xBE, 0x3A, 0xBA, 0xD0, 0x3E, 0x2B, 0x04, 0x16,
2517                     0x6A, 0x00, 0x3B, 0x1A, 0x8E, 0xF8, 0xF6, 0x21,
2518                     0x01, 0xD6, 0x08, 0x41, 0x74, 0xA2, 0xFC, 0x36,
2519                     0xED, 0x11, 0x51, 0x5A, 0x4A, 0x21, 0x1A, 0x03,
2520                     0x11, 0x95, 0x11, 0xF6, 0x73, 0x38, 0x67, 0xFC,
2521                     0xF1, 0x2B, 0x22, 0x54, 0x65, 0x40, 0x7D, 0x8C,
2522                     0x13, 0xC4, 0x46, 0x87, 0x09, 0x2B, 0xB5, 0xA1,
2523                     0x82, 0x49, 0x46, 0x56, 0xF5, 0x5F, 0xF1, 0x04,
2524                     0xD8, 0x6F, 0xDB, 0x38, 0xAD, 0xF4, 0x1A, 0xA3,
2525                     0xFF, 0x7C, 0xC7, 0xA6, 0xAF, 0x87, 0x5C, 0x8C,
2526                     0xEA, 0x3C, 0x9D, 0x7A, 0x4A, 0xD8, 0xA8, 0x66,
2527                     0xDB, 0xBF, 0x12, 0x58, 0x98, 0x8E, 0xBA, 0x6F,
2528                     0xAF, 0x20, 0xDA, 0xEE, 0x82, 0x34, 0x2F, 0x33,
2529                     0x88, 0x98, 0xBA, 0xB2, 0x54, 0x7F, 0x9E, 0x63,
2530                     0x19, 0x6C, 0x7D, 0xCE, 0x85, 0xF8, 0xB6, 0x77,
2531                     0xCB, 0x38, 0x1F, 0xB1, 0x79, 0xBD, 0xED, 0x32,
2532                     0xE3, 0xB9, 0x40, 0xEF, 0x3E, 0x6C, 0x29, 0x88,
2533                     0x70, 0x99, 0x47, 0xA6, 0x4A, 0x1C, 0xCC, 0x0B,
2534                     0x9B, 0x72, 0xA9, 0x29, 0x83, 0x4C, 0xDE, 0x4F,
2535                     0x65, 0x4E, 0xCE, 0xBD, 0xFA, 0x76, 0x8D, 0xA6,
2536                     0x1A, 0xD8, 0x66, 0xFE, 0xA4, 0x2A, 0x61, 0x50,
2537                     0xEE, 0x15, 0xF1, 0xF0, 0x9D, 0xFF, 0xEC, 0xEE,
2538                     0x00, 0x03, 0xFE, 0xAC, 0x53, 0x02, 0xCC, 0x87,
2539                     0xB1, 0xA2, 0xD8, 0x34, 0x2C, 0xEC, 0xA6, 0x4C,
2540                     0x02, 0xC0, 0xC1, 0x72, 0xD6, 0x54, 0x35, 0x24,
2541                     0x25, 0x8B, 0xEC, 0xDA, 0x47, 0x5F, 0x5D, 0x7E,
2542                     0xD8, 0x01, 0x51, 0xDD, 0x8F, 0xB4, 0x48, 0xDD,
2543                     0x94, 0x99, 0x95, 0x77, 0xB3, 0x42, 0x14, 0xEB,
2544                     0x26, 0x61, 0xE9, 0x22, 0xE3, 0x07, 0x73, 0xFB,
2545                     0xEF, 0x38, 0x55, 0x35, 0x8F, 0xCC, 0x30, 0x1E,
2546                     0x38, 0xE0, 0x35, 0xF4, 0x9A, 0x7C, 0xCF, 0x38,
2547                     0x0B, 0x9E, 0xF4, 0x88, 0x4A, 0xEA, 0xF2, 0x67,
2548                     0x9F, 0x61, 0x40, 0x34, 0x09, 0xDC, 0xBF, 0xFB,
2549                     0x22, 0x27, 0x04, 0x8B, 0x8D, 0x85, 0x7F, 0xB2,
2550                     0x29, 0x62, 0x25, 0x73, 0x7F, 0x46, 0x2E, 0xA3,
2551                     0x8E, 0xAF, 0xEC, 0x55, 0x98, 0x1A, 0xEE, 0x29,
2552                     0xA0, 0x1A, 0x5F, 0xFE, 0x5D, 0xA5, 0x76, 0x93,
2553                     0xAB, 0x57, 0x56, 0xEA, 0xDB, 0x39, 0xAC, 0x48,
2554                     0xBE, 0x95, 0x92, 0x2B, 0xC6, 0xE1, 0x2F, 0x36,
2555                     0x4B, 0x08, 0x01, 0x90, 0x50, 0xD8, 0xFA, 0xF9,
2556                     0x94, 0x4E, 0x76, 0x9B, 0x72, 0x59, 0xC2, 0x2F,
2557                     0x61, 0x04, 0x0A, 0x9E, 0x28, 0xE5, 0x24, 0x1E,
2558                     0x79, 0xCF, 0x8D, 0xB6, 0x52, 0xA7, 0x79, 0x5F,
2559                     0x44, 0x98, 0xD5, 0x0E, 0x6E, 0x4B, 0x64, 0x9B,
2560                 },
2561                 .len = 2048
2562         },
2563         .auth_tags[0] = {
2564                 .size = 64,
2565                 .data = { 0x4d, 0x5c, 0x2a, 0xf3, 0x27, 0xcd, 0x64, 0xa6,
2566                         0x2c, 0xf3, 0x5a, 0xbd, 0x2b, 0xa6, 0xfa, 0xb4 },
2567                 .len = 16
2568         },
2569         .auth_tags[1] = {
2570                 .size = 128,
2571                 .data = { 0xE9, 0xA9, 0x75, 0xB6, 0xEF, 0x6F, 0x8C, 0xF1,
2572                     0xB3, 0xA9, 0x19, 0xA4, 0xAE, 0x66, 0xBD, 0x9E },
2573                 .len = 16
2574         },
2575         .auth_tags[2] = {
2576                 .size = 256,
2577                 .data = { 0x29, 0xC3, 0x18, 0x96, 0x54, 0xCB, 0xF5, 0xAA,
2578                     0x4E, 0x62, 0xB6, 0xFF, 0x45, 0xA6, 0x18, 0x0C },
2579                 .len = 16
2580         },
2581         .auth_tags[3] = {
2582                 .size = 512,
2583                 .data = { 0x3B, 0xD7, 0xC3, 0x5F, 0xE4, 0x1B, 0xC2, 0xBC,
2584                     0xE9, 0xAC, 0xF2, 0xCE, 0xA7, 0x7B, 0x1D, 0x70 },
2585                 .len = 16
2586         },
2587         .auth_tags[4] = {
2588                 .size = 1024,
2589                 .data = { 0xCC, 0xBB, 0xBC, 0xCF, 0x86, 0x01, 0x4D, 0x93,
2590                     0x4B, 0x68, 0x55, 0x19, 0xA1, 0x40, 0xCD, 0xEA },
2591                 .len = 16
2592         },
2593         .auth_tags[5] = {
2594                 .size = 1536,
2595                 .data = { 0x67, 0x31, 0x11, 0xA2, 0x58, 0xB5, 0x1C, 0x23,
2596                     0xC0, 0x41, 0x05, 0x30, 0xC6, 0xBA, 0xFA, 0x88 },
2597                 .len = 16
2598         },
2599         .auth_tags[6] = {
2600                 .size = 2048,
2601                 .data = { 0x03, 0x9C, 0x6B, 0xB9, 0x57, 0xBF, 0x6E, 0x86,
2602                         0x3A, 0x09, 0x5F, 0x08, 0xA9, 0xE4, 0xF2, 0x1F },
2603                 .len = 16
2604         },
2605         .auth_tag = {
2606                 .data = {
2607                     0x03, 0x9C, 0x6B, 0xB9, 0x57, 0xBF, 0x6E, 0x86,
2608                     0x3A, 0x09, 0x5F, 0x08, 0xA9, 0xE4, 0xF2, 0x1F
2609                 },
2610                 .len = 16
2611         },
2612 };
2613
2614 static const struct gmac_test_data gmac_test_case_4 = {
2615         .key = {
2616                 .data = {
2617                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2618                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08
2619                 },
2620                 .len = 16
2621         },
2622         .iv = {
2623                 .data = {
2624                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
2625                         0xde, 0xca, 0xf8, 0x88
2626                 },
2627                 .len = 12
2628         },
2629         .plaintext = {
2630                 .data = gmac_plaintext,
2631                 .len = GMAC_LARGE_PLAINTEXT_LENGTH
2632         },
2633         .gmac_tag = {
2634                 .data = {
2635                         0x3f, 0x07, 0xcb, 0xb9, 0x86, 0x3a, 0xea, 0xc2,
2636                         0x2f, 0x3a, 0x2a, 0x93, 0xd8, 0x09, 0x6b, 0xda
2637                 },
2638                 .len = 16
2639         }
2640 };
2641
2642 static const struct aead_test_data gcm_test_case_SGL_1 = {
2643         .algo = RTE_CRYPTO_AEAD_AES_GCM,
2644         .key = {
2645                 .data = {
2646                         0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
2647                         0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08 },
2648                 .len = 16
2649         },
2650         .iv = {
2651                 .data = {
2652                         0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
2653                         0xde, 0xca, 0xf8, 0x88 },
2654                 .len = 12
2655         },
2656         .aad = {
2657                 .data = gcm_aad_zero_text,
2658                 .len = 0
2659         },
2660         .plaintext = {
2661                 .data = {
2662                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2663                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2664                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2665                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2666                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2667                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2668                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2669                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2670                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2671                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2672                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2673                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2674                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2675                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2676                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2677                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2678                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2679                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2680                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2681                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2682                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2683                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2684                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2685                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53,
2686                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2687                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2688                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2689                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2690                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2691                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2692                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2693                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2694                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2695                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2696                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2697                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2698                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2699                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2700                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2701                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2702                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2703                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2704                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2705                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2706                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2707                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2708                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2709                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2710                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2711                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2712                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2713                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2714                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2715                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2716                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2717                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2718                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2719                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2720                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2721                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2722                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2723                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2724                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2725                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2726                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2727                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2728                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53,
2729                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2730                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2731                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2732                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2733                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2734                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2735                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2736                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2737                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2738                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2739                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2740                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2741                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2742                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2743                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2744                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2745                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2746                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2747                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2748                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2749                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2750                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2751                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2752                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2753                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2754                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2755                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2756                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2757                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2758                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2759                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2760                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2761                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2762                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2763                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2764                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2765                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2766                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2767                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2768                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2769                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2770                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2771                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53,
2772                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2773                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2774                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2775                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2776                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2777                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2778                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2779                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2780                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2781                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2782                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2783                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2784                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2785                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2786                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2787                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2788                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2789                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2790                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2791                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2792                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2793                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2794                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2795                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2796                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2797                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2798                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2799                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2800                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2801                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2802                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2803                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2804                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2805                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2806                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2807                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2808                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2809                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2810                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2811                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2812                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2813                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53,
2814                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2815                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2816                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2817                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2818                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2819                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2820                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2821                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2822                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2823                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2824                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2825                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2826                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2827                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2828                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2829                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2830                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2831                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2832                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2833                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2834                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2835                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2836                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2837                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2838                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2839                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2840                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2841                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2842                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2843                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2844                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2845                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2846                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2847                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2848                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2849                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2850                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2851                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2852                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2853                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2854                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2855                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2856                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53,
2857                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2858                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2859                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2860                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2861                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2862                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2863                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2864                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2865                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2866                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2867                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2868                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2869                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2870                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2871                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2872                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2873                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2874                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2875                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2876                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2877                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2878                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2879                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2880                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2881                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2882                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2883                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2884                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2885                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2886                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2887                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2888                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2889                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2890                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2891                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2892                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2893                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2894                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2895                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2896                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2897                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2898                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2899                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53,
2900                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2901                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2902                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2903                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2904                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2905                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2906                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2907                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2908                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2909                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2910                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2911                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2912                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2913                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2914                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2915                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2916                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2917                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2918                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2919                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2920                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2921                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2922                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2923                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2924                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2925                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2926                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2927                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2928                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2929                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2930                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2931                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2932                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2933                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2934                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2935                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2936                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2937                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2938                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2939                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2940                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2941                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53,
2942                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2943                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2944                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2945                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2946                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2947                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2948                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2949                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2950                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2951                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2952                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2953                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2954                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2955                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2956                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2957                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2958                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2959                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2960                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2961                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2962                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
2963                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2964                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2965                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2966                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2967                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2968                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
2969                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2970                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
2971                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2972                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2973                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2974                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2975                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2976                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2977                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2978                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
2979                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2980                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2981                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2982                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2983                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2984                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53,
2985                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2986                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2987                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2988                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
2989                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2990                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2991                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2992                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2993                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
2994                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
2995                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
2996                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
2997                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
2998                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
2999                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
3000                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3001                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
3002                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3003                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3004                         0xd9, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3005                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9a,
3006                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3007                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3008                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3009                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3010                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3011                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x55,
3012                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3013                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
3014                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3015                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3016                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3017                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3018                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3019                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
3020                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3021                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
3022                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3023                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3024                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3025                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3026                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3027                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x53,
3028                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3029                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3030                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
3031                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3032                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3033                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3034                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3035                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3036                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3037                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3038                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3039                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3040                         0xba, 0x63, 0x7b, 0x39, 0x1a, 0xaf, 0xd2, 0x54,
3041                         0xd7, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3042                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9c,
3043                         0xd8, 0x31, 0x32, 0x25, 0xf8, 0x84, 0x06, 0xe5,
3044                         0xa5, 0x59, 0x09, 0xc5, 0xaf, 0xf5, 0x26, 0x9b,
3045                         0x86, 0xa7, 0xa9, 0x53, 0x15, 0x34, 0xf7, 0xda,
3046                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3047                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3048                         0x2e, 0x4c, 0x30, 0x3d, 0x8a, 0x31, 0x8a, 0x72,
3049                         0x1c, 0x3c, 0x0c, 0x95, 0x95, 0x68, 0x09, 0x53,
3050                         0x2f, 0xcf, 0x0e, 0x24, 0x49, 0xa6, 0xb5, 0x25,
3051                         0xb1, 0x6a, 0xed, 0xf5, 0xaa, 0x0d, 0xe6, 0x57,
3052
3053                 },
3054                 .len = 3120
3055         },
3056                 .ciphertext = {
3057                         .data = {
3058                         0x42, 0x83, 0x1E, 0xC2, 0x21, 0x77, 0x74, 0x24,
3059                         0x4B, 0x72, 0x21, 0xB7, 0x84, 0xD0, 0xD4, 0x9C,
3060                         0xE3, 0xAA, 0x21, 0x2F, 0x2C, 0x02, 0xA4, 0xE0,
3061                         0x35, 0xC1, 0x7E, 0x23, 0x29, 0xAC, 0xA1, 0x2E,
3062                         0x21, 0xD5, 0x14, 0xB2, 0x54, 0x66, 0x93, 0x1C,
3063                         0x7D, 0x8F, 0x6A, 0x5A, 0xAC, 0x84, 0xAA, 0x05,
3064                         0x1B, 0xA3, 0x0B, 0x39, 0x6A, 0x0A, 0xAC, 0x97,
3065                         0x3D, 0x58, 0xE0, 0x91, 0x47, 0x3F, 0x59, 0x85,
3066                         0x05, 0x99, 0x55, 0xE1, 0x36, 0x76, 0xB7, 0x14,
3067                         0x1D, 0xF0, 0xF6, 0x8C, 0x65, 0xD5, 0xAD, 0xFA,
3068                         0x90, 0x7F, 0x5D, 0xA2, 0xD6, 0xFD, 0xD0, 0xE5,
3069                         0x0D, 0x9B, 0x68, 0x21, 0x49, 0x42, 0x6E, 0x13,
3070                         0xEC, 0x22, 0x50, 0x2A, 0x30, 0x47, 0x49, 0xA1,
3071                         0x7F, 0xC3, 0x09, 0xE0, 0x56, 0x91, 0xC4, 0x54,
3072                         0x70, 0xD7, 0x19, 0x40, 0xCA, 0x6B, 0x65, 0x27,
3073                         0x3E, 0xE9, 0xD1, 0x0F, 0x1C, 0xB5, 0x45, 0x0C,
3074                         0x29, 0xE7, 0xCF, 0x94, 0x10, 0xBF, 0xA2, 0xFA,
3075                         0x86, 0x20, 0x3F, 0x6E, 0xE9, 0x95, 0x03, 0x5C,
3076                         0x46, 0x11, 0x75, 0xD5, 0x37, 0x71, 0x7F, 0xE0,
3077                         0xBC, 0x9F, 0xC8, 0xE9, 0xB1, 0x08, 0x2C, 0x59,
3078                         0x6E, 0x51, 0x4A, 0x83, 0x38, 0xC1, 0xED, 0xE2,
3079                         0x2E, 0x88, 0x90, 0xA5, 0x7D, 0xA4, 0x93, 0x9A,
3080                         0x30, 0xD6, 0x96, 0x34, 0x0F, 0xC4, 0xD1, 0x7E,
3081                         0xC9, 0x8F, 0xC5, 0xBB, 0x80, 0x50, 0x85, 0x73,
3082                         0x8B, 0x7C, 0x0A, 0xDA, 0xD3, 0x37, 0x1C, 0x8B,
3083                         0x1E, 0xAE, 0x29, 0x54, 0x05, 0x53, 0x48, 0xE5,
3084                         0x94, 0xF1, 0xC5, 0x1A, 0x60, 0xDC, 0x61, 0x43,
3085                         0xCD, 0x45, 0x4C, 0x6B, 0x95, 0xAD, 0x52, 0xE0,
3086                         0x9E, 0xD1, 0x4E, 0xCC, 0x03, 0x27, 0x50, 0xD4,
3087                         0xEB, 0xBD, 0x71, 0xA6, 0xD0, 0x2B, 0x23, 0xC0,
3088                         0x9E, 0x5F, 0x34, 0xFD, 0xDE, 0xC1, 0x43, 0x35,
3089                         0x77, 0xFB, 0xFD, 0xDF, 0xA0, 0x28, 0x42, 0x3B,
3090                         0x0F, 0x2D, 0x31, 0xB4, 0x7A, 0xA8, 0x2F, 0xDF,
3091                         0x58, 0xB5, 0x00, 0x19, 0x8D, 0xEB, 0x2C, 0xBB,
3092                         0xAE, 0xAD, 0x74, 0x7F, 0x25, 0xAA, 0x24, 0x3E,
3093                         0xCD, 0x89, 0x5E, 0x05, 0xD3, 0xBA, 0x0E, 0x9A,
3094                         0x34, 0x7B, 0xE0, 0x11, 0xD2, 0xBA, 0x5A, 0x51,
3095                         0xB4, 0x0D, 0xEE, 0x61, 0x73, 0xFC, 0xD2, 0x01,
3096                         0x2D, 0x52, 0x3E, 0x37, 0x55, 0x3F, 0x58, 0xA8,
3097                         0x1C, 0x8F, 0x1D, 0xD6, 0x3C, 0x39, 0x06, 0x18,
3098                         0x65, 0x60, 0x55, 0x19, 0xAD, 0x1E, 0x78, 0xE9,
3099                         0xF7, 0xF5, 0xFC, 0xCD, 0x5F, 0xF1, 0x34, 0x0C,
3100                         0xA6, 0xFD, 0x1E, 0x9E, 0xB3, 0xCE, 0x2E, 0x10,
3101                         0xFB, 0x98, 0xDD, 0x0E, 0x09, 0x5D, 0x4E, 0x58,
3102                         0x75, 0x9A, 0x54, 0x74, 0xFB, 0x40, 0x76, 0x55,
3103                         0x0E, 0x3E, 0xA4, 0xCE, 0x56, 0xA5, 0xE0, 0x53,
3104                         0xB7, 0xAD, 0x36, 0x99, 0x6E, 0xCD, 0xC2, 0x90,
3105                         0x6E, 0xEA, 0xBC, 0x21, 0xAC, 0x31, 0xFF, 0x2B,
3106                         0x00, 0xA7, 0x5E, 0xC1, 0x7A, 0xF1, 0xAB, 0x24,
3107                         0xA3, 0x40, 0x0B, 0xEB, 0x16, 0x62, 0x35, 0x1E,
3108                         0xE9, 0xA5, 0xD3, 0x7E, 0xAA, 0x7E, 0x28, 0xA8,
3109                         0x3F, 0xD8, 0x0A, 0x04, 0x12, 0x0F, 0xFF, 0x68,
3110                         0x10, 0x85, 0x22, 0xD6, 0x05, 0x6A, 0x3A, 0xCB,
3111                         0xC0, 0xCF, 0x8C, 0x20, 0xF0, 0x34, 0x32, 0xAA,
3112                         0x76, 0x93, 0xE2, 0x23, 0x4F, 0xF2, 0xE6, 0x84,
3113                         0x3B, 0xD4, 0xF3, 0x5D, 0xF3, 0x17, 0xEE, 0x27,
3114                         0x67, 0xC3, 0x01, 0x6F, 0x32, 0xDE, 0xF6, 0xF6,
3115                         0x87, 0xE9, 0x82, 0xEF, 0x1F, 0xA1, 0xE2, 0x68,
3116                         0xF8, 0x5D, 0x49, 0x92, 0x47, 0x01, 0x75, 0x87,
3117                         0x52, 0xD3, 0x54, 0xAE, 0x3B, 0xB7, 0xB2, 0x07,
3118                         0x0F, 0x62, 0x7B, 0xF7, 0x50, 0x97, 0x9A, 0x4A,
3119                         0x98, 0x65, 0x23, 0xA3, 0x5D, 0x76, 0x0A, 0x9C,
3120                         0x6C, 0xE7, 0x89, 0xAD, 0x86, 0x70, 0xE7, 0x16,
3121                         0x5F, 0x2F, 0x2E, 0x97, 0x29, 0x31, 0xF0, 0x60,
3122                         0x33, 0x2C, 0xD7, 0xAA, 0xD6, 0xF0, 0x50, 0xB8,
3123                         0xBD, 0x29, 0xA8, 0xA9, 0xAC, 0x5E, 0x0A, 0x3A,
3124                         0x59, 0x34, 0x9A, 0x92, 0x25, 0x71, 0xB3, 0x16,
3125                         0xC5, 0xD3, 0xA4, 0x15, 0x75, 0x9A, 0xB5, 0x78,
3126                         0x6E, 0xCF, 0xAF, 0xC0, 0x39, 0x28, 0x44, 0x21,
3127                         0xBB, 0xE8, 0x32, 0xAB, 0xCB, 0xF8, 0x4B, 0xE7,
3128                         0x63, 0x9C, 0x56, 0xE7, 0xB2, 0xD6, 0x23, 0x17,
3129                         0xDE, 0x92, 0xE9, 0x22, 0xC3, 0x36, 0xA5, 0xAC,
3130                         0xA9, 0x98, 0x34, 0xAA, 0xFB, 0x03, 0x33, 0x33,
3131                         0xBE, 0xD8, 0x22, 0x7F, 0xFA, 0x34, 0xA0, 0x35,
3132                         0xC8, 0xA0, 0xDC, 0x35, 0x82, 0x06, 0x58, 0xE6,
3133                         0xBF, 0x7C, 0x4F, 0x63, 0x5D, 0x62, 0x64, 0x67,
3134                         0x0D, 0x07, 0x7F, 0x24, 0x4A, 0x23, 0xBC, 0x35,
3135                         0xE0, 0x92, 0x6F, 0x51, 0xE7, 0x25, 0x97, 0xB9,
3136                         0x14, 0x35, 0x2B, 0x48, 0xAC, 0x6F, 0x54, 0xDF,
3137                         0xF2, 0xB4, 0xB0, 0xE0, 0xD3, 0x28, 0x0D, 0x67,
3138                         0x48, 0x28, 0x0A, 0x16, 0x9C, 0x87, 0x73, 0xB7,
3139                         0x9C, 0x2B, 0xB5, 0x43, 0xC9, 0x46, 0xB9, 0x19,
3140                         0x01, 0xAA, 0xDE, 0x75, 0xA6, 0x0F, 0xB5, 0x72,
3141                         0x6A, 0x51, 0xE3, 0xAC, 0xE0, 0xF6, 0x96, 0x13,
3142                         0xBB, 0xC7, 0x08, 0x13, 0x9E, 0x47, 0xAA, 0xF5,
3143                         0x9E, 0x69, 0xAC, 0x95, 0x29, 0xFE, 0xFF, 0x99,
3144                         0xB2, 0x52, 0x72, 0x45, 0xF2, 0x07, 0xEB, 0x3C,
3145                         0x0F, 0x75, 0x29, 0x73, 0x0D, 0x77, 0x58, 0x83,
3146                         0xCB, 0xDD, 0xE7, 0x68, 0x1C, 0xE3, 0xD1, 0xA4,
3147                         0x5D, 0xD1, 0xAB, 0xB4, 0x5A, 0x3F, 0x27, 0x66,
3148                         0xDA, 0xB4, 0x81, 0x65, 0xCE, 0x1A, 0x9A, 0x7D,
3149                         0xC7, 0xB6, 0x31, 0xDE, 0x83, 0xC2, 0x7C, 0xF8,
3150                         0xD3, 0xC7, 0x97, 0x28, 0x50, 0xF2, 0x95, 0xFC,
3151                         0xA7, 0xB2, 0xA6, 0x46, 0xEF, 0x10, 0xD2, 0x38,
3152                         0x93, 0x14, 0x8D, 0xA7, 0x09, 0x17, 0x42, 0x7A,
3153                         0x85, 0xB9, 0x42, 0x71, 0x2A, 0x51, 0x9B, 0x66,
3154                         0x71, 0x12, 0x57, 0xB7, 0xBD, 0x26, 0xB7, 0x91,
3155                         0xF8, 0x84, 0x44, 0x35, 0xAD, 0x6F, 0xCB, 0xD7,
3156                         0xFC, 0xA1, 0x28, 0x77, 0x09, 0x5B, 0x6D, 0x52,
3157                         0x43, 0xA1, 0xE2, 0x0A, 0x7E, 0x5A, 0x84, 0x45,
3158                         0x20, 0xDE, 0xA5, 0x73, 0x1D, 0x37, 0x6E, 0xD8,
3159                         0x7A, 0x0D, 0x91, 0xBE, 0xF4, 0xB3, 0x89, 0xE9,
3160                         0x1F, 0x1E, 0xF6, 0xD5, 0x37, 0xB4, 0x3C, 0x1D,
3161                         0xBE, 0x0D, 0x5B, 0x01, 0xB0, 0x8B, 0xCE, 0x3E,
3162                         0x6D, 0x8B, 0x99, 0x9A, 0xC5, 0xAE, 0xFE, 0xA9,
3163                         0x78, 0x34, 0x20, 0xA7, 0x6C, 0x7D, 0x46, 0x72,
3164                         0x37, 0xAF, 0xFD, 0x17, 0x59, 0xED, 0x83, 0x5B,
3165                         0xEB, 0x6E, 0x4A, 0xF1, 0xE6, 0x0D, 0x44, 0x92,
3166                         0x65, 0x8E, 0x97, 0xD6, 0x83, 0x6E, 0x97, 0xCA,
3167                         0x4C, 0x0A, 0xCE, 0x32, 0x2A, 0xAD, 0x22, 0x73,
3168                         0xCB, 0xCB, 0xC3, 0x55, 0x08, 0x63, 0x23, 0xC2,
3169                         0x31, 0x24, 0x90, 0x54, 0x99, 0xB2, 0x8C, 0xC7,
3170                         0x8A, 0xB6, 0xFF, 0xC2, 0x75, 0xB1, 0xD9, 0x3D,
3171                         0x95, 0xDC, 0xB6, 0xCF, 0x11, 0x74, 0x06, 0x54,
3172                         0x03, 0xE3, 0x9B, 0x49, 0xE4, 0xF2, 0x73, 0x04,
3173                         0xF7, 0xDC, 0x71, 0xD7, 0xFA, 0x3C, 0xD2, 0x61,
3174                         0x77, 0x61, 0xB3, 0xDB, 0x6B, 0xCE, 0xCA, 0xFF,
3175                         0xF0, 0xAD, 0xBC, 0x94, 0xC8, 0xF8, 0xD5, 0xF4,
3176                         0x38, 0xA3, 0x61, 0xAA, 0x8C, 0x96, 0xEE, 0x56,
3177                         0xAC, 0xB4, 0x42, 0xBA, 0x1A, 0xE1, 0x70, 0x98,
3178                         0x1F, 0x9A, 0x6F, 0x98, 0xB9, 0x13, 0x46, 0xAB,
3179                         0x0B, 0xCD, 0xA3, 0x7B, 0x0C, 0xCB, 0x8F, 0x72,
3180                         0x23, 0xCF, 0x9E, 0xD8, 0xBB, 0x3F, 0x32, 0x27,
3181                         0x54, 0xB8, 0x60, 0x64, 0x83, 0xAE, 0x22, 0xD1,
3182                         0x6A, 0xC9, 0xF8, 0x13, 0xC4, 0xE4, 0xFF, 0x97,
3183                         0xD8, 0x92, 0xA3, 0xD1, 0xD4, 0x86, 0xD7, 0xC3,
3184                         0xBB, 0x40, 0xA2, 0x45, 0x78, 0xB1, 0xDB, 0x80,
3185                         0xC6, 0x8D, 0x0A, 0xF0, 0xC3, 0xC2, 0xE3, 0x48,
3186                         0xA1, 0x05, 0xC2, 0x32, 0xC8, 0x6C, 0x50, 0xA8,
3187                         0x06, 0x58, 0xBE, 0x6C, 0x7D, 0x22, 0xD6, 0x0D,
3188                         0x74, 0x40, 0xCE, 0xD6, 0x64, 0xD6, 0x47, 0xD0,
3189                         0xBF, 0xF1, 0x5C, 0x54, 0xF9, 0x06, 0x3F, 0x3D,
3190                         0x86, 0xBA, 0xF2, 0x0F, 0x5E, 0x2C, 0x01, 0xCC,
3191                         0xD9, 0xC7, 0xB1, 0x4A, 0xB3, 0xD7, 0x26, 0xCC,
3192                         0xC3, 0x7A, 0x74, 0x2C, 0xE1, 0x22, 0x65, 0xA0,
3193                         0x5B, 0xCA, 0xF4, 0xE1, 0x7D, 0xE1, 0x56, 0xFD,
3194                         0x95, 0x10, 0xC6, 0xA1, 0x4A, 0xE8, 0x6B, 0x34,
3195                         0x4E, 0x71, 0x60, 0x77, 0x0F, 0x03, 0xDD, 0xFE,
3196                         0xC8, 0x59, 0x54, 0x6C, 0xD4, 0x4A, 0x55, 0x24,
3197                         0x35, 0x21, 0x60, 0x73, 0xDF, 0x6F, 0xE7, 0x3C,
3198                         0xC2, 0xF0, 0xDA, 0xA9, 0xE5, 0x8C, 0xAC, 0xB6,
3199                         0xFD, 0x2E, 0xF7, 0xA0, 0x18, 0xA7, 0x55, 0x47,
3200                         0xD1, 0xCB, 0x9E, 0xAA, 0x58, 0x54, 0x3B, 0x37,
3201                         0x18, 0xB5, 0xC1, 0xBB, 0x41, 0x59, 0xE4, 0x29,
3202                         0x44, 0x13, 0x90, 0x6A, 0xF7, 0xD1, 0xB3, 0x71,
3203                         0xB6, 0x6E, 0xF6, 0x5D, 0x2E, 0x0E, 0x6C, 0x4C,
3204                         0x7B, 0xF7, 0xB6, 0x21, 0xD4, 0xFC, 0x47, 0x8C,
3205                         0x9B, 0x0A, 0x90, 0xAC, 0x11, 0x52, 0x86, 0x07,
3206                         0x24, 0xDA, 0xA9, 0x49, 0x50, 0xD9, 0xDC, 0xE2,
3207                         0x19, 0x87, 0x73, 0x88, 0xC3, 0xE4, 0xED, 0xC9,
3208                         0x1C, 0xA8, 0x7E, 0x39, 0x48, 0x91, 0x10, 0xAB,
3209                         0xFC, 0x3C, 0x1E, 0xEE, 0x08, 0xA1, 0xB9, 0xB4,
3210                         0xF4, 0xA9, 0x8D, 0xD0, 0x84, 0x7C, 0x8E, 0x54,
3211                         0xEF, 0x05, 0xC3, 0x2A, 0x0B, 0x8D, 0x3C, 0x71,
3212                         0xE7, 0x37, 0x27, 0x16, 0x07, 0xA2, 0x8F, 0x7A,
3213                         0x86, 0x05, 0x56, 0xA3, 0xB2, 0x75, 0xC5, 0x2C,
3214                         0xD4, 0x52, 0x60, 0x68, 0xA6, 0x6A, 0x48, 0xB6,
3215                         0x92, 0x50, 0xEC, 0x22, 0xAD, 0x01, 0x75, 0x57,
3216                         0xAF, 0xDF, 0x0F, 0x36, 0x93, 0x59, 0xF9, 0xE3,
3217                         0xA1, 0x41, 0x3B, 0x60, 0xB3, 0x13, 0x12, 0x50,
3218                         0x4B, 0x18, 0x20, 0xB9, 0x7B, 0x88, 0x27, 0x81,
3219                         0xB1, 0xDA, 0xCA, 0x6F, 0x63, 0x95, 0x40, 0xA1,
3220                         0x42, 0xE2, 0x14, 0xB8, 0x2B, 0x10, 0xB9, 0xDA,
3221                         0xE7, 0x30, 0x91, 0x13, 0x52, 0xC9, 0xA3, 0x5C,
3222                         0xD7, 0xBB, 0x39, 0x8F, 0x9A, 0xB8, 0xC5, 0xAF,
3223                         0xC6, 0x3E, 0x65, 0x90, 0x91, 0x8C, 0x9F, 0xDD,
3224                         0x84, 0xFB, 0xAD, 0x72, 0x4D, 0xD1, 0x42, 0xAD,
3225                         0x0A, 0x1B, 0x3A, 0xC6, 0x06, 0x03, 0x19, 0xCB,
3226                         0x31, 0x8C, 0x18, 0xD4, 0xEE, 0x90, 0x94, 0x3C,
3227                         0x44, 0xDC, 0xFB, 0x78, 0x5C, 0xB5, 0xE3, 0x2F,
3228                         0x89, 0x74, 0x0E, 0x28, 0x9C, 0xE4, 0xB4, 0xD2,
3229                         0xE3, 0x5A, 0x32, 0xF9, 0xC0, 0x81, 0x6A, 0x38,
3230                         0xC2, 0xCF, 0xD8, 0xD9, 0x3E, 0xAD, 0xF9, 0xB1,
3231                         0xA2, 0x55, 0x64, 0x1E, 0xEC, 0xF5, 0x0D, 0xB1,
3232                         0x8D, 0x07, 0x4E, 0xE5, 0x59, 0xE1, 0xE7, 0xFE,
3233                         0x4C, 0xCF, 0x11, 0xF8, 0x27, 0xC2, 0x29, 0xE2,
3234                         0xAF, 0x74, 0xAA, 0x53, 0x81, 0xD2, 0xFD, 0x5A,
3235                         0xF1, 0xEB, 0x96, 0x2C, 0x3E, 0x9B, 0xC2, 0x74,
3236                         0xFB, 0x65, 0x08, 0xA2, 0x63, 0xD3, 0xC5, 0x51,
3237                         0xAF, 0x19, 0x8B, 0x34, 0x8B, 0x7D, 0xB7, 0x97,
3238                         0x55, 0x97, 0x6D, 0x01, 0x5D, 0x98, 0xAA, 0x67,
3239                         0x11, 0xBD, 0xC2, 0x99, 0x2F, 0xB4, 0xCA, 0x04,
3240                         0x36, 0xF0, 0xB1, 0xA0, 0xBD, 0xA3, 0x4F, 0x4F,
3241                         0xB6, 0x7B, 0xF5, 0x1E, 0x38, 0x87, 0xC2, 0x38,
3242                         0x99, 0x5C, 0xE9, 0x2D, 0xDF, 0xAF, 0x5A, 0xF3,
3243                         0x7A, 0x17, 0x70, 0x35, 0xEC, 0xD5, 0x19, 0xF7,
3244                         0xB0, 0x21, 0x1E, 0x77, 0x30, 0x23, 0x54, 0x26,
3245                         0x61, 0x4E, 0xB9, 0x02, 0xDE, 0xF4, 0x86, 0x93,
3246                         0x47, 0x28, 0x43, 0x47, 0xB0, 0x56, 0xDC, 0x84,
3247                         0x3E, 0x6A, 0x6B, 0xEA, 0x4D, 0x63, 0xFE, 0x56,
3248                         0x5E, 0xF7, 0x6B, 0x1E, 0x5B, 0x63, 0xF1, 0x07,
3249                         0x20, 0x2E, 0x9B, 0xEE, 0xDC, 0x70, 0x5E, 0x36,
3250                         0x59, 0xE3, 0x3D, 0xA6, 0x0E, 0x50, 0x71, 0x06,
3251                         0xDD, 0x8B, 0x3C, 0xF7, 0xEC, 0x3C, 0x7A, 0x08,
3252                         0x8D, 0x4E, 0x6A, 0x08, 0xB0, 0xEE, 0x50, 0xE0,
3253                         0xF9, 0x0E, 0x40, 0xC0, 0x11, 0xBF, 0x8A, 0x17,
3254                         0x63, 0x9D, 0x59, 0x14, 0x0E, 0x25, 0x94, 0x09,
3255                         0xE6, 0x34, 0xEC, 0x0F, 0xE4, 0x7C, 0x59, 0xCD,
3256                         0x99, 0x85, 0x8E, 0x0F, 0xA1, 0x9E, 0x84, 0xBC,
3257                         0x13, 0x20, 0x5F, 0x56, 0x26, 0x10, 0x1A, 0x77,
3258                         0x77, 0x7B, 0x4B, 0x68, 0x13, 0x8A, 0x2C, 0xA5,
3259                         0x01, 0xBF, 0xAD, 0xF2, 0x2C, 0xD9, 0x4B, 0x24,
3260                         0x4C, 0xF5, 0x96, 0x4E, 0xD8, 0xE8, 0x98, 0xA8,
3261                         0x9C, 0x63, 0x2F, 0xC3, 0x26, 0xC7, 0x74, 0x83,
3262                         0x05, 0xED, 0x67, 0x02, 0x85, 0xAD, 0x1D, 0x0E,
3263                         0xA9, 0xD6, 0xE1, 0xC7, 0x39, 0xA0, 0x6E, 0x72,
3264                         0xCE, 0x56, 0x6C, 0xB8, 0x4A, 0xDE, 0x11, 0xA2,
3265                         0xBF, 0xC1, 0x84, 0x98, 0x8F, 0xCA, 0x79, 0x75,
3266                         0xC4, 0x9F, 0x45, 0x16, 0xBC, 0xB1, 0xF4, 0x03,
3267                         0x76, 0x6E, 0xD5, 0x46, 0x60, 0xD7, 0x1D, 0xF6,
3268                         0xD9, 0xBF, 0xF8, 0x71, 0xEB, 0x09, 0x33, 0x56,
3269                         0xE6, 0xEC, 0x72, 0xC8, 0xB3, 0x47, 0x14, 0x2C,
3270                         0x24, 0xA1, 0x1F, 0x16, 0xBE, 0x77, 0xFA, 0x9F,
3271                         0x6B, 0x83, 0x05, 0x03, 0x4D, 0x6F, 0xC9, 0x76,
3272                         0x69, 0x8D, 0xD7, 0x91, 0x26, 0x2B, 0x1C, 0x84,
3273                         0xF2, 0x2B, 0x23, 0xA6, 0xFF, 0x7B, 0xEE, 0xCC,
3274                         0x4E, 0x03, 0x8A, 0x80, 0x9E, 0x88, 0x96, 0xC3,
3275                         0x7A, 0x3E, 0x1B, 0xAC, 0x40, 0x84, 0xD1, 0x64,
3276                         0x89, 0x5F, 0xE3, 0x41, 0x89, 0x77, 0x4B, 0x28,
3277                         0x83, 0xCA, 0x78, 0x4F, 0x36, 0xC8, 0xCE, 0x53,
3278                         0x75, 0x39, 0x3A, 0x58, 0x92, 0x91, 0xF5, 0xA7,
3279                         0x6A, 0xD0, 0xB2, 0xBB, 0xFC, 0x8E, 0x3B, 0xFC,
3280                         0x83, 0x67, 0x42, 0xAA, 0x18, 0x51, 0x48, 0xD4,
3281                         0xC4, 0x85, 0x60, 0xA4, 0x2D, 0xD4, 0x4E, 0xA1,
3282                         0xF0, 0xB6, 0x41, 0x98, 0x6F, 0x84, 0xDE, 0x0C,
3283                         0x03, 0x8D, 0x83, 0x4A, 0x71, 0xBB, 0x32, 0x8B,
3284                         0x83, 0xF7, 0xD8, 0x08, 0x05, 0xA4, 0x48, 0xFE,
3285                         0xCA, 0xBB, 0x21, 0xA8, 0xBA, 0x2A, 0xD2, 0x65,
3286                         0x4E, 0xEF, 0xA1, 0x8F, 0x01, 0x09, 0xC6, 0x8C,
3287                         0xE5, 0x35, 0x32, 0xBB, 0x19, 0x15, 0xAB, 0x7A,
3288                         0xFD, 0x29, 0x76, 0xF9, 0xD1, 0xC5, 0x3E, 0xFD,
3289                         0x7A, 0x74, 0xBC, 0x41, 0x4F, 0x2C, 0x79, 0x6F,
3290                         0x45, 0x4E, 0xFD, 0x88, 0x49, 0x9A, 0x90, 0x6F,
3291                         0x65, 0x00, 0xC8, 0x08, 0xB8, 0x3B, 0x40, 0x06,
3292                         0x9A, 0x98, 0x5B, 0x6A, 0xD3, 0x5E, 0x32, 0x0E,
3293                         0xB0, 0x21, 0xE6, 0x2D, 0xEF, 0x7B, 0x99, 0x1B,
3294                         0xAF, 0x96, 0x20, 0x12, 0xE9, 0x31, 0xDA, 0x20,
3295                         0xB0, 0x27, 0x99, 0xC7, 0x14, 0x56, 0x3A, 0x08,
3296                         0x46, 0xA4, 0xB2, 0x0C, 0x6C, 0x1F, 0x1B, 0xAF,
3297                         0x9F, 0x90, 0x03, 0xBB, 0x03, 0xE0, 0x20, 0xE9,
3298                         0x45, 0x33, 0xA0, 0x3E, 0x01, 0x2C, 0xA7, 0x4A,
3299                         0xCC, 0xC6, 0xF5, 0xA3, 0x35, 0x0D, 0xE1, 0x5E,
3300                         0x90, 0x0B, 0xAC, 0x9A, 0x05, 0x79, 0xB2, 0x90,
3301                         0x39, 0xEE, 0xC8, 0x20, 0x55, 0xB3, 0x71, 0x46,
3302                         0xAC, 0x92, 0x42, 0x85, 0xD5, 0x12, 0x03, 0x8D,
3303                         0xBC, 0x82, 0xE7, 0x5A, 0x6E, 0x2E, 0x2C, 0xC0,
3304                         0xB6, 0x44, 0xF8, 0xBB, 0x5F, 0x7A, 0x42, 0x86,
3305                         0x28, 0xF0, 0x9B, 0xF9, 0x17, 0xDD, 0x35, 0x2F,
3306                         0x56, 0xE4, 0x63, 0xFF, 0xEC, 0x87, 0xC5, 0x53,
3307                         0xBF, 0x64, 0xB2, 0xDA, 0xDE, 0xC1, 0x6C, 0x85,
3308                         0x82, 0x51, 0x40, 0x41, 0xC9, 0x7A, 0x0A, 0xB8,
3309                         0xB2, 0x75, 0x03, 0x88, 0x22, 0x6D, 0x76, 0x6E,
3310                         0x2D, 0x2B, 0x73, 0xCB, 0x48, 0xC4, 0xED, 0xE0,
3311                         0x96, 0xFA, 0x36, 0x9F, 0x99, 0xC7, 0x97, 0xDE,
3312                         0x6D, 0xFC, 0x69, 0x86, 0x57, 0x5F, 0xB9, 0x93,
3313                         0x78, 0x5C, 0x07, 0x64, 0x61, 0xD0, 0x41, 0x14,
3314                         0x32, 0xED, 0xC0, 0xE4, 0xAC, 0xFC, 0x10, 0x0D,
3315                         0xAF, 0xEE, 0xDA, 0xB3, 0x6D, 0xB8, 0x7C, 0x10,
3316                         0xD5, 0x3B, 0x88, 0xE1, 0x15, 0xE1, 0xA4, 0x27,
3317                         0xFE, 0xEE, 0x0A, 0xC8, 0x95, 0xCF, 0xCA, 0x99,
3318                         0x98, 0x1D, 0xF3, 0x0E, 0xB8, 0x03, 0xD5, 0x51,
3319                         0x4B, 0x56, 0xB9, 0x07, 0x85, 0x58, 0x17, 0x51,
3320                         0x16, 0xC4, 0x86, 0xBB, 0xD3, 0x50, 0x01, 0x0E,
3321                         0x7B, 0x9C, 0xEF, 0xF0, 0x28, 0x4A, 0xD7, 0x3D,
3322                         0x1E, 0x3A, 0xBB, 0xCF, 0x2C, 0x90, 0x12, 0x2A,
3323                         0xB3, 0x90, 0x72, 0xE3, 0x93, 0x81, 0xE8, 0xA4,
3324                         0xEF, 0x8F, 0xD9, 0x45, 0x4F, 0xB1, 0xD0, 0x21,
3325                         0xDA, 0x20, 0x5C, 0xE9, 0x41, 0x41, 0x4E, 0x48,
3326                         0x95, 0x4D, 0x5A, 0xB3, 0xE5, 0x8B, 0xFC, 0xDE,
3327                         0xB9, 0x7B, 0x93, 0xBE, 0xA2, 0x74, 0x1B, 0xFA,
3328                         0xED, 0xCC, 0x0E, 0xDD, 0x96, 0x13, 0x2C, 0xAC,
3329                         0xDE, 0x2B, 0x2D, 0x8A, 0x30, 0x5A, 0xB8, 0x4B,
3330                         0x08, 0x2C, 0x74, 0xF7, 0xB4, 0x45, 0xD3, 0xA5,
3331                         0x62, 0x87, 0xCA, 0x16, 0xEB, 0x49, 0x46, 0x0C,
3332                         0x87, 0x7F, 0x11, 0x1D, 0x22, 0x66, 0x0A, 0x38,
3333                         0x90, 0x3A, 0x31, 0x38, 0x73, 0xB2, 0xD5, 0x5E,
3334                         0x06, 0xC4, 0x1E, 0x3D, 0xB7, 0x52, 0xB8, 0xE5,
3335                         0xC0, 0xF9, 0x72, 0xBC, 0x7A, 0x8A, 0xD3, 0xB4,
3336                         0x1D, 0xA9, 0x93, 0x3B, 0x7E, 0xFF, 0x8E, 0xA0,
3337                         0x96, 0x52, 0xE9, 0x9E, 0x60, 0x4C, 0x02, 0x90,
3338                         0xE5, 0x46, 0x92, 0xB3, 0xB8, 0x24, 0xE9, 0xD0,
3339                         0xCE, 0xD3, 0x0B, 0xCD, 0x8B, 0xE8, 0x72, 0xEA,
3340                         0x6E, 0xBF, 0x2B, 0x99, 0x6F, 0xC0, 0x65, 0xE8,
3341                         0x92, 0x30, 0x03, 0x28, 0xA9, 0xB0, 0xA7, 0x03,
3342                         0x92, 0x2C, 0xC8, 0x38, 0x8C, 0x38, 0x56, 0xEE,
3343                         0xDB, 0x39, 0xBD, 0x7E, 0xE9, 0x8D, 0xDB, 0xC1,
3344                         0xD5, 0x71, 0xC7, 0x84, 0xF3, 0xB2, 0x23, 0x22,
3345                         0xB5, 0x98, 0xB3, 0x36, 0xF1, 0xC4, 0xB1, 0xA4,
3346                         0xF2, 0x84, 0x24, 0xE5, 0x97, 0x48, 0x34, 0x43,
3347                         0xEF, 0xD9, 0xF4, 0x10, 0xE4, 0x13, 0xEE, 0x6C,
3348                         0xE7, 0x5D, 0x9B, 0xBA, 0x35, 0xF5, 0x7D, 0xE5,
3349                         0xBF, 0x8A, 0xCC, 0x3D, 0x28, 0xCF, 0xE8, 0x90,
3350                         0xE3, 0xCF, 0x01, 0x69, 0xD7, 0xC0, 0xD2, 0x2C,
3351                         0xC2, 0x9B, 0x89, 0xF2, 0xA9, 0x83, 0xA2, 0xA9,
3352                         0x12, 0xAA, 0x56, 0xD8, 0xCB, 0xA5, 0x8B, 0x0A,
3353                         0x03, 0xC1, 0xE1, 0x8E, 0x02, 0x36, 0x3D, 0x8F,
3354                         0x58, 0x4D, 0xEB, 0x93, 0x91, 0xC6, 0xE7, 0x22,
3355                         0xCE, 0xA8, 0x02, 0xD2, 0x82, 0x0D, 0x43, 0x4D,
3356                         0x4E, 0x11, 0xF8, 0x7B, 0x45, 0xD0, 0x23, 0xF7,
3357                         0x14, 0x35, 0x16, 0xA4, 0x0B, 0xAD, 0xFE, 0xE2,
3358                         0x2B, 0xFD, 0xF7, 0x17, 0xA9, 0x93, 0x77, 0x82,
3359                         0x45, 0x6E, 0x51, 0x1F, 0x5C, 0x2C, 0x5F, 0xFF,
3360                         0x1A, 0xA3, 0x0E, 0x29, 0xA5, 0x1D, 0xFD, 0x0E,
3361                         0xDD, 0x14, 0xF6, 0x69, 0x20, 0x15, 0xFD, 0xBB,
3362                         0xF8, 0xAF, 0x3D, 0xF3, 0xCC, 0xB8, 0x7E, 0x64,
3363                         0xED, 0x99, 0xF3, 0x1D, 0xFC, 0x96, 0xA2, 0x0A,
3364                         0x9C, 0xC2, 0x9B, 0xD7, 0x03, 0xA6, 0x79, 0x3B,
3365                         0x16, 0x0C, 0x6C, 0x5C, 0x2B, 0x61, 0x0E, 0x48,
3366                         0x96, 0x5C, 0x46, 0x7F, 0xC3, 0xCD, 0x3C, 0x10,
3367                         0x30, 0x8F, 0xC4, 0xB5, 0x92, 0x46, 0x1C, 0xDF,
3368                         0x10, 0xEE, 0x43, 0x27, 0x42, 0x70, 0xD2, 0xC4,
3369                         0x5E, 0x77, 0x78, 0x0E, 0x0E, 0xC3, 0x8B, 0x72,
3370                         0xA0, 0xFC, 0x4C, 0x0F, 0x5D, 0xBE, 0xBE, 0x07,
3371                         0x5B, 0x53, 0x38, 0xC8, 0x96, 0x82, 0x2D, 0x2D,
3372                         0x8E, 0xA8, 0x6C, 0x68, 0x34, 0x42, 0x31, 0x90,
3373                         0xD6, 0x4D, 0x29, 0xA9, 0x90, 0x95, 0x19, 0xD6,
3374                         0x8F, 0x2F, 0xF4, 0xD3, 0x71, 0x21, 0xB7, 0x7D,
3375                         0x51, 0xA6, 0x15, 0xE5, 0xDA, 0x08, 0x6A, 0x23,
3376                         0xDE, 0x6C, 0xBA, 0xCF, 0x84, 0xF1, 0x47, 0x25,
3377                         0x4A, 0xF1, 0x2F, 0x24, 0xED, 0x3B, 0xED, 0xF0,
3378                         0xA7, 0x48, 0xAE, 0x58, 0x7F, 0x0B, 0x3B, 0x78,
3379                         0xCE, 0x94, 0x32, 0x82, 0x63, 0x22, 0x67, 0xAA,
3380                         0x45, 0x37, 0xCC, 0x43, 0xD5, 0x10, 0x59, 0x5B,
3381                         0x09, 0xC6, 0x1C, 0x32, 0xCD, 0x19, 0xA2, 0x3C,
3382                         0x2B, 0x84, 0x03, 0xD5, 0x97, 0x20, 0xE7, 0xFB,
3383                         0x2D, 0x0A, 0x3C, 0x5C, 0xFD, 0x39, 0x9C, 0xDE,
3384                         0x02, 0x3D, 0xC7, 0xDD, 0x51, 0xDE, 0x99, 0xB3,
3385                         0x65, 0x00, 0x60, 0xCF, 0xAE, 0xCD, 0xE2, 0x83,
3386                         0xD5, 0x36, 0x2C, 0x89, 0x28, 0x6D, 0xC3, 0x6A,
3387                         0x80, 0xCD, 0x1A, 0xC3, 0x75, 0x11, 0x7E, 0x65,
3388                         0x2A, 0x44, 0x9D, 0xB5, 0x12, 0x2A, 0x78, 0xD0,
3389                         0x4D, 0xF8, 0x5E, 0xBF, 0xEC, 0x6B, 0x60, 0xD2,
3390                         0x89, 0x92, 0x5E, 0x17, 0xDA, 0x33, 0x83, 0xDB,
3391                         0xED, 0xF4, 0x5E, 0x82, 0xE9, 0x04, 0xD7, 0xE0,
3392                         0xA4, 0x1B, 0xFE, 0x32, 0x93, 0x05, 0x2C, 0xCF,
3393                         0xA2, 0xAE, 0x83, 0xCA, 0x2F, 0x5E, 0x47, 0x1C,
3394                         0x85, 0x0D, 0x01, 0xE5, 0x44, 0x3D, 0xE4, 0x58,
3395                         0x8E, 0xC0, 0x46, 0x05, 0x95, 0xBE, 0x59, 0xED,
3396                         0x0F, 0x7B, 0xA1, 0xF7, 0xDB, 0x2C, 0x79, 0x86,
3397                         0xE9, 0x54, 0x98, 0xA6, 0x2A, 0xD0, 0xFE, 0xC9,
3398                         0x59, 0x1D, 0x31, 0xC6, 0x27, 0x83, 0x2C, 0x12,
3399                         0x9C, 0xE1, 0x43, 0x3C, 0xEC, 0x65, 0x3B, 0xEF,
3400                         0xFD, 0x92, 0xBC, 0x0E, 0x38, 0xBA, 0x56, 0x1C,
3401                         0xC0, 0x81, 0x9E, 0xBE, 0x76, 0x59, 0x88, 0xA4,
3402                         0x0C, 0x6B, 0xD9, 0x7C, 0xD6, 0x8C, 0x32, 0xCD,
3403                         0x3F, 0xB6, 0xEF, 0xBF, 0xA6, 0xC7, 0xC9, 0xD3,
3404                         0x02, 0xB0, 0x3B, 0xFF, 0xFC, 0x4A, 0x97, 0x14,
3405                         0xFF, 0xF2, 0x48, 0xFE, 0x1B, 0xCE, 0x7D, 0x24,
3406                         0xA1, 0xD6, 0x03, 0xB0, 0x2F, 0xAA, 0xF7, 0x71,
3407                         0xC9, 0x0E, 0xCB, 0x57, 0xBA, 0xEF, 0xB5, 0x65,
3408                         0xE1, 0x44, 0xE4, 0x6A, 0xEB, 0xE8, 0x2B, 0x8F,
3409                         0x06, 0x23, 0x7A, 0xA9, 0x70, 0xAE, 0x48, 0x65,
3410                         0x94, 0xEE, 0xA5, 0x94, 0x78, 0x7D, 0x09, 0xF8,
3411                         0xB5, 0x4D, 0x64, 0x67, 0x10, 0x16, 0xA2, 0xFC,
3412                         0x49, 0x93, 0x76, 0x71, 0xED, 0x56, 0x25, 0xB5,
3413                         0x87, 0xE8, 0x84, 0x16, 0x55, 0xE1, 0x1E, 0x34,
3414                         0xE3, 0xB2, 0x49, 0x8F, 0xDC, 0xDA, 0xC3, 0x17,
3415                         0x82, 0x0E, 0x19, 0xD7, 0xE0, 0x09, 0xD7, 0xD9,
3416                         0x59, 0x6B, 0x55, 0x60, 0x1C, 0x1B, 0x02, 0xE8,
3417                         0xD1, 0x90, 0xF6, 0x3E, 0x94, 0x4A, 0x12, 0x0C,
3418                         0xBB, 0x69, 0xFD, 0x7C, 0xA0, 0xDD, 0x5F, 0x93,
3419                         0x9F, 0xFE, 0x2E, 0x79, 0xDB, 0xBE, 0x6F, 0x85,
3420                         0xAD, 0x9B, 0xDE, 0xAA, 0x10, 0xCA, 0xDB, 0xF2,
3421                         0xF9, 0xD0, 0x54, 0x15, 0x00, 0xF0, 0x6F, 0x86,
3422                         0x16, 0xF6, 0xA8, 0xA4, 0x08, 0x7B, 0x50, 0xF1,
3423                         0x35, 0xAC, 0xB6, 0xBB, 0x8B, 0xA0, 0x86, 0x3B,
3424                         0x3B, 0xDA, 0x9F, 0x89, 0xB5, 0x9C, 0x44, 0x41,
3425                         0x6A, 0xFD, 0x8A, 0x79, 0xA0, 0xFB, 0x7D, 0x1B,
3426                         0xE8, 0xC4, 0xA7, 0x3F, 0x66, 0x97, 0xA9, 0xF8,
3427                         0xEA, 0x0C, 0x30, 0x81, 0x63, 0xE4, 0xE3, 0x84,
3428                         0x62, 0xC5, 0x19, 0xFB, 0x00, 0xD6, 0x72, 0xE6,
3429                         0xC9, 0x6C, 0xDB, 0xEB, 0xF3, 0x6F, 0xDB, 0xE7,
3430                         0x00, 0x53, 0xCE, 0x1D, 0xE5, 0xF5, 0x53, 0x18,
3431                         0xE5, 0xAA, 0xDA, 0x90, 0x7B, 0xCB, 0x2B, 0x74,
3432                         0xED, 0x70, 0xFE, 0x90, 0xA8, 0xC8, 0x80, 0x2B,
3433                         0x93, 0x08, 0xDB, 0x6A, 0x0F, 0x3D, 0xA1, 0xFA,
3434                         0xB6, 0x63, 0x18, 0xF8, 0x43, 0x68, 0x00, 0xD0,
3435                         0x7A, 0x97, 0xCD, 0x5B, 0xB2, 0x84, 0x90, 0x06,
3436                         0xB9, 0x81, 0xC5, 0x81, 0x05, 0x55, 0x8C, 0xC4,
3437                         0x03, 0x89, 0xF5, 0x63, 0x87, 0x39, 0xEC, 0xD6,
3438                         0x89, 0x01, 0xE7, 0x1C, 0x4C, 0xDF, 0x5D, 0x65,
3439                         0xFE, 0x4B, 0x91, 0x04, 0x5B, 0x0E, 0x03, 0x38,
3440                         0x2F, 0x21, 0xA8, 0x36, 0x58, 0x93, 0xAD, 0x1F,
3441                         0xEB, 0xC3, 0x91, 0x90, 0x9B, 0x95, 0xCD, 0x53,
3442                         0x81, 0xAA, 0xA9, 0x48, 0x4D, 0x2B, 0x22, 0xC7,
3443                         0xBE, 0x1B, 0x38, 0x21, 0xA1, 0xFE, 0x23, 0xB4,
3444                         0xAC, 0x66, 0x92, 0x9E, 0xF2, 0x27, 0xDC, 0x23,
3445                         0x70, 0x6E, 0xBA, 0xF9, 0xED, 0x3B, 0xCE, 0x63,
3446                         0xAD, 0x68, 0xF2, 0x80, 0xFA, 0x1B, 0x14, 0xB5,
3447                         0xB4, 0x07, 0xE3, 0x5A, 0x81, 0x74, 0xE1, 0xF2,
3448                         },
3449                 .len = 3120
3450         },
3451         .auth_tag = {
3452                 .data = {
3453                         0xEA, 0xE9, 0x10, 0xB6, 0xB7, 0xAB, 0xEA, 0x90,
3454                         0x8A, 0xD5, 0x63, 0x88, 0xDB, 0x2B, 0x8F, 0x23,
3455                 },
3456                 .len = 16
3457         }
3458 };
3459
3460 /** AES-CCM-128 Test Vectors */
3461 static const struct aead_test_data ccm_test_case_128_1 = {
3462         .algo = RTE_CRYPTO_AEAD_AES_CCM,
3463         .key = {
3464                 .data = {
3465                         0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
3466                         0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F
3467                 },
3468                 .len = 16
3469         },
3470         .iv = {
3471                 .data = {
3472                         0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16
3473                 },
3474                 .len = 7
3475         },
3476         .aad = {
3477                 .data = ccm_aad_test_1,
3478                 .len = 8
3479         },
3480         .plaintext = {
3481                 .data = {
3482                         0x20, 0x21, 0x22, 0x23
3483                 },
3484                 .len = 4
3485         },
3486         .ciphertext = {
3487                 .data = {
3488                         0x71, 0x62, 0x01, 0x5B
3489                 },
3490                 .len = 4
3491         },
3492         .auth_tag = {
3493                 .data = {
3494                         0x4D, 0xAC, 0x25, 0x5D
3495                 },
3496                 .len = 4
3497         }
3498 };
3499
3500 static const struct aead_test_data ccm_test_case_128_2 = {
3501         .algo = RTE_CRYPTO_AEAD_AES_CCM,
3502         .key = {
3503                 .data = {
3504                         0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85,
3505                         0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F
3506                 },
3507                 .len = 16
3508         },
3509         .iv = {
3510                 .data = {
3511                         0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5,
3512                         0x03, 0x97, 0x76, 0xE7, 0x0C
3513                 },
3514                 .len = 13
3515         },
3516         .aad = {
3517                 .data = ccm_aad_test_2,
3518                 .len = 22
3519         },
3520         .plaintext = {
3521                 .data = {
3522                         0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE,
3523                         0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB,
3524                         0x7E, 0x78, 0xA0, 0x50
3525                 },
3526                 .len = 20
3527         },
3528         .ciphertext = {
3529                 .data = {
3530                         0xF3, 0xD0, 0xA2, 0xFE, 0x9A, 0x3D, 0xBF, 0x23,
3531                         0x42, 0xA6, 0x43, 0xE4, 0x32, 0x46, 0xE8, 0x0C,
3532                         0x3C, 0x04, 0xD0, 0x19
3533                 },
3534                 .len = 20
3535         },
3536         .auth_tag = {
3537                 .data = {
3538                         0x78, 0x45, 0xCE, 0x0B, 0x16, 0xF9, 0x76, 0x23
3539                 },
3540                 .len = 8
3541         }
3542 };
3543
3544 static const struct aead_test_data ccm_test_case_128_3 = {
3545         .algo = RTE_CRYPTO_AEAD_AES_CCM,
3546         .key = {
3547                 .data = {
3548                         0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85,
3549                         0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F
3550                 },
3551                 .len = 16
3552         },
3553         .iv = {
3554                 .data = {
3555                         0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5,
3556                         0x03, 0x97, 0x76, 0xE7, 0x0C
3557                 },
3558                 .len = 13
3559         },
3560         .aad = {
3561                 .data = gcm_aad_zero_text,
3562                 .len = 0
3563         },
3564         .plaintext = {
3565                 .data = {
3566                         0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE,
3567                         0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB,
3568                         0x7E, 0x78, 0xA0, 0x50
3569                 },
3570                 .len = 20
3571         },
3572         .ciphertext = {
3573                 .data = {
3574                         0xF3, 0xD0, 0xA2, 0xFE, 0x9A, 0x3D, 0xBF, 0x23,
3575                         0x42, 0xA6, 0x43, 0xE4, 0x32, 0x46, 0xE8, 0x0C,
3576                         0x3C, 0x04, 0xD0, 0x19
3577                 },
3578                 .len = 20
3579         },
3580         .auth_tag = {
3581                 .data = {
3582                         0x41, 0x83, 0x21, 0x89, 0xA3, 0xD3, 0x1B, 0x43
3583                 },
3584                 .len = 8
3585         }
3586 };
3587
3588 /** AES-CCM-192 Test Vectors */
3589 static const struct aead_test_data ccm_test_case_192_1 = {
3590         .algo = RTE_CRYPTO_AEAD_AES_CCM,
3591         .key = {
3592                 .data = {
3593                         0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
3594                         0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
3595                         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57
3596                 },
3597                 .len = 24
3598         },
3599         .iv = {
3600                 .data = {
3601                         0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16
3602                 },
3603                 .len = 7
3604         },
3605         .aad = {
3606                 .data = ccm_aad_test_1,
3607                 .len = 8
3608         },
3609         .plaintext = {
3610                 .data = {
3611                         0x20, 0x21, 0x22, 0x23
3612                 },
3613                 .len = 4
3614         },
3615         .ciphertext = {
3616                 .data = {
3617                         0x18, 0xEE, 0x17, 0x30
3618                 },
3619                 .len = 4
3620         },
3621         .auth_tag = {
3622                 .data = {
3623                         0xC8, 0xC3, 0x26, 0xD5
3624                 },
3625                 .len = 4
3626         }
3627 };
3628
3629 static const struct aead_test_data ccm_test_case_192_2 = {
3630         .algo = RTE_CRYPTO_AEAD_AES_CCM,
3631         .key = {
3632                 .data = {
3633                         0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85,
3634                         0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F,
3635                         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57
3636                 },
3637                 .len = 24
3638         },
3639         .iv = {
3640                 .data = {
3641                         0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5,
3642                         0x03, 0x97, 0x76, 0xE7, 0x0C
3643                 },
3644                 .len = 13
3645         },
3646         .aad = {
3647                 .data = ccm_aad_test_2,
3648                 .len = 22
3649         },
3650         .plaintext = {
3651                 .data = {
3652                         0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE,
3653                         0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB,
3654                         0x7E, 0x78, 0xA0, 0x50
3655                 },
3656                 .len = 20
3657         },
3658         .ciphertext = {
3659                 .data = {
3660                         0x41, 0xC6, 0x2D, 0xD5, 0x31, 0xF2, 0xD5, 0xC8,
3661                         0xCC, 0x57, 0x01, 0x2E, 0x7E, 0x2B, 0xF1, 0x26,
3662                         0x6A, 0xC7, 0xCB, 0xA5
3663                 },
3664                 .len = 20
3665         },
3666         .auth_tag = {
3667                 .data = {
3668                         0x77, 0xA3, 0x41, 0xD5, 0x2A, 0xE3, 0x25, 0x37
3669                 },
3670                 .len = 8
3671         }
3672 };
3673
3674 static const struct aead_test_data ccm_test_case_192_3 = {
3675         .algo = RTE_CRYPTO_AEAD_AES_CCM,
3676         .key = {
3677                 .data = {
3678                         0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85,
3679                         0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F,
3680                         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57
3681                 },
3682                 .len = 24
3683         },
3684         .iv = {
3685                 .data = {
3686                         0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5,
3687                         0x03, 0x97, 0x76, 0xE7, 0x0C
3688                 },
3689                 .len = 13
3690         },
3691         .aad = {
3692                 .data = gcm_aad_zero_text,
3693                 .len = 0
3694         },
3695         .plaintext = {
3696                 .data = {
3697                         0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE,
3698                         0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB,
3699                         0x7E, 0x78, 0xA0, 0x50
3700                 },
3701                 .len = 20
3702         },
3703         .ciphertext = {
3704                 .data = {
3705                         0x41, 0xC6, 0x2D, 0xD5, 0x31, 0xF2, 0xD5, 0xC8,
3706                         0xCC, 0x57, 0x01, 0x2E, 0x7E, 0x2B, 0xF1, 0x26,
3707                         0x6A, 0xC7, 0xCB, 0xA5
3708                 },
3709                 .len = 20
3710         },
3711         .auth_tag = {
3712                 .data = {
3713                         0x84, 0x72, 0x6E, 0xE7, 0x8E, 0x8E, 0x3A, 0xC6
3714                 },
3715                 .len = 8
3716         }
3717 };
3718
3719 /** AES-CCM-256 Test Vectors */
3720 static const struct aead_test_data ccm_test_case_256_1 = {
3721         .algo = RTE_CRYPTO_AEAD_AES_CCM,
3722         .key = {
3723                 .data = {
3724                         0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
3725                         0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
3726                         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
3727                         0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F
3728                 },
3729                 .len = 32
3730         },
3731         .iv = {
3732                 .data = {
3733                         0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16
3734                 },
3735                 .len = 7
3736         },
3737         .aad = {
3738                 .data = ccm_aad_test_1,
3739                 .len = 8
3740         },
3741         .plaintext = {
3742                 .data = {
3743                         0x20, 0x21, 0x22, 0x23
3744                 },
3745                 .len = 4
3746         },
3747         .ciphertext = {
3748                 .data = {
3749                         0x8A, 0xB1, 0xA8, 0x74
3750                 },
3751                 .len = 4
3752         },
3753         .auth_tag = {
3754                 .data = {
3755                         0x95, 0xFC, 0x08, 0x20
3756                 },
3757                 .len = 4
3758         }
3759 };
3760
3761 static const struct aead_test_data ccm_test_case_256_2 = {
3762         .algo = RTE_CRYPTO_AEAD_AES_CCM,
3763         .key = {
3764                 .data = {
3765                         0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85,
3766                         0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F,
3767                         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
3768                         0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F
3769                 },
3770                 .len = 32
3771         },
3772         .iv = {
3773                 .data = {
3774                         0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5,
3775                         0x03, 0x97, 0x76, 0xE7, 0x0C
3776                 },
3777                 .len = 13
3778         },
3779         .aad = {
3780                 .data = ccm_aad_test_2,
3781                 .len = 22
3782         },
3783         .plaintext = {
3784                 .data = {
3785                         0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE,
3786                         0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB,
3787                         0x7E, 0x78, 0xA0, 0x50
3788                 },
3789                 .len = 20
3790         },
3791         .ciphertext = {
3792                 .data = {
3793                         0x25, 0x82, 0x89, 0x09, 0x3E, 0x39, 0x1F, 0x16,
3794                         0xD2, 0x82, 0x3D, 0xF6, 0xCE, 0x97, 0x72, 0x07,
3795                         0xEC, 0x23, 0x17, 0x98
3796                 },
3797                 .len = 20
3798         },
3799         .auth_tag = {
3800                 .data = {
3801                         0xAB, 0x02, 0xE9, 0xD1, 0x16, 0x69, 0xED, 0x0A
3802                 },
3803                 .len = 8
3804         }
3805 };
3806
3807 static const struct aead_test_data ccm_test_case_256_3 = {
3808         .algo = RTE_CRYPTO_AEAD_AES_CCM,
3809         .key = {
3810                 .data = {
3811                         0xC9, 0x7C, 0x1F, 0x67, 0xCE, 0x37, 0x11, 0x85,
3812                         0x51, 0x4A, 0x8A, 0x19, 0xF2, 0xBD, 0xD5, 0x2F,
3813                         0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
3814                         0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F
3815                 },
3816                 .len = 32
3817         },
3818         .iv = {
3819                 .data = {
3820                         0x00, 0x50, 0x30, 0xF1, 0x84, 0x44, 0x08, 0xB5,
3821                         0x03, 0x97, 0x76, 0xE7, 0x0C
3822                 },
3823                 .len = 13
3824         },
3825         .aad = {
3826                 .data = gcm_aad_zero_text,
3827                 .len = 0
3828         },
3829         .plaintext = {
3830                 .data = {
3831                         0xF8, 0xBA, 0x1A, 0x55, 0xD0, 0x2F, 0x85, 0xAE,
3832                         0x96, 0x7B, 0xB6, 0x2F, 0xB6, 0xCD, 0xA8, 0xEB,
3833                         0x7E, 0x78, 0xA0, 0x50
3834                 },
3835                 .len = 20
3836         },
3837         .ciphertext = {
3838                 .data = {
3839                         0x25, 0x82, 0x89, 0x09, 0x3E, 0x39, 0x1F, 0x16,
3840                         0xD2, 0x82, 0x3D, 0xF6, 0xCE, 0x97, 0x72, 0x07,
3841                         0xEC, 0x23, 0x17, 0x98
3842                 },
3843                 .len = 20
3844         },
3845         .auth_tag = {
3846                 .data = {
3847                         0x15, 0x80, 0xC4, 0xC9, 0x3F, 0xAB, 0x2A, 0xFD
3848                 },
3849                 .len = 8
3850         }
3851 };
3852 #endif /* TEST_CRYPTODEV_AEAD_TEST_VECTORS_H_ */