net: fix checksum offload for outer IPv4
[dpdk.git] / app / test / test_cryptodev_aes_test_vectors.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016-2019 Intel Corporation
3  */
4
5 #ifndef TEST_CRYPTODEV_AES_TEST_VECTORS_H_
6 #define TEST_CRYPTODEV_AES_TEST_VECTORS_H_
7
8 /* test vectors */
9 static const uint8_t plaintext_aes128ctr[] = {
10         0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96,
11         0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A,
12         0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C,
13         0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51,
14         0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11,
15         0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF,
16         0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17,
17         0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10
18 };
19
20 static const uint8_t ciphertext64_aes128ctr[] = {
21         0x87, 0x4D, 0x61, 0x91, 0xB6, 0x20, 0xE3, 0x26,
22         0x1B, 0xEF, 0x68, 0x64, 0x99, 0x0D, 0xB6, 0xCE,
23         0x98, 0x06, 0xF6, 0x6B, 0x79, 0x70, 0xFD, 0xFF,
24         0x86, 0x17, 0x18, 0x7B, 0xB9, 0xFF, 0xFD, 0xFF,
25         0x5A, 0xE4, 0xDF, 0x3E, 0xDB, 0xD5, 0xD3, 0x5E,
26         0x5B, 0x4F, 0x09, 0x02, 0x0D, 0xB0, 0x3E, 0xAB,
27         0x1E, 0x03, 0x1D, 0xDA, 0x2F, 0xBE, 0x03, 0xD1,
28         0x79, 0x21, 0x70, 0xA0, 0xF3, 0x00, 0x9C, 0xEE
29 };
30
31 static const uint8_t ciphertext64_aes128ctr_IV_12bytes[] = {
32         0x28, 0x80, 0x28, 0xC7, 0x15, 0x99, 0xC5, 0xA8,
33         0xDD, 0x53, 0xC2, 0x67, 0x1B, 0x86, 0xB8, 0x13,
34         0xAB, 0x25, 0x39, 0x7A, 0xD2, 0x1F, 0x8B, 0x4B,
35         0x94, 0x89, 0x2B, 0x65, 0xCF, 0x89, 0x1E, 0xDD,
36         0xD4, 0x7C, 0xFD, 0x8D, 0x0E, 0xCD, 0x23, 0xA4,
37         0xEB, 0x8C, 0x05, 0x58, 0x45, 0x4A, 0x63, 0x44,
38         0x11, 0x42, 0x07, 0x17, 0xB4, 0xD2, 0xCC, 0x75,
39         0xB7, 0x23, 0x99, 0xA9, 0xC5, 0x89, 0x7F, 0x66
40 };
41
42 static const uint8_t plaintext_aes_docsis_bpi_cfb[] = {
43         0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E
44 };
45
46 static const uint8_t ciphertext_aes_docsis_bpi_cfb[] = {
47         0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC
48 };
49
50 static const uint8_t ciphertext_aes256_docsis_bpi_cfb[] = {
51         0xE3, 0x75, 0xF2, 0x30, 0x1F, 0x75, 0x9A
52 };
53
54 static const uint8_t plaintext_aes_docsis_bpi_cbc_cfb[] = {
55         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
56         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91,
57         0xD2, 0xD1, 0x9F
58 };
59
60 static const uint8_t ciphertext_aes_docsis_bpi_cbc_cfb[] = {
61         0x9D, 0xD1, 0x67, 0x4B, 0xBA, 0x61, 0x10, 0x1B,
62         0x56, 0x75, 0x64, 0x74, 0x36, 0x4F, 0x10, 0x1D,
63         0x44, 0xD4, 0x73
64 };
65
66 static const uint8_t ciphertext_aes256_docsis_bpi_cbc_cfb[] = {
67         0xD1, 0x28, 0x73, 0x1F, 0xB5, 0x28, 0xB5, 0x18,
68         0xAB, 0x51, 0xAB, 0xC8, 0x98, 0x3D, 0xD1, 0xEE,
69         0xE4, 0x43, 0x59
70 };
71
72 static const uint8_t plaintext_aes192ctr[] = {
73         0x01, 0x0F, 0x10, 0x1F, 0x20, 0x1C, 0x0E, 0xB8,
74         0xFB, 0x5C, 0xCD, 0xCC, 0x1F, 0xF9, 0xAF, 0x0B,
75         0x95, 0x03, 0x74, 0x99, 0x49, 0xE7, 0x62, 0x55,
76         0xDA, 0xEA, 0x13, 0x20, 0x1D, 0xC6, 0xCC, 0xCC,
77         0xD1, 0x70, 0x75, 0x47, 0x02, 0x2F, 0xFB, 0x86,
78         0xBB, 0x6B, 0x23, 0xD2, 0xC9, 0x74, 0xD7, 0x7B,
79         0x08, 0x03, 0x3B, 0x79, 0x39, 0xBB, 0x91, 0x29,
80         0xDA, 0x14, 0x39, 0x8D, 0xFF, 0x81, 0x50, 0x96,
81 };
82
83 static const uint8_t ciphertext64_aes192ctr[] = {
84         0x4A, 0x6C, 0xC8, 0xCC, 0x96, 0x2A, 0x13, 0x84,
85         0x1C, 0x36, 0x88, 0xE9, 0xE5, 0x94, 0x70, 0xB2,
86         0x14, 0x5B, 0x13, 0x80, 0xEA, 0xD8, 0x8D, 0x37,
87         0xFD, 0x70, 0xA8, 0x83, 0xE8, 0x2B, 0x88, 0x1E,
88         0xBA, 0x94, 0x3F, 0xF6, 0xB3, 0x1F, 0xDE, 0x34,
89         0xF3, 0x5B, 0x80, 0xE9, 0xAB, 0xF5, 0x1C, 0x29,
90         0xB6, 0xD9, 0x76, 0x2B, 0x06, 0xC6, 0x74, 0xF1,
91         0x59, 0x5E, 0x9E, 0xA5, 0x7B, 0x2D, 0xD7, 0xF0
92 };
93
94 static const uint8_t ciphertext64_aes192ctr_IV_12bytes[] = {
95         0x67, 0x65, 0xa9, 0xee, 0xfd, 0x31, 0x62, 0xfc,
96         0xad, 0xfd, 0xc7, 0x25, 0xb7, 0x25, 0x16, 0xbe,
97         0x25, 0xce, 0xc0, 0x1d, 0xda, 0xa9, 0xd3, 0xda,
98         0x1b, 0x7d, 0x68, 0x6a, 0x6f, 0x06, 0xea, 0x47,
99         0xa0, 0xe0, 0x15, 0xf4, 0xbd, 0x1b, 0x70, 0x34,
100         0xd4, 0x6d, 0x1c, 0x84, 0x17, 0x91, 0x46, 0x0c,
101         0xe8, 0xbc, 0x7a, 0xfb, 0x9f, 0x2a, 0x8f, 0xb4,
102         0xd4, 0xf3, 0x6e, 0x5b, 0x75, 0xa0, 0xce, 0x32
103 };
104
105 static const uint8_t plaintext_aes256ctr[] = {
106         0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96,
107         0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A,
108         0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C,
109         0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51,
110         0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11,
111         0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF,
112         0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17,
113         0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10
114 };
115
116 static const uint8_t ciphertext64_aes256ctr[] = {
117         0x60, 0x1E, 0xC3, 0x13, 0x77, 0x57, 0x89, 0xA5,
118         0xB7, 0xA7, 0xF5, 0x04, 0xBB, 0xF3, 0xD2, 0x28,
119         0xF4, 0x43, 0xE3, 0xCA, 0x4D, 0x62, 0xB5, 0x9A,
120         0xCA, 0x84, 0xE9, 0x90, 0xCA, 0xCA, 0xF5, 0xC5,
121         0x2B, 0x09, 0x30, 0xDA, 0xA2, 0x3D, 0xE9, 0x4C,
122         0xE8, 0x70, 0x17, 0xBA, 0x2D, 0x84, 0x98, 0x8D,
123         0xDF, 0xC9, 0xC5, 0x8D, 0xB6, 0x7A, 0xAD, 0xA6,
124         0x13, 0xC2, 0xDD, 0x08, 0x45, 0x79, 0x41, 0xA6
125 };
126
127 static const uint8_t ciphertext64_aes256ctr_IV_12bytes[] = {
128         0x7B, 0x7A, 0x7D, 0x83, 0x85, 0xF8, 0x81, 0xF3,
129         0x32, 0x33, 0xD9, 0xFB, 0x04, 0x73, 0xD4, 0x2F,
130         0x70, 0xDE, 0x90, 0x3E, 0xD0, 0xA9, 0x93, 0x8A,
131         0x91, 0xF3, 0xB5, 0x29, 0x4D, 0x2A, 0x74, 0xD0,
132         0xDC, 0x4E, 0x5C, 0x9B, 0x97, 0x24, 0xD8, 0x02,
133         0xFE, 0xAB, 0x38, 0xE8, 0x73, 0x51, 0x29, 0x7E,
134         0xF1, 0xF9, 0x40, 0x78, 0xB1, 0x04, 0x7A, 0x78,
135         0x61, 0x07, 0x47, 0xE6, 0x8C, 0x0F, 0xA8, 0x76
136 };
137
138 static const uint8_t plaintext_aes_common[] = {
139         "What a lousy earth! He wondered how many people "
140         "were destitute that same night even in his own "
141         "prosperous country, how many homes were "
142         "shanties, how many husbands were drunk and "
143         "wives socked, and how many children were "
144         "bullied, abused, or abandoned. How many "
145         "families hungered for food they could not "
146         "afford to buy? How many hearts were broken? How "
147         "many suicides would take place that same night, "
148         "how many people would go insane? How many "
149         "cockroaches and landlords would triumph? How "
150         "many winners were losers, successes failures, "
151         "and rich men poor men? How many wise guys were "
152         "stupid? How many happy endings were unhappy "
153         "endings? How many honest men were liars, brave "
154         "men cowards, loyal men traitors, how many "
155         "sainted men were corrupt, how many people in "
156         "positions of trust had sold their souls to "
157         "bodyguards, how many had never had souls? How "
158         "many straight-and-narrow paths were crooked "
159         "paths? How many best families were worst "
160         "families and how many good people were bad "
161         "people? When you added them all up and then "
162         "subtracted, you might be left with only the "
163         "children, and perhaps with Albert Einstein and "
164         "an old violinist or sculptor somewhere."
165 };
166
167 static const uint8_t ciphertext512_aes128cbc[] = {
168         0x8B, 0x4D, 0xDA, 0x1B, 0xCF, 0x04, 0xA0, 0x31,
169         0xB4, 0xBF, 0xBD, 0x68, 0x43, 0x20, 0x7E, 0x76,
170         0xB1, 0x96, 0x8B, 0xA2, 0x7C, 0xA2, 0x83, 0x9E,
171         0x39, 0x5A, 0x2F, 0x7E, 0x92, 0xB4, 0x48, 0x1A,
172         0x3F, 0x6B, 0x5D, 0xDF, 0x52, 0x85, 0x5F, 0x8E,
173         0x42, 0x3C, 0xFB, 0xE9, 0x1A, 0x24, 0xD6, 0x08,
174         0xDD, 0xFD, 0x16, 0xFB, 0xE9, 0x55, 0xEF, 0xF0,
175         0xA0, 0x8D, 0x13, 0xAB, 0x81, 0xC6, 0x90, 0x01,
176         0xB5, 0x18, 0x84, 0xB3, 0xF6, 0xE6, 0x11, 0x57,
177         0xD6, 0x71, 0xC6, 0x3C, 0x3F, 0x2F, 0x33, 0xEE,
178         0x24, 0x42, 0x6E, 0xAC, 0x0B, 0xCA, 0xEC, 0xF9,
179         0x84, 0xF8, 0x22, 0xAA, 0x60, 0xF0, 0x32, 0xA9,
180         0x75, 0x75, 0x3B, 0xCB, 0x70, 0x21, 0x0A, 0x8D,
181         0x0F, 0xE0, 0xC4, 0x78, 0x2B, 0xF8, 0x97, 0xE3,
182         0xE4, 0x26, 0x4B, 0x29, 0xDA, 0x88, 0xCD, 0x46,
183         0xEC, 0xAA, 0xF9, 0x7F, 0xF1, 0x15, 0xEA, 0xC3,
184         0x87, 0xE6, 0x31, 0xF2, 0xCF, 0xDE, 0x4D, 0x80,
185         0x70, 0x91, 0x7E, 0x0C, 0xF7, 0x26, 0x3A, 0x92,
186         0x4F, 0x18, 0x83, 0xC0, 0x8F, 0x59, 0x01, 0xA5,
187         0x88, 0xD1, 0xDB, 0x26, 0x71, 0x27, 0x16, 0xF5,
188         0xEE, 0x10, 0x82, 0xAC, 0x68, 0x26, 0x9B, 0xE2,
189         0x6D, 0xD8, 0x9A, 0x80, 0xDF, 0x04, 0x31, 0xD5,
190         0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
191         0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
192         0x73, 0x02, 0x42, 0xC9, 0x23, 0x18, 0x8E, 0xB4,
193         0x6F, 0xB4, 0xA3, 0x54, 0x6E, 0x88, 0x3B, 0x62,
194         0x7C, 0x02, 0x8D, 0x4C, 0x9F, 0xC8, 0x45, 0xF4,
195         0xC9, 0xDE, 0x4F, 0xEB, 0x22, 0x83, 0x1B, 0xE4,
196         0x49, 0x37, 0xE4, 0xAD, 0xE7, 0xCD, 0x21, 0x54,
197         0xBC, 0x1C, 0xC2, 0x04, 0x97, 0xB4, 0x10, 0x61,
198         0xF0, 0xE4, 0xEF, 0x27, 0x63, 0x3A, 0xDA, 0x91,
199         0x41, 0x25, 0x62, 0x1C, 0x5C, 0xB6, 0x38, 0x4A,
200         0x88, 0x71, 0x59, 0x5A, 0x8D, 0xA0, 0x09, 0xAF,
201         0x72, 0x94, 0xD7, 0x79, 0x5C, 0x60, 0x7C, 0x8F,
202         0x4C, 0xF5, 0xD9, 0xA1, 0x39, 0x6D, 0x81, 0x28,
203         0xEF, 0x13, 0x28, 0xDF, 0xF5, 0x3E, 0xF7, 0x8E,
204         0x09, 0x9C, 0x78, 0x18, 0x79, 0xB8, 0x68, 0xD7,
205         0xA8, 0x29, 0x62, 0xAD, 0xDE, 0xE1, 0x61, 0x76,
206         0x1B, 0x05, 0x16, 0xCD, 0xBF, 0x02, 0x8E, 0xA6,
207         0x43, 0x6E, 0x92, 0x55, 0x4F, 0x60, 0x9C, 0x03,
208         0xB8, 0x4F, 0xA3, 0x02, 0xAC, 0xA8, 0xA7, 0x0C,
209         0x1E, 0xB5, 0x6B, 0xF8, 0xC8, 0x4D, 0xDE, 0xD2,
210         0xB0, 0x29, 0x6E, 0x40, 0xE6, 0xD6, 0xC9, 0xE6,
211         0xB9, 0x0F, 0xB6, 0x63, 0xF5, 0xAA, 0x2B, 0x96,
212         0xA7, 0x16, 0xAC, 0x4E, 0x0A, 0x33, 0x1C, 0xA6,
213         0xE6, 0xBD, 0x8A, 0xCF, 0x40, 0xA9, 0xB2, 0xFA,
214         0x63, 0x27, 0xFD, 0x9B, 0xD9, 0xFC, 0xD5, 0x87,
215         0x8D, 0x4C, 0xB6, 0xA4, 0xCB, 0xE7, 0x74, 0x55,
216         0xF4, 0xFB, 0x41, 0x25, 0xB5, 0x4B, 0x0A, 0x1B,
217         0xB1, 0xD6, 0xB7, 0xD9, 0x47, 0x2A, 0xC3, 0x98,
218         0x6A, 0xC4, 0x03, 0x73, 0x1F, 0x93, 0x6E, 0x53,
219         0x19, 0x25, 0x64, 0x15, 0x83, 0xF9, 0x73, 0x2A,
220         0x74, 0xB4, 0x93, 0x69, 0xC4, 0x72, 0xFC, 0x26,
221         0xA2, 0x9F, 0x43, 0x45, 0xDD, 0xB9, 0xEF, 0x36,
222         0xC8, 0x3A, 0xCD, 0x99, 0x9B, 0x54, 0x1A, 0x36,
223         0xC1, 0x59, 0xF8, 0x98, 0xA8, 0xCC, 0x28, 0x0D,
224         0x73, 0x4C, 0xEE, 0x98, 0xCB, 0x7C, 0x58, 0x7E,
225         0x20, 0x75, 0x1E, 0xB7, 0xC9, 0xF8, 0xF2, 0x0E,
226         0x63, 0x9E, 0x05, 0x78, 0x1A, 0xB6, 0xA8, 0x7A,
227         0xF9, 0x98, 0x6A, 0xA6, 0x46, 0x84, 0x2E, 0xF6,
228         0x4B, 0xDC, 0x9B, 0x8F, 0x9B, 0x8F, 0xEE, 0xB4,
229         0xAA, 0x3F, 0xEE, 0xC0, 0x37, 0x27, 0x76, 0xC7,
230         0x95, 0xBB, 0x26, 0x74, 0x69, 0x12, 0x7F, 0xF1,
231         0xBB, 0xFF, 0xAE, 0xB5, 0x99, 0x6E, 0xCB, 0x0C
232 };
233
234 static const uint8_t plaintext_aes128ecb[] = {
235         0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96,
236         0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a,
237         0xae, 0x2d, 0x8a, 0x57, 0x1e, 0x03, 0xac, 0x9c,
238         0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, 0x8e, 0x51,
239         0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11,
240         0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef,
241         0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17,
242         0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10
243 };
244
245 static const uint8_t ciphertext_aes128ecb[] = {
246         0x3a, 0xd7, 0x7b, 0xb4, 0x0d, 0x7a, 0x36, 0x60,
247         0xa8, 0x9e, 0xca, 0xf3, 0x24, 0x66, 0xef, 0x97,
248         0xf5, 0xd3, 0xd5, 0x85, 0x03, 0xb9, 0x69, 0x9d,
249         0xe7, 0x85, 0x89, 0x5a, 0x96, 0xfd, 0xba, 0xaf,
250         0x43, 0xb1, 0xcd, 0x7f, 0x59, 0x8e, 0xce, 0x23,
251         0x88, 0x1b, 0x00, 0xe3, 0xed, 0x03, 0x06, 0x88,
252         0x7b, 0x0c, 0x78, 0x5e, 0x27, 0xe8, 0xad, 0x3f,
253         0x82, 0x23, 0x20, 0x71, 0x04, 0x72, 0x5d, 0xd4
254 };
255
256 static const uint8_t plaintext_aes192ecb[] = {
257         0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96,
258         0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a,
259         0xae, 0x2d, 0x8a, 0x57, 0x1e, 0x03, 0xac, 0x9c,
260         0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, 0x8e, 0x51,
261         0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11,
262         0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef,
263         0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17,
264         0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10
265 };
266
267 static const uint8_t ciphertext_aes192ecb[] = {
268         0xbd, 0x33, 0x4f, 0x1d, 0x6e, 0x45, 0xf2, 0x5f,
269         0xf7, 0x12, 0xa2, 0x14, 0x57, 0x1f, 0xa5, 0xcc,
270         0x97, 0x41, 0x04, 0x84, 0x6d, 0x0a, 0xd3, 0xad,
271         0x77, 0x34, 0xec, 0xb3, 0xec, 0xee, 0x4e, 0xef,
272         0xef, 0x7a, 0xfd, 0x22, 0x70, 0xe2, 0xe6, 0x0a,
273         0xdc, 0xe0, 0xba, 0x2f, 0xac, 0xe6, 0x44, 0x4e,
274         0x9a, 0x4b, 0x41, 0xba, 0x73, 0x8d, 0x6c, 0x72,
275         0xfb, 0x16, 0x69, 0x16, 0x03, 0xc1, 0x8e, 0x0e
276 };
277
278 static const uint8_t plaintext_aes256ecb[] = {
279         0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96,
280         0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a,
281         0xae, 0x2d, 0x8a, 0x57, 0x1e, 0x03, 0xac, 0x9c,
282         0x9e, 0xb7, 0x6f, 0xac, 0x45, 0xaf, 0x8e, 0x51,
283         0x30, 0xc8, 0x1c, 0x46, 0xa3, 0x5c, 0xe4, 0x11,
284         0xe5, 0xfb, 0xc1, 0x19, 0x1a, 0x0a, 0x52, 0xef,
285         0xf6, 0x9f, 0x24, 0x45, 0xdf, 0x4f, 0x9b, 0x17,
286         0xad, 0x2b, 0x41, 0x7b, 0xe6, 0x6c, 0x37, 0x10
287 };
288
289 static const uint8_t ciphertext_aes256ecb[] = {
290         0xf3, 0xee, 0xd1, 0xbd, 0xb5, 0xd2, 0xa0, 0x3c,
291         0x06, 0x4b, 0x5a, 0x7e, 0x3d, 0xb1, 0x81, 0xf8,
292         0x59, 0x1c, 0xcb, 0x10, 0xd4, 0x10, 0xed, 0x26,
293         0xdc, 0x5b, 0xa7, 0x4a, 0x31, 0x36, 0x28, 0x70,
294         0xb6, 0xed, 0x21, 0xb9, 0x9c, 0xa6, 0xf4, 0xf9,
295         0xf1, 0x53, 0xe7, 0xb1, 0xbe, 0xaf, 0xed, 0x1d,
296         0x23, 0x30, 0x4b, 0x7a, 0x39, 0xf9, 0xf3, 0xff,
297         0x06, 0x7d, 0x8d, 0x8f, 0x9e, 0x24, 0xec, 0xc7
298 };
299
300 static const uint8_t plaintext_aes128ecb_128bytes[] = {
301         0xf7, 0xcd, 0x12, 0xfb, 0x4f, 0x8e, 0x50, 0xab,
302         0x35, 0x8e, 0x56, 0xf9, 0x83, 0x53, 0x9a, 0x1a,
303         0xfc, 0x47, 0x3c, 0x96, 0x01, 0xfe, 0x01, 0x87,
304         0xd5, 0xde, 0x46, 0x24, 0x5c, 0x62, 0x8f, 0xba,
305         0xba, 0x91, 0x17, 0x8d, 0xba, 0x5a, 0x79, 0xb1,
306         0x57, 0x05, 0x4d, 0x08, 0xba, 0x1f, 0x30, 0xd3,
307         0x80, 0x40, 0xe9, 0x37, 0xb0, 0xd6, 0x34, 0x87,
308         0x33, 0xdd, 0xc0, 0x5b, 0x2d, 0x58, 0x1d, 0x2a,
309         0x7b, 0xb6, 0xe3, 0xd0, 0xc8, 0xa0, 0x7a, 0x69,
310         0xc8, 0x5d, 0x10, 0xa2, 0xc3, 0x39, 0xca, 0xaf,
311         0x40, 0xdc, 0xc7, 0xcb, 0xff, 0x18, 0x7d, 0x51,
312         0x06, 0x28, 0x28, 0x1f, 0x3a, 0x9c, 0x18, 0x7d,
313         0x5b, 0xb5, 0xe9, 0x20, 0xc2, 0xae, 0x17, 0x7f,
314         0xd1, 0x65, 0x7a, 0x75, 0xcf, 0x21, 0xa0, 0x1e,
315         0x17, 0x1b, 0xf7, 0xe8, 0x62, 0x5f, 0xaf, 0x34,
316         0x7f, 0xd8, 0x18, 0x4a, 0x94, 0xf2, 0x33, 0x90
317 };
318
319 static const uint8_t ciphertext_aes128ecb_128bytes[] = {
320         0x48, 0xa0, 0xe8, 0x0a, 0x89, 0x99, 0xab, 0xb5,
321         0x66, 0x6d, 0x68, 0x23, 0x43, 0x40, 0x1f, 0x26,
322         0xac, 0x52, 0xc4, 0x7b, 0x09, 0x0a, 0x8f, 0xc0,
323         0x38, 0x00, 0xf5, 0x48, 0x3a, 0xfd, 0xcd, 0x7e,
324         0x21, 0xe7, 0xf8, 0xf6, 0xc2, 0xa7, 0x4c, 0x1c,
325         0x6e, 0x83, 0x57, 0xf4, 0xa4, 0xb0, 0xc0, 0x5f,
326         0x36, 0x73, 0x22, 0xff, 0x33, 0x44, 0xab, 0xeb,
327         0x96, 0xa8, 0xe0, 0x37, 0x65, 0x81, 0x6b, 0x82,
328         0x89, 0xcd, 0xcc, 0xac, 0x33, 0x18, 0x7d, 0x43,
329         0x0e, 0x79, 0x53, 0x30, 0x21, 0x4c, 0x95, 0x18,
330         0xb6, 0xc9, 0xea, 0x5c, 0x6f, 0xa1, 0x10, 0xa3,
331         0x51, 0x0e, 0x67, 0x8c, 0x1c, 0x9d, 0xf1, 0x57,
332         0xeb, 0xf6, 0xad, 0x4f, 0xf2, 0x55, 0xe8, 0x11,
333         0x6f, 0xaa, 0x4d, 0xe5, 0x18, 0x3d, 0xc3, 0x14,
334         0xf9, 0x40, 0xfa, 0x86, 0x9d, 0xaf, 0xff, 0xfc,
335         0x78, 0xba, 0xbe, 0x61, 0xf8, 0xd1, 0x00, 0x8d
336 };
337
338 static const uint8_t plaintext_aes192ecb_192bytes[] = {
339         0x19, 0x08, 0xa3, 0x58, 0x17, 0x14, 0x70, 0x5a,
340         0xb8, 0xab, 0x4f, 0x5f, 0xa4, 0x25, 0x2b, 0xec,
341         0xb6, 0x74, 0x0b, 0x9d, 0x56, 0x3b, 0xaf, 0xa3,
342         0xa4, 0x2d, 0x3e, 0x1f, 0x18, 0x84, 0x3b, 0x4f,
343         0x48, 0xd9, 0xa3, 0xfe, 0x59, 0x1e, 0x80, 0x67,
344         0x44, 0x35, 0x26, 0x00, 0x78, 0xda, 0x68, 0xfa,
345         0x61, 0x9c, 0xd8, 0x8e, 0x5c, 0xc1, 0xff, 0xeb,
346         0x9c, 0x7d, 0xe7, 0xa9, 0x38, 0xeb, 0x66, 0xf8,
347         0x6a, 0x46, 0x71, 0x51, 0x02, 0xba, 0x8d, 0x70,
348         0x55, 0x5b, 0x60, 0xc6, 0x4c, 0xae, 0xda, 0x2e,
349         0x17, 0xbb, 0x65, 0xef, 0x60, 0x85, 0x9e, 0x77,
350         0xe5, 0x83, 0xef, 0x30, 0x08, 0x3a, 0xba, 0x80,
351         0x28, 0xc0, 0xa1, 0x93, 0x4c, 0x2a, 0x0b, 0xe1,
352         0xcb, 0xd0, 0xac, 0x72, 0x72, 0x1d, 0x96, 0x76,
353         0x0e, 0xc0, 0xec, 0x7d, 0x84, 0xfd, 0xee, 0x08,
354         0xa1, 0x11, 0x20, 0x0d, 0x59, 0x5c, 0x06, 0x3f,
355         0xa3, 0xf1, 0xd7, 0xa3, 0x1d, 0x29, 0xc3, 0xaa,
356         0x05, 0x2b, 0x74, 0x8c, 0x73, 0x60, 0x65, 0x43,
357         0x76, 0xd4, 0xd7, 0x7b, 0x5f, 0x40, 0xf4, 0x77,
358         0xe1, 0xcc, 0x85, 0x37, 0x1c, 0xd8, 0xda, 0x91,
359         0xf0, 0x40, 0xb2, 0x43, 0x2d, 0x87, 0x51, 0xd0,
360         0xce, 0x27, 0xa6, 0x60, 0xac, 0x67, 0xea, 0x8b,
361         0xae, 0x46, 0x2e, 0x78, 0x06, 0x09, 0x8a, 0x82,
362         0xb0, 0x0d, 0x57, 0x56, 0x82, 0xfe, 0x89, 0xd2
363 };
364
365 static const uint8_t ciphertext_aes192ecb_192bytes[] = {
366         0xcc, 0xe2, 0x3f, 0xc3, 0x12, 0x41, 0x31, 0x63,
367         0x03, 0x3a, 0x3c, 0xfe, 0x76, 0x55, 0xd2, 0x26,
368         0xf0, 0xc9, 0xb5, 0xc6, 0xf0, 0x1e, 0xc3, 0x72,
369         0xfb, 0x64, 0x94, 0x7d, 0xf1, 0x5e, 0x2a, 0x9e,
370         0x0d, 0x9a, 0x7a, 0xe0, 0xbc, 0x7b, 0xa6, 0x65,
371         0x41, 0xc0, 0xa0, 0x9d, 0xb1, 0xb1, 0x09, 0x99,
372         0x6e, 0xe7, 0x25, 0x5e, 0x64, 0x2b, 0x74, 0xfa,
373         0xa1, 0x9a, 0x03, 0x33, 0x88, 0x81, 0x27, 0x48,
374         0xdd, 0x53, 0x77, 0x0b, 0xef, 0xd9, 0x2f, 0xfa,
375         0xc8, 0x50, 0x0e, 0x08, 0xa1, 0x45, 0x12, 0x82,
376         0x2b, 0xfb, 0x85, 0x5a, 0x39, 0x8c, 0x71, 0x32,
377         0x59, 0x27, 0x37, 0x53, 0xce, 0x3e, 0xae, 0x00,
378         0x45, 0x53, 0xfd, 0xaf, 0xa5, 0xd1, 0x1a, 0xe9,
379         0xa4, 0x1b, 0xe3, 0x99, 0xde, 0xcd, 0x03, 0x36,
380         0x6b, 0x72, 0x43, 0x76, 0x04, 0xa8, 0xf9, 0x83,
381         0xef, 0x9e, 0x57, 0x75, 0x36, 0x0e, 0x99, 0xe1,
382         0x79, 0x2b, 0x2b, 0x96, 0x01, 0x10, 0xb8, 0xf6,
383         0x4a, 0xa6, 0x13, 0xab, 0x7f, 0x55, 0x60, 0xf0,
384         0xc9, 0x5c, 0x81, 0xa7, 0x96, 0x99, 0xb4, 0x55,
385         0x41, 0x48, 0xf1, 0xd4, 0xa1, 0xb4, 0x76, 0xb5,
386         0x35, 0xe1, 0x02, 0x8e, 0x09, 0xb2, 0x6c, 0x11,
387         0x3f, 0xfb, 0x04, 0x47, 0x98, 0xab, 0x9b, 0x55,
388         0xc3, 0xa9, 0x2a, 0x64, 0x32, 0x5a, 0x69, 0x96,
389         0x28, 0x8c, 0x5b, 0xe3, 0xb2, 0x60, 0x82, 0xec
390 };
391
392 static const uint8_t plaintext_aes256ecb_256bytes[] = {
393         0x0b, 0xe5, 0x48, 0xa6, 0xa1, 0xbc, 0xac, 0x81,
394         0x80, 0x06, 0x5f, 0xae, 0x1e, 0x3f, 0x55, 0x73,
395         0x6d, 0x36, 0x7f, 0x57, 0x3d, 0xa4, 0x4a, 0x6b,
396         0xb6, 0x65, 0x2f, 0xb7, 0xe8, 0x85, 0x47, 0xe2,
397         0x41, 0x42, 0xc2, 0x4e, 0x58, 0xf1, 0xde, 0x42,
398         0x9f, 0x15, 0x4c, 0xaf, 0xea, 0x04, 0x20, 0xd0,
399         0x1a, 0x19, 0x36, 0x74, 0x71, 0x12, 0x72, 0x1b,
400         0xdb, 0x18, 0xf9, 0x0b, 0xb3, 0xf3, 0x63, 0xd4,
401         0x62, 0x52, 0x8b, 0x63, 0x0f, 0x6b, 0x4d, 0xb9,
402         0x70, 0xd6, 0x91, 0xa0, 0x43, 0x3f, 0x46, 0xfe,
403         0x43, 0xbb, 0xb8, 0xdc, 0x5e, 0xdb, 0xd4, 0x1f,
404         0xf0, 0x17, 0x94, 0x25, 0xee, 0x55, 0x67, 0xbf,
405         0x4d, 0xda, 0x9d, 0xe7, 0x4b, 0xc6, 0x7a, 0xcf,
406         0x8f, 0xd7, 0xbb, 0x29, 0x6e, 0x26, 0xd4, 0xc3,
407         0x08, 0x9b, 0x67, 0x15, 0xe9, 0x2d, 0x9f, 0x2d,
408         0x3c, 0x76, 0x26, 0xd3, 0xda, 0xfe, 0x6e, 0x73,
409         0x9d, 0x09, 0x60, 0x4b, 0x35, 0x60, 0xdb, 0x77,
410         0xb6, 0xc0, 0x45, 0x91, 0xf9, 0x14, 0x8a, 0x7a,
411         0xdd, 0xe2, 0xf1, 0xdf, 0x8f, 0x12, 0x4f, 0xd7,
412         0x75, 0xd6, 0x9a, 0x17, 0xda, 0x76, 0x88, 0xf0,
413         0xfa, 0x44, 0x27, 0xbe, 0x61, 0xaf, 0x55, 0x9f,
414         0xc7, 0xf0, 0x76, 0x77, 0xde, 0xca, 0xd1, 0x47,
415         0x51, 0x55, 0xb1, 0xbf, 0xfa, 0x1e, 0xca, 0x28,
416         0x17, 0x70, 0xf3, 0xb5, 0xd4, 0x32, 0x47, 0x04,
417         0xe0, 0x92, 0xd8, 0xa5, 0x03, 0x69, 0x46, 0x99,
418         0x7f, 0x1e, 0x3f, 0xb2, 0x93, 0x36, 0xa3, 0x88,
419         0x75, 0x07, 0x68, 0xb8, 0x33, 0xce, 0x17, 0x3f,
420         0x5c, 0xb7, 0x1e, 0x93, 0x38, 0xc5, 0x1d, 0x79,
421         0x86, 0x7c, 0x9d, 0x9e, 0x2f, 0x69, 0x38, 0x0f,
422         0x97, 0x5c, 0x67, 0xbf, 0xa0, 0x8d, 0x37, 0x0b,
423         0xd3, 0xb1, 0x04, 0x87, 0x1d, 0x74, 0xfe, 0x30,
424         0xfb, 0xd0, 0x22, 0x92, 0xf9, 0xf3, 0x23, 0xc9
425 };
426
427 static const uint8_t ciphertext_aes256ecb_256bytes[] = {
428         0x4b, 0xc0, 0x1f, 0x80, 0xf5, 0xc7, 0xe8, 0xf5,
429         0xc9, 0xd0, 0x3c, 0x86, 0x50, 0x78, 0x21, 0xce,
430         0x01, 0xec, 0x91, 0x00, 0xc9, 0xf8, 0x73, 0x43,
431         0x2f, 0x73, 0x8a, 0x6d, 0xee, 0xed, 0x2d, 0x40,
432         0x17, 0x16, 0x93, 0x15, 0xac, 0xed, 0x28, 0x61,
433         0xb0, 0x0f, 0xa2, 0xe1, 0xd3, 0x80, 0x51, 0xdf,
434         0x73, 0xce, 0x48, 0x4c, 0x1c, 0xc1, 0x8b, 0xc9,
435         0x9e, 0x5c, 0x48, 0x07, 0xa0, 0xf6, 0x29, 0xf8,
436         0x63, 0x87, 0xe4, 0xe7, 0x8b, 0xf8, 0xcf, 0x58,
437         0xda, 0x57, 0x62, 0x11, 0x2e, 0x6e, 0x91, 0x7e,
438         0xc7, 0x73, 0xdb, 0x27, 0x3c, 0x64, 0x72, 0x52,
439         0xe3, 0x27, 0x84, 0x1f, 0x73, 0x3f, 0xf4, 0x94,
440         0xd2, 0xdd, 0x93, 0x33, 0x65, 0x91, 0x98, 0x89,
441         0x13, 0xa9, 0x2b, 0x0d, 0x6f, 0x56, 0x51, 0x15,
442         0x07, 0xc6, 0xa7, 0x36, 0x8f, 0x0c, 0xd6, 0xc2,
443         0x07, 0x06, 0x65, 0x7a, 0xf8, 0x94, 0xa6, 0x75,
444         0x48, 0x4c, 0xcc, 0xa5, 0xa9, 0x91, 0x04, 0x2f,
445         0x7b, 0x89, 0x46, 0xd2, 0x87, 0xcb, 0xd6, 0x1b,
446         0xf3, 0x1e, 0xa7, 0xe5, 0x09, 0xcf, 0x75, 0x05,
447         0x9f, 0xc9, 0xac, 0xcc, 0x61, 0x15, 0x2d, 0x2e,
448         0x2c, 0x0a, 0x57, 0x4d, 0x33, 0x17, 0x6b, 0x22,
449         0x9e, 0x92, 0xc5, 0x81, 0xce, 0x9d, 0x52, 0x68,
450         0x7d, 0x98, 0xe1, 0x23, 0x70, 0xc5, 0x19, 0x3e,
451         0x91, 0xfc, 0xc6, 0xd7, 0x67, 0x5f, 0xbb, 0x57,
452         0x20, 0x96, 0x3f, 0x1f, 0x9f, 0x64, 0xe9, 0xb1,
453         0x51, 0xfd, 0x8c, 0xc1, 0x0f, 0x50, 0xbe, 0x43,
454         0x5f, 0x90, 0xb4, 0xd1, 0xb6, 0x41, 0x7c, 0x37,
455         0x92, 0x71, 0xda, 0x9d, 0xfd, 0xee, 0x69, 0x8c,
456         0x24, 0x18, 0xe8, 0x81, 0x60, 0xe2, 0x89, 0x33,
457         0x42, 0xd4, 0x1b, 0x6a, 0xcb, 0x4a, 0x5b, 0x00,
458         0x01, 0x4f, 0x11, 0x47, 0x0f, 0x57, 0xb0, 0x90,
459         0xf0, 0xed, 0xb0, 0x34, 0x2e, 0x9f, 0x81, 0x6c
460 };
461
462 static const uint8_t plaintext_aes128ecb_1008bytes[] = {
463         0xdd, 0x14, 0xde, 0x30, 0xe0, 0xfd, 0x7b, 0x2a,
464         0x94, 0x8e, 0x28, 0xa0, 0xf6, 0x93, 0x6e, 0xf5,
465         0x92, 0x65, 0x1d, 0x5e, 0x78, 0x2a, 0x9d, 0x39,
466         0xfc, 0xb8, 0x6d, 0x8b, 0xa5, 0xf4, 0x4b, 0x21,
467         0xdd, 0x4e, 0xe9, 0xeb, 0xd7, 0xa7, 0xa1, 0x59,
468         0xdc, 0x4c, 0x5e, 0xcc, 0x83, 0xab, 0xd3, 0x45,
469         0xfe, 0x2c, 0x73, 0x23, 0xea, 0x45, 0xcb, 0x0c,
470         0x12, 0x67, 0x28, 0xcd, 0xef, 0x4e, 0xca, 0xe2,
471         0x1d, 0x92, 0x82, 0xd8, 0x0f, 0xa9, 0x36, 0x23,
472         0x6d, 0x38, 0x68, 0xac, 0xa0, 0xeb, 0xdc, 0xcc,
473         0xdf, 0xb8, 0x3a, 0x53, 0x04, 0x1a, 0x55, 0x27,
474         0x8e, 0x22, 0x86, 0x8c, 0xbd, 0xdc, 0x6b, 0x12,
475         0x9c, 0x69, 0xd2, 0x7a, 0x4b, 0x52, 0x5d, 0x76,
476         0x34, 0xb9, 0x5e, 0x30, 0x0a, 0x8d, 0x1e, 0xf1,
477         0x27, 0xda, 0x5b, 0xb9, 0x5e, 0xbf, 0x65, 0x34,
478         0x00, 0xb6, 0xd2, 0xb0, 0x89, 0x12, 0xb6, 0x35,
479         0xae, 0x27, 0x7f, 0x11, 0xe9, 0xf9, 0x1c, 0x71,
480         0xc9, 0x50, 0xfe, 0xd4, 0x76, 0x50, 0x95, 0xf7,
481         0xe1, 0x1c, 0x14, 0xcd, 0x67, 0x0f, 0xf0, 0x6d,
482         0xa2, 0x93, 0x7b, 0x2c, 0x8d, 0x83, 0x5c, 0xff,
483         0xe4, 0x95, 0xf3, 0xa1, 0xfd, 0x00, 0x77, 0x68,
484         0x41, 0xb4, 0xfb, 0x81, 0xf4, 0x61, 0x1a, 0x84,
485         0x5a, 0x53, 0xc3, 0xdc, 0xba, 0x0d, 0x67, 0x2e,
486         0xcf, 0xf2, 0x30, 0xf5, 0x1d, 0xe9, 0xc4, 0x2c,
487         0xac, 0x1f, 0xa7, 0x9c, 0x64, 0xfd, 0x45, 0x30,
488         0x1b, 0xa1, 0x3b, 0x3d, 0xc7, 0xf5, 0xf9, 0xbb,
489         0xba, 0x99, 0xa4, 0x12, 0x6e, 0x4e, 0xea, 0x0b,
490         0x29, 0x7f, 0xcd, 0x84, 0x64, 0x50, 0x40, 0xb7,
491         0x6a, 0x24, 0x29, 0xa4, 0xa7, 0xa1, 0xef, 0xa9,
492         0xcf, 0xdf, 0x09, 0xff, 0xaa, 0x17, 0x5d, 0x82,
493         0x74, 0xf5, 0xae, 0xd0, 0xe9, 0xec, 0xad, 0x5e,
494         0xa7, 0x84, 0xda, 0xe7, 0x33, 0x58, 0x7e, 0x00,
495         0x45, 0x5f, 0xbb, 0x15, 0xa3, 0x65, 0x0e, 0xf5,
496         0x7e, 0x27, 0xe7, 0x04, 0x52, 0x58, 0x81, 0xd0,
497         0xee, 0x8f, 0xaf, 0xe2, 0x3c, 0xbe, 0x08, 0x97,
498         0x8a, 0x97, 0x12, 0xb0, 0x09, 0xfe, 0xa5, 0xeb,
499         0xd1, 0x9c, 0x30, 0xe8, 0x9a, 0x3f, 0xe0, 0x38,
500         0x34, 0x2b, 0xad, 0xb7, 0xc4, 0xda, 0x54, 0xab,
501         0x97, 0x9c, 0x46, 0x2b, 0x2c, 0x0b, 0xb3, 0x49,
502         0xcd, 0x9d, 0x32, 0x38, 0x3c, 0x1a, 0x49, 0xdc,
503         0x2f, 0xe7, 0xcd, 0x8a, 0xb0, 0x76, 0xcf, 0x30,
504         0xea, 0x0b, 0xb0, 0xb7, 0x63, 0xed, 0xb2, 0x8c,
505         0xc9, 0x2c, 0xb7, 0x75, 0xa8, 0xf6, 0x63, 0xb6,
506         0xcd, 0xb5, 0x63, 0xfb, 0x5f, 0x89, 0xae, 0x3d,
507         0x33, 0x73, 0xaf, 0xde, 0xcb, 0x37, 0x0a, 0x50,
508         0x6f, 0xae, 0xf3, 0xa6, 0x79, 0x85, 0xdd, 0xc5,
509         0x24, 0xc5, 0x29, 0x23, 0x64, 0xef, 0x43, 0xd7,
510         0xc4, 0xab, 0xd8, 0xb0, 0x84, 0x26, 0x6b, 0xe8,
511         0xb1, 0x5d, 0xb5, 0x69, 0xfb, 0x97, 0x0e, 0x20,
512         0xb3, 0xc1, 0x60, 0xad, 0x1a, 0xd2, 0xd6, 0x3a,
513         0x73, 0x08, 0xf0, 0x47, 0x5f, 0xcf, 0x15, 0xf7,
514         0x7b, 0xf3, 0x69, 0x08, 0x5a, 0x6b, 0x9f, 0xc7,
515         0x12, 0xa1, 0xf0, 0xfb, 0x91, 0xc9, 0x07, 0x61,
516         0x21, 0xa0, 0x30, 0x4c, 0x16, 0x81, 0xcd, 0x3c,
517         0x61, 0xe8, 0x96, 0x91, 0x30, 0xdd, 0x0c, 0x0e,
518         0x0b, 0xa1, 0x33, 0x95, 0x67, 0x99, 0xd6, 0x1e,
519         0x1a, 0xb3, 0x12, 0xfd, 0xad, 0x46, 0x48, 0x87,
520         0x5e, 0xe8, 0xd4, 0xf5, 0xac, 0xdf, 0xa7, 0x37,
521         0xb8, 0xa1, 0x62, 0x8c, 0xb8, 0xb6, 0xb0, 0x69,
522         0x63, 0x29, 0x60, 0x64, 0x26, 0xc3, 0xf8, 0x18,
523         0x8e, 0x46, 0xa0, 0xc5, 0x45, 0x5c, 0x08, 0x2a,
524         0xed, 0x29, 0x84, 0x11, 0xea, 0x59, 0xc0, 0x16,
525         0xe2, 0x04, 0x30, 0x63, 0x22, 0x87, 0xb6, 0xc7,
526         0x81, 0xa6, 0x58, 0xc0, 0xb2, 0xb0, 0x7d, 0xbc,
527         0x16, 0x44, 0x6e, 0x5d, 0x6d, 0xce, 0x2a, 0xe0,
528         0x20, 0x69, 0x35, 0xa1, 0x5d, 0x17, 0x48, 0x55,
529         0x88, 0xfe, 0xde, 0x34, 0xe7, 0x18, 0xbf, 0x7e,
530         0x0a, 0x1c, 0x32, 0x88, 0xab, 0xde, 0xe1, 0x02,
531         0x61, 0x09, 0x58, 0x96, 0xef, 0x16, 0x73, 0xac,
532         0xc0, 0x5c, 0x15, 0xca, 0x9b, 0xea, 0x0e, 0x05,
533         0x97, 0x88, 0x09, 0xc5, 0xd0, 0x95, 0x90, 0xae,
534         0xa5, 0xb5, 0x28, 0xc6, 0x5a, 0x7b, 0xb3, 0xcc,
535         0xae, 0x57, 0x71, 0x83, 0x56, 0x57, 0xca, 0xe8,
536         0x8b, 0x21, 0x0c, 0x37, 0x1d, 0xde, 0x85, 0xe2,
537         0x1b, 0xa2, 0x38, 0xa0, 0xc5, 0xc7, 0x98, 0x7b,
538         0xf9, 0x5e, 0x6a, 0x68, 0xb3, 0xed, 0x49, 0x5e,
539         0x46, 0xb9, 0xc9, 0xf6, 0x34, 0xa6, 0x0e, 0xac,
540         0x90, 0x72, 0xcf, 0xf8, 0x5b, 0x48, 0x13, 0x40,
541         0x7a, 0xce, 0xfd, 0x3c, 0x16, 0xff, 0xb5, 0xea,
542         0xb2, 0x56, 0x47, 0xcc, 0x9f, 0xbc, 0xae, 0x4a,
543         0xc8, 0xa5, 0x59, 0x57, 0x01, 0xd7, 0x9f, 0xd7,
544         0xbf, 0x13, 0xb1, 0xbf, 0xb7, 0x9a, 0xa0, 0xa1,
545         0xc6, 0x66, 0x61, 0x96, 0xf2, 0xcd, 0x8c, 0xcb,
546         0x3c, 0x67, 0xb5, 0xed, 0xb7, 0xa2, 0x54, 0x84,
547         0x3c, 0xcb, 0x7e, 0xb3, 0x97, 0x05, 0xcb, 0x8f,
548         0xa9, 0xc6, 0x3c, 0xa2, 0xbd, 0xbf, 0x3a, 0xb8,
549         0x92, 0x08, 0x01, 0xea, 0xfd, 0x55, 0x2f, 0x27,
550         0x2a, 0x82, 0x38, 0x26, 0x1d, 0x81, 0x19, 0x33,
551         0x75, 0x3c, 0xa2, 0x13, 0x1e, 0x58, 0x9f, 0x0b,
552         0x08, 0x5d, 0x7a, 0x2c, 0x9a, 0xd1, 0xa5, 0x4c,
553         0x41, 0xb4, 0x1d, 0xf8, 0x42, 0x08, 0x87, 0xdd,
554         0x8e, 0xc9, 0x05, 0xd2, 0x8c, 0xba, 0x93, 0x28,
555         0xbe, 0x4a, 0x14, 0x13, 0x2a, 0x58, 0xf0, 0x1c,
556         0xac, 0xc1, 0xc4, 0x49, 0xbc, 0xe1, 0xda, 0xb6,
557         0x2d, 0x06, 0x98, 0x32, 0xea, 0xa3, 0x89, 0x11,
558         0xca, 0x5f, 0x3e, 0xda, 0x24, 0xe2, 0xdb, 0x1e,
559         0xca, 0xf3, 0xc0, 0xc7, 0x64, 0xee, 0x4b, 0x3d,
560         0xa2, 0xee, 0x69, 0xb0, 0x3f, 0x2c, 0xd5, 0x49,
561         0xba, 0x2d, 0x45, 0x7d, 0xdd, 0xb0, 0x0d, 0xc5,
562         0xe0, 0x57, 0x95, 0xbe, 0xf8, 0x4a, 0x11, 0x46,
563         0x4c, 0xbb, 0xdf, 0xa8, 0x5a, 0xf9, 0xff, 0x0e,
564         0x31, 0xa9, 0x50, 0x5d, 0xc4, 0xb3, 0x3d, 0x09,
565         0x46, 0x33, 0x39, 0x31, 0xd5, 0xb3, 0xe5, 0x91,
566         0xcf, 0xca, 0x8a, 0xe0, 0xc2, 0x8e, 0xea, 0xbe,
567         0x54, 0x64, 0x78, 0x0c, 0x25, 0x1c, 0x17, 0xbc,
568         0x49, 0xf9, 0xc0, 0x30, 0x5f, 0x08, 0x04, 0x9d,
569         0xb5, 0xe4, 0xeb, 0x9e, 0xe5, 0x1e, 0x6d, 0xbc,
570         0x7b, 0xe7, 0xf0, 0xd1, 0xa0, 0x01, 0x18, 0x51,
571         0x4f, 0x64, 0xc3, 0x9c, 0x70, 0x25, 0x4f, 0xed,
572         0xc7, 0xbc, 0x19, 0x00, 0x09, 0x22, 0x97, 0x5d,
573         0x6f, 0xe4, 0x47, 0x98, 0x05, 0xcd, 0xcc, 0xde,
574         0xd5, 0xe3, 0xaf, 0xa3, 0xde, 0x69, 0x99, 0x2a,
575         0xd1, 0x28, 0x4d, 0x7c, 0x89, 0xa0, 0xdb, 0xae,
576         0xf9, 0xf1, 0x4a, 0x46, 0xdf, 0xbe, 0x1d, 0x37,
577         0xf2, 0xd5, 0x36, 0x4a, 0x54, 0xe8, 0xc4, 0xfb,
578         0x57, 0x77, 0x09, 0x05, 0x31, 0x99, 0xaf, 0x9a,
579         0x17, 0xd1, 0x20, 0x93, 0x31, 0x89, 0xff, 0xed,
580         0x0f, 0xf8, 0xed, 0xb3, 0xcf, 0x4c, 0x9a, 0x74,
581         0xbb, 0x00, 0x36, 0x41, 0xd1, 0x13, 0x68, 0x73,
582         0x78, 0x63, 0x42, 0xdd, 0x99, 0x15, 0x9a, 0xf4,
583         0xe1, 0xad, 0x6d, 0xf6, 0x5e, 0xca, 0x20, 0x24,
584         0xd7, 0x9d, 0x2f, 0x58, 0x97, 0xf7, 0xde, 0x31,
585         0x51, 0xa3, 0x1c, 0xe2, 0x66, 0x24, 0x4b, 0xa1,
586         0x56, 0x02, 0x32, 0xf4, 0x89, 0xf3, 0x86, 0x9a,
587         0x85, 0xda, 0x95, 0xa8, 0x7f, 0x6a, 0x77, 0x02,
588         0x3a, 0xba, 0xe0, 0xbe, 0x34, 0x5c, 0x9a, 0x1a
589 };
590
591 static const uint8_t ciphertext_aes128ecb_1008bytes[] = {
592         0x62, 0xa1, 0xcc, 0x1e, 0x1b, 0xc3, 0xb1, 0x11,
593         0xb5, 0x11, 0x4c, 0x37, 0xbf, 0xd0, 0x0c, 0xef,
594         0x36, 0x9f, 0x99, 0x49, 0x38, 0xc2, 0x62, 0xbd,
595         0x3e, 0x03, 0xd1, 0x02, 0xa2, 0x18, 0xdc, 0x58,
596         0x9c, 0x01, 0x99, 0xd8, 0x47, 0xeb, 0x27, 0xce,
597         0x76, 0x84, 0xa5, 0xab, 0xb7, 0x9b, 0xbb, 0x98,
598         0xc9, 0x84, 0x02, 0x6e, 0x32, 0x65, 0xc9, 0xcb,
599         0xca, 0xc7, 0xa5, 0x95, 0x11, 0xcc, 0x0a, 0x9d,
600         0x5e, 0xea, 0xba, 0x59, 0xef, 0x25, 0xc0, 0x2d,
601         0x8b, 0xa2, 0xec, 0x2f, 0x34, 0xea, 0x7c, 0xef,
602         0xee, 0x2a, 0x57, 0x80, 0xc4, 0xca, 0x5e, 0x08,
603         0x8c, 0x12, 0x13, 0x39, 0xd1, 0xc7, 0x96, 0x93,
604         0x41, 0x22, 0x97, 0x1c, 0x7d, 0xe0, 0x47, 0xab,
605         0xfa, 0xd7, 0xc6, 0x38, 0x5a, 0x39, 0xdb, 0x4c,
606         0xd4, 0x6d, 0x50, 0x2b, 0x8f, 0xb1, 0x92, 0x06,
607         0x01, 0xbf, 0xdc, 0x14, 0x5c, 0x32, 0xee, 0xb0,
608         0x6a, 0x36, 0xe8, 0xe9, 0xf3, 0x12, 0x9f, 0x1f,
609         0x00, 0xe5, 0x25, 0x3b, 0x52, 0x74, 0xba, 0x50,
610         0x17, 0x81, 0x60, 0x5c, 0x15, 0xec, 0x4d, 0xb0,
611         0x6a, 0xa1, 0xdd, 0xb4, 0xa2, 0x71, 0x01, 0xb8,
612         0x8b, 0x59, 0x93, 0x58, 0x23, 0xd6, 0x38, 0xbf,
613         0x49, 0x94, 0xb7, 0x6e, 0x22, 0x75, 0x68, 0x1f,
614         0x15, 0x2c, 0xc4, 0x46, 0x44, 0x35, 0xc8, 0x7a,
615         0x40, 0x2e, 0x55, 0x3f, 0x67, 0x4d, 0x12, 0x21,
616         0xf6, 0xb1, 0x20, 0x47, 0x4f, 0x35, 0xe4, 0x96,
617         0xf9, 0xa2, 0xdc, 0x4c, 0xe3, 0xa2, 0x13, 0x41,
618         0xed, 0x6d, 0x86, 0x80, 0x23, 0xe5, 0x2a, 0xd1,
619         0xa0, 0x69, 0x8f, 0x7e, 0x22, 0x3f, 0xf1, 0x65,
620         0x9f, 0xd7, 0x86, 0xa8, 0x78, 0x57, 0x49, 0x74,
621         0x91, 0x52, 0x91, 0xe7, 0x1e, 0xe2, 0x14, 0xe9,
622         0x88, 0xe1, 0x67, 0x12, 0x3d, 0x0a, 0x22, 0x31,
623         0x56, 0x2e, 0x36, 0xd4, 0x45, 0xc9, 0x9b, 0x7b,
624         0x09, 0x53, 0x55, 0x36, 0xed, 0xa3, 0xc2, 0x22,
625         0xac, 0x00, 0x5e, 0x57, 0xc8, 0x40, 0x65, 0xd2,
626         0x62, 0x61, 0x35, 0xf2, 0xe8, 0x4f, 0xb3, 0x9d,
627         0x2c, 0xb2, 0x12, 0x5e, 0x15, 0x47, 0xd6, 0x1c,
628         0x99, 0x80, 0xe0, 0x1c, 0x09, 0x28, 0xa0, 0x7e,
629         0x6c, 0x96, 0xc9, 0x62, 0x33, 0xd3, 0xbe, 0x53,
630         0x16, 0xa0, 0xf2, 0xa9, 0x42, 0x1c, 0x81, 0xa3,
631         0x35, 0x9b, 0x93, 0x9e, 0xc6, 0xc0, 0x83, 0x03,
632         0xb7, 0x39, 0x66, 0xc9, 0x86, 0xf8, 0x8d, 0xc0,
633         0xe2, 0x88, 0xb4, 0x1f, 0x5d, 0x15, 0x80, 0x60,
634         0x2d, 0x53, 0x1d, 0x60, 0x07, 0xbc, 0x72, 0x11,
635         0xd0, 0x0e, 0xcb, 0x70, 0x9c, 0xa0, 0x48, 0x56,
636         0x21, 0x5f, 0x18, 0xdd, 0xa3, 0x1d, 0xdb, 0xe0,
637         0x41, 0x0c, 0x9e, 0xb9, 0xa2, 0x7e, 0x32, 0xb3,
638         0x3e, 0x91, 0x9d, 0xf2, 0xa6, 0x0d, 0x8c, 0xea,
639         0xae, 0x44, 0xb2, 0x0f, 0x11, 0x35, 0x27, 0x2e,
640         0xb6, 0x3d, 0xe9, 0x63, 0x86, 0x2e, 0x81, 0xdc,
641         0xfa, 0xb4, 0x52, 0x1d, 0x9c, 0xd5, 0x44, 0x95,
642         0xc8, 0xd0, 0x66, 0x8a, 0xbd, 0xf6, 0xd1, 0xff,
643         0xeb, 0x82, 0x68, 0x58, 0x7b, 0xec, 0x0e, 0x92,
644         0x0e, 0x48, 0xd6, 0xff, 0x8d, 0xac, 0xc1, 0x41,
645         0x84, 0x9e, 0x56, 0x54, 0xf9, 0xb5, 0x1c, 0xb0,
646         0x9f, 0xde, 0xfe, 0x14, 0x42, 0x0d, 0x22, 0x12,
647         0xf2, 0x7d, 0x7b, 0xc3, 0x2e, 0x72, 0x27, 0x76,
648         0x12, 0xdf, 0x57, 0x2f, 0x97, 0x82, 0x9b, 0xcf,
649         0x75, 0x1a, 0x4a, 0x0c, 0xad, 0x29, 0x56, 0x4c,
650         0x74, 0xaf, 0x95, 0x03, 0xff, 0x9f, 0x9d, 0xc3,
651         0x2e, 0x9c, 0x1a, 0x42, 0x75, 0xe1, 0x59, 0xc9,
652         0x05, 0x12, 0x6c, 0xea, 0x2b, 0x2f, 0x89, 0xfc,
653         0xa4, 0x73, 0xc8, 0xdc, 0xf6, 0xd5, 0x50, 0x19,
654         0x22, 0x80, 0xbc, 0x08, 0x48, 0xb4, 0x45, 0x47,
655         0x25, 0x01, 0xa9, 0x55, 0x7b, 0x66, 0xbd, 0x84,
656         0x0f, 0x16, 0xfa, 0x44, 0x23, 0x51, 0x6f, 0xed,
657         0x35, 0x0e, 0x88, 0x4d, 0xda, 0xe8, 0x27, 0x94,
658         0xbd, 0x68, 0x46, 0x28, 0x79, 0x8c, 0x03, 0x03,
659         0xf0, 0x81, 0xac, 0xbc, 0xc2, 0xdd, 0xa8, 0x98,
660         0xdf, 0xe3, 0x1c, 0x1c, 0x4b, 0x43, 0x9e, 0x7b,
661         0x26, 0x3c, 0xe9, 0xff, 0x3b, 0xee, 0x35, 0xe6,
662         0x2a, 0xcf, 0xdc, 0x17, 0x85, 0x99, 0x9e, 0x88,
663         0x5c, 0x38, 0x4c, 0x56, 0x4a, 0x06, 0xeb, 0x28,
664         0xf7, 0xb5, 0x97, 0x04, 0xd4, 0x05, 0x85, 0xee,
665         0x90, 0xd7, 0xe2, 0x10, 0x8a, 0x86, 0xb2, 0x3f,
666         0xbf, 0x3f, 0x6a, 0xe6, 0xeb, 0xc1, 0x42, 0x97,
667         0xcb, 0x30, 0x41, 0x44, 0x79, 0x44, 0x7e, 0x1e,
668         0x3e, 0x55, 0xe5, 0xc8, 0xd5, 0xec, 0x64, 0x3d,
669         0x09, 0x69, 0xea, 0xdb, 0xe5, 0x08, 0x33, 0x00,
670         0x79, 0x1b, 0x31, 0xf2, 0x3d, 0xbd, 0x73, 0xe6,
671         0x0e, 0xc1, 0xb9, 0x45, 0xbf, 0xa5, 0x52, 0x5a,
672         0xcd, 0x71, 0x7a, 0x2e, 0x20, 0x1e, 0xbf, 0xff,
673         0x42, 0x0a, 0x6a, 0x1b, 0xa4, 0xad, 0x79, 0x3d,
674         0x34, 0x54, 0x73, 0xe2, 0xd6, 0x6f, 0xb0, 0xcc,
675         0xc0, 0x8a, 0x56, 0x3d, 0x4d, 0x90, 0x35, 0xe3,
676         0x4b, 0xcc, 0x40, 0x40, 0xbc, 0xcf, 0x93, 0xa0,
677         0xbd, 0x5c, 0xed, 0x22, 0x57, 0x92, 0x5c, 0x8d,
678         0xfb, 0x67, 0x9e, 0xab, 0x40, 0xc9, 0xed, 0x7c,
679         0xa1, 0xb6, 0x36, 0xb2, 0xcb, 0xbc, 0xf2, 0x1a,
680         0x46, 0x6c, 0x1f, 0xb3, 0xe4, 0xf6, 0x4c, 0x7a,
681         0x10, 0x81, 0x16, 0x93, 0x77, 0xa3, 0xa1, 0x07,
682         0xec, 0xc8, 0x01, 0x76, 0xf8, 0xe3, 0xe6, 0xae,
683         0xaf, 0x90, 0x98, 0x3a, 0xbd, 0x7d, 0x28, 0x57,
684         0xb4, 0xc5, 0xfe, 0x13, 0xab, 0x6c, 0x77, 0xc1,
685         0xc3, 0x47, 0x1d, 0x34, 0x2f, 0xdd, 0xe1, 0x7b,
686         0x8b, 0x65, 0xc4, 0xe3, 0x45, 0xda, 0x6e, 0xba,
687         0x37, 0xb1, 0x37, 0xbf, 0x63, 0x1d, 0x39, 0x77,
688         0xf0, 0xa8, 0xf8, 0xda, 0x91, 0xd3, 0x27, 0xb9,
689         0x29, 0x70, 0xf7, 0xae, 0x11, 0x6d, 0x8a, 0x8f,
690         0x2f, 0x3a, 0xe1, 0xb8, 0x9b, 0xb5, 0x2a, 0xa8,
691         0x7b, 0x86, 0x49, 0xca, 0x0c, 0x95, 0x17, 0x1e,
692         0xaf, 0x9c, 0x52, 0x6b, 0x68, 0xae, 0xe3, 0xc3,
693         0xc9, 0x8c, 0x89, 0x4b, 0xf2, 0xfb, 0xb1, 0xae,
694         0x2f, 0x80, 0xf9, 0xa3, 0xf4, 0x10, 0x09, 0x36,
695         0x81, 0x27, 0x06, 0x6d, 0xe9, 0x79, 0x8e, 0xa4,
696         0x8e, 0x12, 0xfa, 0x03, 0x8e, 0x69, 0x4c, 0x7e,
697         0xc5, 0x10, 0xd5, 0x00, 0x64, 0x87, 0xf8, 0x10,
698         0x8a, 0x8e, 0x96, 0x9e, 0xc8, 0xac, 0x42, 0x75,
699         0x97, 0x6d, 0x62, 0x3f, 0xa3, 0x29, 0x11, 0xd2,
700         0x73, 0xd3, 0x95, 0xef, 0xb4, 0x64, 0xa4, 0x37,
701         0x09, 0x15, 0x42, 0x7f, 0xc4, 0x46, 0x8b, 0x80,
702         0xa8, 0xd9, 0x2a, 0xfc, 0x38, 0x8f, 0xf9, 0xc1,
703         0xc5, 0x95, 0xad, 0x62, 0xc9, 0x6c, 0x60, 0x0b,
704         0x30, 0x04, 0x8c, 0x88, 0xb5, 0x0b, 0x73, 0x23,
705         0xa4, 0xe0, 0xb7, 0x6e, 0x4c, 0x78, 0xe5, 0x0a,
706         0xfb, 0xe1, 0xc4, 0xeb, 0x1a, 0xb4, 0xd8, 0x3c,
707         0x06, 0xb0, 0x00, 0x23, 0x86, 0xb0, 0xb4, 0x9d,
708         0x33, 0xe4, 0x21, 0xca, 0xf2, 0xad, 0x14, 0x07,
709         0x82, 0x25, 0xde, 0x85, 0xe4, 0x58, 0x56, 0x93,
710         0x09, 0x3a, 0xeb, 0xde, 0x46, 0x77, 0x76, 0xa2,
711         0x35, 0x39, 0xd0, 0xf6, 0x10, 0x81, 0x73, 0x3f,
712         0x22, 0x3b, 0xeb, 0xca, 0x00, 0x19, 0x38, 0x89,
713         0x26, 0x29, 0x7d, 0x6f, 0x70, 0xa6, 0xbb, 0x52,
714         0x58, 0xb1, 0x0a, 0x85, 0xe9, 0x0b, 0x74, 0x2f,
715         0x08, 0xe8, 0xa4, 0x4d, 0xa1, 0xcf, 0xf2, 0x75,
716         0xed, 0x05, 0xae, 0x7f, 0x10, 0xb1, 0x71, 0x26,
717         0xc5, 0xc7, 0xdc, 0xb0, 0x2d, 0x26, 0xf1, 0xb4
718 };
719
720 /** AES-128-ECB test vector */
721 static const struct blockcipher_test_data aes_test_data_15 = {
722         .crypto_algo = RTE_CRYPTO_CIPHER_AES_ECB,
723         .cipher_key = {
724                 .data = {
725                          0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
726                          0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c
727                 },
728                 .len = 16
729         },
730         .iv = {
731                .data = { 0 },
732                .len = 0
733         },
734         .plaintext = {
735                 .data = plaintext_aes128ecb,
736                 .len = 64
737         },
738         .ciphertext = {
739                 .data = ciphertext_aes128ecb,
740                 .len = 64
741         }
742 };
743
744 /** AES-192-ECB test vector */
745 static const struct blockcipher_test_data aes_test_data_16 = {
746         .crypto_algo = RTE_CRYPTO_CIPHER_AES_ECB,
747         .cipher_key = {
748                 .data = {
749                          0x8e, 0x73, 0xb0, 0xf7, 0xda, 0x0e, 0x64, 0x52,
750                          0xc8, 0x10, 0xf3, 0x2b, 0x80, 0x90, 0x79, 0xe5,
751                          0x62, 0xf8, 0xea, 0xd2, 0x52, 0x2c, 0x6b, 0x7b
752                 },
753                 .len = 24
754         },
755         .iv = {
756                .data = { 0 },
757                .len = 0
758         },
759         .plaintext = {
760                 .data = plaintext_aes192ecb,
761                 .len = 64
762         },
763         .ciphertext = {
764                 .data = ciphertext_aes192ecb,
765                 .len = 64
766         }
767 };
768
769 /** AES-256-ECB test vector */
770 static const struct blockcipher_test_data aes_test_data_17 = {
771         .crypto_algo = RTE_CRYPTO_CIPHER_AES_ECB,
772         .cipher_key = {
773                 .data = {
774                          0x60, 0x3d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe,
775                          0x2b, 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81,
776                          0x1f, 0x35, 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7,
777                          0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, 0xf4
778                 },
779                 .len = 32
780         },
781         .iv = {
782                .data = { 0 },
783                .len = 0
784         },
785         .plaintext = {
786                 .data = plaintext_aes256ecb,
787                 .len = 64
788         },
789         .ciphertext = {
790                 .data = ciphertext_aes256ecb,
791                 .len = 64
792         }
793 };
794
795 /** AES-128-ECB 128 byte test vector */
796 static const struct blockcipher_test_data aes_test_data_18 = {
797         .crypto_algo = RTE_CRYPTO_CIPHER_AES_ECB,
798         .cipher_key = {
799                 .data = {
800                          0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
801                          0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c
802                 },
803                 .len = 16
804         },
805         .iv = {
806                .data = { 0 },
807                .len = 0
808         },
809         .plaintext = {
810                 .data = plaintext_aes128ecb_128bytes,
811                 .len = 128
812         },
813         .ciphertext = {
814                 .data = ciphertext_aes128ecb_128bytes,
815                 .len = 128
816         }
817 };
818
819 /** AES-192-ECB 192 bytes test vector */
820 static const struct blockcipher_test_data aes_test_data_19 = {
821         .crypto_algo = RTE_CRYPTO_CIPHER_AES_ECB,
822         .cipher_key = {
823                 .data = {
824                          0x8e, 0x73, 0xb0, 0xf7, 0xda, 0x0e, 0x64, 0x52,
825                          0xc8, 0x10, 0xf3, 0x2b, 0x80, 0x90, 0x79, 0xe5,
826                          0x62, 0xf8, 0xea, 0xd2, 0x52, 0x2c, 0x6b, 0x7b
827                 },
828                 .len = 24
829         },
830         .iv = {
831                .data = { 0 },
832                .len = 0
833         },
834         .plaintext = {
835                 .data = plaintext_aes192ecb_192bytes,
836                 .len = 64
837         },
838         .ciphertext = {
839                 .data = ciphertext_aes192ecb_192bytes,
840                 .len = 64
841         }
842 };
843
844 /** AES-256-ECB 256 byte test vector */
845 static const struct blockcipher_test_data aes_test_data_20 = {
846         .crypto_algo = RTE_CRYPTO_CIPHER_AES_ECB,
847         .cipher_key = {
848                 .data = {
849                          0x60, 0x3d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe,
850                          0x2b, 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81,
851                          0x1f, 0x35, 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7,
852                          0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, 0xf4
853                 },
854                 .len = 32
855         },
856         .iv = {
857                .data = { 0 },
858                .len = 0
859         },
860         .plaintext = {
861                 .data = plaintext_aes256ecb_256bytes,
862                 .len = 256
863         },
864         .ciphertext = {
865                 .data = ciphertext_aes256ecb_256bytes,
866                 .len = 256
867         }
868 };
869
870 /** AES-128-ECB 1008 byte test vector */
871 static const struct blockcipher_test_data aes_test_data_21 = {
872         .crypto_algo = RTE_CRYPTO_CIPHER_AES_ECB,
873         .cipher_key = {
874                 .data = {
875                          0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
876                          0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c
877                 },
878                 .len = 16
879         },
880         .iv = {
881                .data = { 0 },
882                .len = 0
883         },
884         .plaintext = {
885                 .data = plaintext_aes128ecb_1008bytes,
886                 .len = 1008
887         },
888         .ciphertext = {
889                 .data = ciphertext_aes128ecb_1008bytes,
890                 .len = 1008
891         }
892 };
893
894 /* NULL cipher NULL auth 8-byte multiple test vector */
895 static const struct blockcipher_test_data null_test_data_chain_x8_multiple = {
896         .crypto_algo = RTE_CRYPTO_CIPHER_NULL,
897         .cipher_key = { /* arbitrary data - shouldn't be used */
898                 .data = {
899                         0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
900                         0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
901                 },
902                 .len = 16
903         },
904         .iv = {                 /* arbitrary data - shouldn't be used */
905                 .data = {
906                         0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
907                         0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
908                 },
909                 .len = 16
910         },
911         .plaintext = {
912                 .data = plaintext_aes_common,
913                 .len = 512
914         },
915         .ciphertext = {
916                 .data = plaintext_aes_common,
917                 .len = 512
918         },
919         .auth_algo = RTE_CRYPTO_AUTH_NULL,
920         .auth_key = {           /* arbitrary data - shouldn't be used */
921                 .data = {
922                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
923                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
924                         0xDE, 0xF4, 0xDE, 0xAD
925                 },
926                 .len = 20
927         },
928         .digest = {
929                 .data = {
930                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
931                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
932                         0x00, 0x00, 0x00, 0x00
933                 },
934                 .len = 20,
935                 .truncated_len = 12
936         }
937 };
938
939 /* NULL cipher NULL auth 4-byte multiple test vector */
940 static const struct blockcipher_test_data null_test_data_chain_x4_multiple = {
941         .crypto_algo = RTE_CRYPTO_CIPHER_NULL,
942         .cipher_key = { /* arbitrary data - shouldn't be used */
943                 .data = {
944                         0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
945                         0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
946                 },
947                 .len = 16
948         },
949         .iv = {                 /* arbitrary data - shouldn't be used */
950                 .data = {
951                         0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
952                         0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
953                 },
954                 .len = 16
955         },
956         .plaintext = {
957                 .data = plaintext_aes128ctr,
958                 .len = 20
959         },
960         .ciphertext = {
961                 .data = plaintext_aes128ctr,
962                 .len = 20
963         },
964         .auth_algo = RTE_CRYPTO_AUTH_NULL,
965         .auth_key = {           /* arbitrary data - shouldn't be used */
966                 .data = {
967                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
968                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
969                         0xDE, 0xF4, 0xDE, 0xAD
970                 },
971                 .len = 20
972         },
973         .digest = {
974                 .data = {
975                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
976                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
977                         0x00, 0x00, 0x00, 0x00
978                 },
979                 .len = 20,
980                 .truncated_len = 12
981         }
982 };
983
984 /* NULL cipher NULL auth 1-byte multiple test vector */
985 static const struct blockcipher_test_data null_test_data_chain_x1_multiple = {
986         .crypto_algo = RTE_CRYPTO_CIPHER_NULL,
987         .cipher_key = { /* arbitrary data - shouldn't be used */
988                 .data = {
989                         0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
990                         0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
991                 },
992                 .len = 16
993         },
994         .iv = {                 /* arbitrary data - shouldn't be used */
995                 .data = {
996                         0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
997                         0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
998                 },
999                 .len = 16
1000         },
1001         .plaintext = {
1002                 .data = plaintext_aes128ctr,
1003                 .len = 21
1004         },
1005         .ciphertext = {
1006                 .data = plaintext_aes128ctr,
1007                 .len = 21
1008         },
1009         .auth_algo = RTE_CRYPTO_AUTH_NULL,
1010         .auth_key = {           /* arbitrary data - shouldn't be used */
1011                 .data = {
1012                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1013                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1014                         0xDE, 0xF4, 0xDE, 0xAD
1015                 },
1016                 .len = 20
1017         },
1018         .digest = {
1019                 .data = {
1020                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1021                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1022                         0x00, 0x00, 0x00, 0x00
1023                 },
1024                 .len = 20,
1025                 .truncated_len = 12
1026         }
1027 };
1028
1029 static const uint8_t ciphertext512_aes128cbc_aad[] = {
1030         0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C,
1031         0x1D, 0x7C, 0x76, 0xED, 0xC2, 0x10, 0x3C, 0xB5,
1032         0x14, 0x07, 0x3C, 0x33, 0x7B, 0xBE, 0x9E, 0xA9,
1033         0x01, 0xC5, 0xAA, 0xA6, 0xB6, 0x7A, 0xE1, 0xDB,
1034         0x39, 0xAA, 0xAA, 0xF4, 0xEE, 0xA7, 0x71, 0x71,
1035         0x78, 0x0D, 0x5A, 0xD4, 0xF9, 0xCD, 0x75, 0xD1,
1036         0x9C, 0x7F, 0xC8, 0x58, 0x46, 0x7A, 0xD1, 0x81,
1037         0xEA, 0xCC, 0x08, 0xDC, 0x82, 0x73, 0x22, 0x08,
1038         0x11, 0x73, 0x7C, 0xB1, 0x84, 0x6A, 0x8E, 0x67,
1039         0x3F, 0x5D, 0xDB, 0x0E, 0xE2, 0xC2, 0xCB, 0x6D,
1040         0x88, 0xEC, 0x3F, 0x50, 0x44, 0xD3, 0x47, 0x6E,
1041         0xDD, 0x42, 0xDC, 0x2A, 0x5E, 0x5C, 0x50, 0x24,
1042         0x57, 0x8A, 0xE7, 0xC5, 0x53, 0x6D, 0x89, 0x33,
1043         0x21, 0x65, 0x82, 0xD6, 0xE9, 0xE7, 0x77, 0x10,
1044         0xC2, 0x09, 0x91, 0xC1, 0x42, 0x62, 0x36, 0xF4,
1045         0x43, 0x37, 0x95, 0xB3, 0x7E, 0x21, 0xC5, 0x3E,
1046         0x65, 0xCB, 0xB6, 0xAA, 0xEC, 0xA5, 0xC6, 0x5C,
1047         0x4D, 0xBE, 0x14, 0xF1, 0x98, 0xBF, 0x6C, 0x8A,
1048         0x9E, 0x9F, 0xD4, 0xB4, 0xF2, 0x22, 0x96, 0x99,
1049         0x37, 0x32, 0xB6, 0xC1, 0x04, 0x66, 0x52, 0x37,
1050         0x5D, 0x5F, 0x58, 0x92, 0xC9, 0x97, 0xEA, 0x60,
1051         0x60, 0x27, 0x57, 0xF9, 0x47, 0x4F, 0xBC, 0xDF,
1052         0x05, 0xBD, 0x37, 0x87, 0xBB, 0x09, 0xA5, 0xBE,
1053         0xC1, 0xFC, 0x32, 0x86, 0x6A, 0xB7, 0x8B, 0x1E,
1054         0x6B, 0xCE, 0x8D, 0x81, 0x63, 0x4C, 0xF2, 0x7F,
1055         0xD1, 0x45, 0x82, 0xE8, 0x0D, 0x1C, 0x4D, 0xA8,
1056         0xBF, 0x2D, 0x2B, 0x52, 0xE5, 0xDB, 0xAB, 0xFD,
1057         0x04, 0xA2, 0xA1, 0x1E, 0x21, 0x1D, 0x06, 0x9A,
1058         0xC2, 0x7D, 0x99, 0xFC, 0xB4, 0x72, 0x89, 0x41,
1059         0x55, 0x69, 0xFA, 0x1F, 0x78, 0x2F, 0x35, 0x59,
1060         0xD7, 0x59, 0x6D, 0xA6, 0x45, 0xC9, 0x2B, 0x06,
1061         0x6C, 0xEC, 0x83, 0x34, 0xA5, 0x08, 0xDB, 0x6F,
1062         0xDE, 0x75, 0x21, 0x9B, 0xB0, 0xCB, 0x0A, 0xAE,
1063         0x22, 0x99, 0x74, 0x1C, 0x9D, 0x37, 0x0E, 0xC6,
1064         0x3A, 0x45, 0x49, 0xE5, 0xE3, 0x21, 0x11, 0xEA,
1065         0x34, 0x25, 0xD5, 0x76, 0xB0, 0x30, 0x19, 0x87,
1066         0x14, 0x3A, 0x10, 0x6F, 0x6D, 0xDD, 0xE9, 0x60,
1067         0x6A, 0x00, 0x6A, 0x4C, 0x5B, 0x85, 0x3E, 0x1A,
1068         0x41, 0xFA, 0xDE, 0x2D, 0x2F, 0x2E, 0x5B, 0x79,
1069         0x09, 0x66, 0x65, 0xD0, 0xDB, 0x32, 0x05, 0xB5,
1070         0xEA, 0xFB, 0x6A, 0xD5, 0x43, 0xF8, 0xBD, 0x98,
1071         0x7B, 0x8E, 0x3B, 0x85, 0x89, 0x5D, 0xC5, 0x59,
1072         0x54, 0x22, 0x75, 0xA8, 0x60, 0xDC, 0x0A, 0x37,
1073         0x8C, 0xD8, 0x05, 0xEA, 0x62, 0x62, 0x71, 0x98,
1074         0x0C, 0xCB, 0xCE, 0x0A, 0xD9, 0xE6, 0xE8, 0xA7,
1075         0xB3, 0x2D, 0x89, 0xA7, 0x60, 0xF0, 0x42, 0xA7,
1076         0x3D, 0x80, 0x44, 0xE7, 0xC1, 0xA6, 0x88, 0xB1,
1077         0x4F, 0xC0, 0xB1, 0xAF, 0x40, 0xF3, 0x54, 0x72,
1078         0x8F, 0xAF, 0x47, 0x96, 0x19, 0xEB, 0xA5, 0x5C,
1079         0x00, 0x3B, 0x36, 0xC8, 0x3F, 0x1E, 0x63, 0x54,
1080         0xF3, 0x3D, 0x85, 0x44, 0x9B, 0x9B, 0x20, 0xE3,
1081         0x9D, 0xEF, 0x62, 0x21, 0xA1, 0x0B, 0x78, 0xF4,
1082         0x2B, 0x89, 0x66, 0x5E, 0x97, 0xC6, 0xC4, 0x55,
1083         0x35, 0x32, 0xD7, 0x44, 0x95, 0x9A, 0xE7, 0xF2,
1084         0x57, 0x52, 0x5B, 0x92, 0x86, 0x8F, 0x8B, 0xCF,
1085         0x41, 0x89, 0xF6, 0x2A, 0xD3, 0x42, 0x87, 0x43,
1086         0x56, 0x1F, 0x0E, 0x49, 0xF1, 0x32, 0x6D, 0xA8,
1087         0x62, 0xDF, 0x47, 0xBB, 0xB6, 0x53, 0xF8, 0x5C,
1088         0x36, 0xDA, 0x34, 0x34, 0x2D, 0x2E, 0x1D, 0x33,
1089         0xAF, 0x6A, 0x1E, 0xF1, 0xC9, 0x72, 0xB5, 0x3C,
1090         0x64, 0x4C, 0x96, 0x12, 0x78, 0x67, 0x6A, 0xE5,
1091         0x8B, 0x05, 0x80, 0xAE, 0x7D, 0xE5, 0x9B, 0x24,
1092         0xDB, 0xFF, 0x1E, 0xB8, 0x36, 0x6D, 0x3D, 0x5D,
1093         0x73, 0x65, 0x72, 0x73, 0x2C, 0x20, 0x73, 0x75
1094 };
1095
1096 static const uint8_t plaintext_aes_common_digest_enc[] = {
1097         0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C,
1098         0x6F, 0x75, 0x73, 0x79, 0x20, 0x65, 0x61, 0x72,
1099         0x74, 0x68, 0x21, 0x20, 0x48, 0x65, 0x20, 0x77,
1100         0x6F, 0x6E, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20,
1101         0x68, 0x6F, 0x77, 0x20, 0x6D, 0x61, 0x6E, 0x79,
1102         0x20, 0x70, 0x65, 0x6F, 0x70, 0x6C, 0x65, 0x20,
1103         0x77, 0x65, 0x72, 0x65, 0x20, 0x64, 0x65, 0x73,
1104         0x74, 0x69, 0x74, 0x75, 0x74, 0x65, 0x20, 0x74,
1105         0x68, 0x61, 0x74, 0x20, 0x73, 0x61, 0x6D, 0x65,
1106         0x20, 0x6E, 0x69, 0x67, 0x68, 0x74, 0x20, 0x65,
1107         0x76, 0x65, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x68,
1108         0x69, 0x73, 0x20, 0x6F, 0x77, 0x6E, 0x20, 0x70,
1109         0x72, 0x6F, 0x73, 0x70, 0x65, 0x72, 0x6F, 0x75,
1110         0x73, 0x20, 0x63, 0x6F, 0x75, 0x6E, 0x74, 0x72,
1111         0x79, 0x2C, 0x20, 0x68, 0x6F, 0x77, 0x20, 0x6D,
1112         0x61, 0x6E, 0x79, 0x20, 0x68, 0x6F, 0x6D, 0x65,
1113         0x73, 0x20, 0x77, 0x65, 0x72, 0x65, 0x20, 0x73,
1114         0x68, 0x61, 0x6E, 0x74, 0x69, 0x65, 0x73, 0x2C,
1115         0x20, 0x68, 0x6F, 0x77, 0x20, 0x6D, 0x61, 0x6E,
1116         0x79, 0x20, 0x68, 0x75, 0x73, 0x62, 0x61, 0x6E,
1117         0x64, 0x73, 0x20, 0x77, 0x65, 0x72, 0x65, 0x20,
1118         0x64, 0x72, 0x75, 0x6E, 0x6B, 0x20, 0x61, 0x6E,
1119         0x64, 0x20, 0x77, 0x69, 0x76, 0x65, 0x73, 0x20,
1120         0x73, 0x6F, 0x63, 0x6B, 0x65, 0x64, 0x2C, 0x20,
1121         0x61, 0x6E, 0x64, 0x20, 0x68, 0x6F, 0x77, 0x20,
1122         0x6D, 0x61, 0x6E, 0x79, 0x20, 0x63, 0x68, 0x69,
1123         0x6C, 0x64, 0x72, 0x65, 0x6E, 0x20, 0x77, 0x65,
1124         0x72, 0x65, 0x20, 0x62, 0x75, 0x6C, 0x6C, 0x69,
1125         0x65, 0x64, 0x2C, 0x20, 0x61, 0x62, 0x75, 0x73,
1126         0x65, 0x64, 0x2C, 0x20, 0x6F, 0x72, 0x20, 0x61,
1127         0x62, 0x61, 0x6E, 0x64, 0x6F, 0x6E, 0x65, 0x64,
1128         0x2E, 0x20, 0x48, 0x6F, 0x77, 0x20, 0x6D, 0x61,
1129         0x6E, 0x79, 0x20, 0x66, 0x61, 0x6D, 0x69, 0x6C,
1130         0x69, 0x65, 0x73, 0x20, 0x68, 0x75, 0x6E, 0x67,
1131         0x65, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6F, 0x72,
1132         0x20, 0x66, 0x6F, 0x6F, 0x64, 0x20, 0x74, 0x68,
1133         0x65, 0x79, 0x20, 0x63, 0x6F, 0x75, 0x6C, 0x64,
1134         0x20, 0x6E, 0x6F, 0x74, 0x20, 0x61, 0x66, 0x66,
1135         0x6F, 0x72, 0x64, 0x20, 0x74, 0x6F, 0x20, 0x62,
1136         0x75, 0x79, 0x3F, 0x20, 0x48, 0x6F, 0x77, 0x20,
1137         0x6D, 0x61, 0x6E, 0x79, 0x20, 0x68, 0x65, 0x61,
1138         0x72, 0x74, 0x73, 0x20, 0x77, 0x65, 0x72, 0x65,
1139         0x20, 0x62, 0x72, 0x6F, 0x6B, 0x65, 0x6E, 0x3F,
1140         0x20, 0x48, 0x6F, 0x77, 0x20, 0x6D, 0x61, 0x6E,
1141         0x79, 0x20, 0x73, 0x75, 0x69, 0x63, 0x69, 0x64,
1142         0x65, 0x73, 0x20, 0x77, 0x6F, 0x75, 0x6C, 0x64,
1143         0x20, 0x74, 0x61, 0x6B, 0x65, 0x20, 0x70, 0x6C,
1144         0x61, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74,
1145         0x20, 0x73, 0x61, 0x6D, 0x65, 0x20, 0x6E, 0x69,
1146         0x67, 0x68, 0x74, 0x2C, 0x20, 0x68, 0x6F, 0x77,
1147         0x20, 0x6D, 0x61, 0x6E, 0x79, 0x20, 0x70, 0x65,
1148         0x6F, 0x70, 0x6C, 0x65, 0x20, 0x77, 0x6F, 0x75,
1149         0x6C, 0x64, 0x20, 0x67, 0x6F, 0x20, 0x69, 0x6E,
1150         0x73, 0x61, 0x6E, 0x65, 0x3F, 0x20, 0x48, 0x6F,
1151         0x77, 0x20, 0x6D, 0x61, 0x6E, 0x79, 0x20, 0x63,
1152         0x6F, 0x63, 0x6B, 0x72, 0x6F, 0x61, 0x63, 0x68,
1153         0x65, 0x73, 0x20, 0x61, 0x6E, 0x64, 0x20, 0x6C,
1154         0x61, 0x6E, 0x64, 0x6C, 0x6F, 0x72, 0x64, 0x73,
1155         0x20, 0x77, 0x6F, 0x75, 0x6C, 0x64, 0x20, 0x74,
1156         0x72, 0x69, 0x75, 0x6D, 0x70, 0x68, 0x3F, 0x20,
1157         0x48, 0x6F, 0x77, 0x20, 0x6D, 0x61, 0x6E, 0x79,
1158         0x20, 0x77, 0x69, 0x6E, 0x6E, 0x65, 0x72, 0x73,
1159         0x20, 0x77, 0x65, 0x72, 0x65, 0x20, 0x6c, 0x6f,
1160         0x73, 0x65, 0x72, 0x73, 0x2c, 0x20, 0x73, 0x75,
1161         /* mac */
1162         0xC4, 0xB7, 0x0E, 0x6B, 0xDE, 0xD1, 0xE7, 0x77,
1163         0x7E, 0x2E, 0x8F, 0xFC, 0x48, 0x39, 0x46, 0x17,
1164         0x3F, 0x91, 0x64, 0x59
1165 };
1166
1167 static const uint8_t ciphertext512_aes128cbc_digest_enc[] = {
1168         0x8B, 0x4D, 0xDA, 0x1B, 0xCF, 0x04, 0xA0, 0x31,
1169         0xB4, 0xBF, 0xBD, 0x68, 0x43, 0x20, 0x7E, 0x76,
1170         0xB1, 0x96, 0x8B, 0xA2, 0x7C, 0xA2, 0x83, 0x9E,
1171         0x39, 0x5A, 0x2F, 0x7E, 0x92, 0xB4, 0x48, 0x1A,
1172         0x3F, 0x6B, 0x5D, 0xDF, 0x52, 0x85, 0x5F, 0x8E,
1173         0x42, 0x3C, 0xFB, 0xE9, 0x1A, 0x24, 0xD6, 0x08,
1174         0xDD, 0xFD, 0x16, 0xFB, 0xE9, 0x55, 0xEF, 0xF0,
1175         0xA0, 0x8D, 0x13, 0xAB, 0x81, 0xC6, 0x90, 0x01,
1176         0xB5, 0x18, 0x84, 0xB3, 0xF6, 0xE6, 0x11, 0x57,
1177         0xD6, 0x71, 0xC6, 0x3C, 0x3F, 0x2F, 0x33, 0xEE,
1178         0x24, 0x42, 0x6E, 0xAC, 0x0B, 0xCA, 0xEC, 0xF9,
1179         0x84, 0xF8, 0x22, 0xAA, 0x60, 0xF0, 0x32, 0xA9,
1180         0x75, 0x75, 0x3B, 0xCB, 0x70, 0x21, 0x0A, 0x8D,
1181         0x0F, 0xE0, 0xC4, 0x78, 0x2B, 0xF8, 0x97, 0xE3,
1182         0xE4, 0x26, 0x4B, 0x29, 0xDA, 0x88, 0xCD, 0x46,
1183         0xEC, 0xAA, 0xF9, 0x7F, 0xF1, 0x15, 0xEA, 0xC3,
1184         0x87, 0xE6, 0x31, 0xF2, 0xCF, 0xDE, 0x4D, 0x80,
1185         0x70, 0x91, 0x7E, 0x0C, 0xF7, 0x26, 0x3A, 0x92,
1186         0x4F, 0x18, 0x83, 0xC0, 0x8F, 0x59, 0x01, 0xA5,
1187         0x88, 0xD1, 0xDB, 0x26, 0x71, 0x27, 0x16, 0xF5,
1188         0xEE, 0x10, 0x82, 0xAC, 0x68, 0x26, 0x9B, 0xE2,
1189         0x6D, 0xD8, 0x9A, 0x80, 0xDF, 0x04, 0x31, 0xD5,
1190         0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1191         0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
1192         0x73, 0x02, 0x42, 0xC9, 0x23, 0x18, 0x8E, 0xB4,
1193         0x6F, 0xB4, 0xA3, 0x54, 0x6E, 0x88, 0x3B, 0x62,
1194         0x7C, 0x02, 0x8D, 0x4C, 0x9F, 0xC8, 0x45, 0xF4,
1195         0xC9, 0xDE, 0x4F, 0xEB, 0x22, 0x83, 0x1B, 0xE4,
1196         0x49, 0x37, 0xE4, 0xAD, 0xE7, 0xCD, 0x21, 0x54,
1197         0xBC, 0x1C, 0xC2, 0x04, 0x97, 0xB4, 0x10, 0x61,
1198         0xF0, 0xE4, 0xEF, 0x27, 0x63, 0x3A, 0xDA, 0x91,
1199         0x41, 0x25, 0x62, 0x1C, 0x5C, 0xB6, 0x38, 0x4A,
1200         0x88, 0x71, 0x59, 0x5A, 0x8D, 0xA0, 0x09, 0xAF,
1201         0x72, 0x94, 0xD7, 0x79, 0x5C, 0x60, 0x7C, 0x8F,
1202         0x4C, 0xF5, 0xD9, 0xA1, 0x39, 0x6D, 0x81, 0x28,
1203         0xEF, 0x13, 0x28, 0xDF, 0xF5, 0x3E, 0xF7, 0x8E,
1204         0x09, 0x9C, 0x78, 0x18, 0x79, 0xB8, 0x68, 0xD7,
1205         0xA8, 0x29, 0x62, 0xAD, 0xDE, 0xE1, 0x61, 0x76,
1206         0x1B, 0x05, 0x16, 0xCD, 0xBF, 0x02, 0x8E, 0xA6,
1207         0x43, 0x6E, 0x92, 0x55, 0x4F, 0x60, 0x9C, 0x03,
1208         0xB8, 0x4F, 0xA3, 0x02, 0xAC, 0xA8, 0xA7, 0x0C,
1209         0x1E, 0xB5, 0x6B, 0xF8, 0xC8, 0x4D, 0xDE, 0xD2,
1210         0xB0, 0x29, 0x6E, 0x40, 0xE6, 0xD6, 0xC9, 0xE6,
1211         0xB9, 0x0F, 0xB6, 0x63, 0xF5, 0xAA, 0x2B, 0x96,
1212         0xA7, 0x16, 0xAC, 0x4E, 0x0A, 0x33, 0x1C, 0xA6,
1213         0xE6, 0xBD, 0x8A, 0xCF, 0x40, 0xA9, 0xB2, 0xFA,
1214         0x63, 0x27, 0xFD, 0x9B, 0xD9, 0xFC, 0xD5, 0x87,
1215         0x8D, 0x4C, 0xB6, 0xA4, 0xCB, 0xE7, 0x74, 0x55,
1216         0xF4, 0xFB, 0x41, 0x25, 0xB5, 0x4B, 0x0A, 0x1B,
1217         0xB1, 0xD6, 0xB7, 0xD9, 0x47, 0x2A, 0xC3, 0x98,
1218         0x6A, 0xC4, 0x03, 0x73, 0x1F, 0x93, 0x6E, 0x53,
1219         0x19, 0x25, 0x64, 0x15, 0x83, 0xF9, 0x73, 0x2A,
1220         0x74, 0xB4, 0x93, 0x69, 0xC4, 0x72, 0xFC, 0x26,
1221         0xA2, 0x9F, 0x43, 0x45, 0xDD, 0xB9, 0xEF, 0x36,
1222         0xC8, 0x3A, 0xCD, 0x99, 0x9B, 0x54, 0x1A, 0x36,
1223         0xC1, 0x59, 0xF8, 0x98, 0xA8, 0xCC, 0x28, 0x0D,
1224         0x73, 0x4C, 0xEE, 0x98, 0xCB, 0x7C, 0x58, 0x7E,
1225         0x20, 0x75, 0x1E, 0xB7, 0xC9, 0xF8, 0xF2, 0x0E,
1226         0x63, 0x9E, 0x05, 0x78, 0x1A, 0xB6, 0xA8, 0x7A,
1227         0xF9, 0x98, 0x6A, 0xA6, 0x46, 0x84, 0x2E, 0xF6,
1228         0x4B, 0xDC, 0x9B, 0x8F, 0x9B, 0x8F, 0xEE, 0xB4,
1229         0xAA, 0x3F, 0xEE, 0xC0, 0x37, 0x27, 0x76, 0xC7,
1230         0x95, 0xBB, 0x26, 0x74, 0x69, 0x12, 0x7F, 0xF1,
1231         0xBB, 0xFF, 0xAE, 0xB5, 0x99, 0x6E, 0xCB, 0x0C,
1232         /* encrypted mac */
1233         0x39, 0x34, 0x16, 0x84, 0xE7, 0x90, 0x02, 0xB1,
1234         0x3E, 0x92, 0xCB, 0x58, 0x98, 0xBA, 0x7C, 0x98,
1235         0x8B, 0x90, 0xFB, 0x5E, 0x9D, 0x74, 0xCC, 0x56,
1236         0xE3, 0x55, 0xB1, 0xC8, 0xC8, 0x7C, 0xB2, 0xE7
1237 };
1238
1239 static const uint8_t plaintext_aes_common_short_digest_enc[] = {
1240         0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
1241         0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
1242         0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
1243         0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
1244         0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
1245         0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD, 0xDD,
1246         0xDD, 0xDD
1247 };
1248
1249 static const uint8_t ciphertext512_aes128cbc_short_digest_enc[] = {
1250         0x6D, 0xB1, 0x23, 0x86, 0x58, 0x54, 0x83, 0xE7,
1251         0x3B, 0x27, 0x85, 0xA7, 0x06, 0xBC, 0x4A, 0xFB,
1252         0x16, 0xD8, 0x56, 0x7C, 0x39, 0xC6, 0xE7, 0x1A,
1253         0x67, 0xA8, 0x48, 0x22, 0xD6, 0xFF, 0x96, 0xB3,
1254         0xA1, 0x52, 0x52, 0x83, 0xE6, 0x2E, 0x6A, 0xC9,
1255         0x57, 0x8E, 0x34, 0x6F, 0xEE, 0x41, 0xF5, 0xBD,
1256         0x6B, 0x89, 0x31, 0x64, 0x89, 0xAB, 0xDE, 0xA7,
1257         0xBD, 0xFD, 0x46, 0x40, 0xE7, 0x13, 0x23, 0x84,
1258         0xDD, 0xCB, 0x35, 0x87, 0x4E, 0x57, 0xB7, 0x97,
1259         0x9E, 0xAB, 0xFB, 0xE7, 0x18, 0x82, 0x05, 0xDF
1260 };
1261
1262 /* AES128-CTR-SHA1 test vector */
1263 static const struct blockcipher_test_data aes_test_data_1 = {
1264         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1265         .cipher_key = {
1266                 .data = {
1267                         0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
1268                         0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
1269                 },
1270                 .len = 16
1271         },
1272         .iv = {
1273                 .data = {
1274                         0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
1275                         0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
1276                 },
1277                 .len = 16
1278         },
1279         .plaintext = {
1280                 .data = plaintext_aes128ctr,
1281                 .len = 64
1282         },
1283         .ciphertext = {
1284                 .data = ciphertext64_aes128ctr,
1285                 .len = 64
1286         },
1287         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1288         .auth_key = {
1289                 .data = {
1290                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1291                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1292                         0xDE, 0xF4, 0xDE, 0xAD
1293                 },
1294                 .len = 20
1295         },
1296         .digest = {
1297                 .data = {
1298                         0x9B, 0x6F, 0x0C, 0x43, 0xF5, 0xC1, 0x3E, 0xB0,
1299                         0xB1, 0x70, 0xB8, 0x2B, 0x33, 0x09, 0xD2, 0xB2,
1300                         0x56, 0x20, 0xFB, 0xFE
1301                 },
1302                 .len = 20,
1303                 .truncated_len = 12
1304         }
1305 };
1306
1307 /** AES-192-CTR XCBC test vector */
1308 static const struct blockcipher_test_data aes_test_data_2 = {
1309         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1310         .cipher_key = {
1311                 .data = {
1312                         0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
1313                         0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
1314                         0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
1315                 },
1316                 .len = 24
1317         },
1318         .iv = {
1319                 .data = {
1320                         0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
1321                         0xB8, 0x7A, 0x4B, 0xED, 0x2B, 0xAF, 0xBF, 0x57
1322                 },
1323                 .len = 16
1324         },
1325         .plaintext = {
1326                 .data = plaintext_aes192ctr,
1327                 .len = 64
1328         },
1329         .ciphertext = {
1330                 .data = ciphertext64_aes192ctr,
1331                 .len = 64
1332         },
1333         .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
1334         .auth_key = {
1335                 .data = {
1336                         0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
1337                         0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
1338                 },
1339                 .len = 16
1340         },
1341         .digest = {
1342                 .data = {
1343                         0xCA, 0x33, 0xB3, 0x3B, 0x16, 0x94, 0xAA, 0x55,
1344                         0x36, 0x6B, 0x45, 0x46
1345                 },
1346                 .len = 12,
1347                 .truncated_len = 12
1348         }
1349 };
1350
1351 /** AES-256-CTR SHA1 test vector */
1352 static const struct blockcipher_test_data aes_test_data_3 = {
1353         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1354         .cipher_key = {
1355                 .data = {
1356                         0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
1357                         0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
1358                         0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
1359                         0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
1360                 },
1361                 .len = 32
1362         },
1363         .iv = {
1364                 .data = {
1365                         0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
1366                         0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
1367                 },
1368                 .len = 16
1369         },
1370         .plaintext = {
1371                 .data = plaintext_aes256ctr,
1372                 .len = 64
1373         },
1374         .ciphertext = {
1375                 .data = ciphertext64_aes256ctr,
1376                 .len = 64
1377         },
1378         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1379         .auth_key = {
1380                 .data = {
1381                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1382                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1383                         0xDE, 0xF4, 0xDE, 0xAD
1384                 },
1385                 .len = 20
1386         },
1387         .digest = {
1388                 .data = {
1389                         0x3B, 0x1A, 0x9D, 0x82, 0x35, 0xD5, 0xDD, 0x64,
1390                         0xCC, 0x1B, 0xA9, 0xC0, 0xEB, 0xE9, 0x42, 0x16,
1391                         0xE7, 0x87, 0xA3, 0xEF
1392                 },
1393                 .len = 20,
1394                 .truncated_len = 12
1395         }
1396 };
1397
1398 /* AES128-CTR-SHA1 test vector (12-byte IV) */
1399 static const struct blockcipher_test_data aes_test_data_1_IV_12_bytes = {
1400         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1401         .cipher_key = {
1402                 .data = {
1403                         0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
1404                         0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
1405                 },
1406                 .len = 16
1407         },
1408         .iv = {
1409                 .data = {
1410                         0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
1411                         0xF8, 0xF9, 0xFA, 0xFB
1412                 },
1413                 .len = 12
1414         },
1415         .plaintext = {
1416                 .data = plaintext_aes128ctr,
1417                 .len = 64
1418         },
1419         .ciphertext = {
1420                 .data = ciphertext64_aes128ctr_IV_12bytes,
1421                 .len = 64
1422         },
1423         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1424         .auth_key = {
1425                 .data = {
1426                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1427                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1428                         0xDE, 0xF4, 0xDE, 0xAD
1429                 },
1430                 .len = 20
1431         },
1432         .digest = {
1433                 .data = {
1434                         0x5C, 0x34, 0x6B, 0xE4, 0x9A, 0x7F, 0x4A, 0xC3,
1435                         0x82, 0xBE, 0xA0, 0x12, 0xD1, 0xF0, 0x15, 0xFA,
1436                         0xCF, 0xC8, 0x7F, 0x60
1437                 },
1438                 .len = 20,
1439                 .truncated_len = 12
1440         }
1441 };
1442
1443 /** AES-192-CTR XCBC test vector (12-byte IV) */
1444 static const struct blockcipher_test_data aes_test_data_2_IV_12_bytes = {
1445         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1446         .cipher_key = {
1447                 .data = {
1448                         0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
1449                         0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
1450                         0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
1451                 },
1452                 .len = 24
1453         },
1454         .iv = {
1455                 .data = {
1456                         0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
1457                         0xB8, 0x7A, 0x4B, 0xED
1458                 },
1459                 .len = 12
1460         },
1461         .plaintext = {
1462                 .data = plaintext_aes192ctr,
1463                 .len = 64
1464         },
1465         .ciphertext = {
1466                 .data = ciphertext64_aes192ctr_IV_12bytes,
1467                 .len = 64
1468         },
1469         .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
1470         .auth_key = {
1471                 .data = {
1472                         0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
1473                         0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
1474                 },
1475                 .len = 16
1476         },
1477         .digest = {
1478                 .data = {
1479                         0x0C, 0xA1, 0xA5, 0xAF, 0x3E, 0x41, 0xD2, 0xF4,
1480                         0x4C, 0x4C, 0xAB, 0x13
1481                 },
1482                 .len = 12,
1483                 .truncated_len = 12
1484         }
1485 };
1486
1487 /** AES-256-CTR SHA1 test vector (12-byte IV) */
1488 static const struct blockcipher_test_data aes_test_data_3_IV_12_bytes = {
1489         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1490         .cipher_key = {
1491                 .data = {
1492                         0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
1493                         0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
1494                         0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
1495                         0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
1496                 },
1497                 .len = 32
1498         },
1499         .iv = {
1500                 .data = {
1501                         0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
1502                         0xF8, 0xF9, 0xFA, 0xFB
1503                 },
1504                 .len = 12
1505         },
1506         .plaintext = {
1507                 .data = plaintext_aes256ctr,
1508                 .len = 64
1509         },
1510         .ciphertext = {
1511                 .data = ciphertext64_aes256ctr_IV_12bytes,
1512                 .len = 64
1513         },
1514         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1515         .auth_key = {
1516                 .data = {
1517                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1518                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1519                         0xDE, 0xF4, 0xDE, 0xAD
1520                 },
1521                 .len = 20
1522         },
1523         .digest = {
1524                 .data = {
1525                         0x57, 0x9A, 0x52, 0x6E, 0x31, 0x17, 0x57, 0x49,
1526                         0xE7, 0xA1, 0x88, 0x6C, 0x2E, 0x36, 0x67, 0x63,
1527                         0x3F, 0x2D, 0xA3, 0xEF
1528                 },
1529                 .len = 20,
1530                 .truncated_len = 12
1531         }
1532 };
1533 /** AES-128-CBC SHA1 test vector */
1534 static const struct blockcipher_test_data aes_test_data_4 = {
1535         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1536         .cipher_key = {
1537                 .data = {
1538                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1539                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1540                 },
1541                 .len = 16
1542         },
1543         .iv = {
1544                 .data = {
1545                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1546                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1547                 },
1548                 .len = 16
1549         },
1550         .plaintext = {
1551                 .data = plaintext_aes_common,
1552                 .len = 512
1553         },
1554         .ciphertext = {
1555                 .data = ciphertext512_aes128cbc,
1556                 .len = 512
1557         },
1558         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1559         .auth_key = {
1560                 .data = {
1561                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1562                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1563                         0xDE, 0xF4, 0xDE, 0xAD
1564                 },
1565                 .len = 20
1566         },
1567         .digest = {
1568                 .data = {
1569                         0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60,
1570                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1571                         0x18, 0x8C, 0x1D, 0x32
1572                 },
1573                 .len = 20,
1574                 .truncated_len = 12
1575         }
1576 };
1577
1578 /** AES-128-CBC SHA1 test vector (Digest encrypted mode) */
1579 static const struct blockcipher_test_data aes_test_data_4_digest_enc = {
1580         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1581         .cipher_key = {
1582                 .data = {
1583                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1584                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1585                 },
1586                 .len = 16
1587         },
1588         .iv = {
1589                 .data = {
1590                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1591                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1592                 },
1593                 .len = 16
1594         },
1595         .plaintext = {
1596                 .data = plaintext_aes_common_digest_enc,
1597                 .len = 512
1598         },
1599         .ciphertext = {
1600                 .data = ciphertext512_aes128cbc_digest_enc,
1601                 .len = 512
1602         },
1603         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1604         .auth_key = {
1605                 .data = {
1606                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1607                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1608                         0xDE, 0xF4, 0xDE, 0xAD
1609                 },
1610                 .len = 20
1611         },
1612         .digest = {
1613                 .data = {
1614                         0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60,
1615                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1616                         0x18, 0x8C, 0x1D, 0x32
1617                 },
1618                 .len = 20,
1619         }
1620 };
1621
1622 /** AES-128-CBC SHA256 test vector */
1623 static const struct blockcipher_test_data aes_test_data_5 = {
1624         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1625         .cipher_key = {
1626                 .data = {
1627                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1628                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1629                 },
1630                 .len = 16
1631         },
1632         .iv = {
1633                 .data = {
1634                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1635                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1636                 },
1637                 .len = 16
1638         },
1639         .plaintext = {
1640                 .data = plaintext_aes_common,
1641                 .len = 512
1642         },
1643         .ciphertext = {
1644                 .data = ciphertext512_aes128cbc,
1645                 .len = 512
1646         },
1647         .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
1648         .auth_key = {
1649                 .data = {
1650                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1651                         0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1652                         0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
1653                         0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
1654                 },
1655                 .len = 32
1656         },
1657         .digest = {
1658                 .data = {
1659                         0xC8, 0x57, 0x57, 0x31, 0x03, 0xE0, 0x03, 0x55,
1660                         0x07, 0xC8, 0x9E, 0x7F, 0x48, 0x9A, 0x61, 0x9A,
1661                         0x68, 0xEE, 0x03, 0x0E, 0x71, 0x75, 0xC7, 0xF4,
1662                         0x2E, 0x45, 0x26, 0x32, 0x7C, 0x12, 0x15, 0x15
1663                 },
1664                 .len = 32,
1665                 .truncated_len = 16
1666         }
1667 };
1668
1669 /** AES-128-CBC SHA512 test vector */
1670 static const struct blockcipher_test_data aes_test_data_6 = {
1671         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1672         .cipher_key = {
1673                 .data = {
1674                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1675                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1676                 },
1677                 .len = 16
1678         },
1679         .iv = {
1680                 .data = {
1681                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1682                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1683                 },
1684                 .len = 16
1685         },
1686         .plaintext = {
1687                 .data = plaintext_aes_common,
1688                 .len = 512
1689         },
1690         .ciphertext = {
1691                 .data = ciphertext512_aes128cbc,
1692                 .len = 512
1693         },
1694         .auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC,
1695         .auth_key = {
1696                 .data = {
1697                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1698                         0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1699                         0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
1700                         0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
1701                         0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
1702                         0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
1703                         0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
1704                         0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
1705                 },
1706                 .len = 64
1707         },
1708         .digest = {
1709                 .data = {
1710                         0x5D, 0x54, 0x66, 0xC1, 0x6E, 0xBC, 0x04, 0xB8,
1711                         0x46, 0xB8, 0x08, 0x6E, 0xE0, 0xF0, 0x43, 0x48,
1712                         0x37, 0x96, 0x9C, 0xC6, 0x9C, 0xC2, 0x1E, 0xE8,
1713                         0xF2, 0x0C, 0x0B, 0xEF, 0x86, 0xA2, 0xE3, 0x70,
1714                         0x95, 0xC8, 0xB3, 0x06, 0x47, 0xA9, 0x90, 0xE8,
1715                         0xA0, 0xC6, 0x72, 0x69, 0x05, 0xC0, 0x0D, 0x0E,
1716                         0x21, 0x96, 0x65, 0x93, 0x74, 0x43, 0x2A, 0x1D,
1717                         0x2E, 0xBF, 0xC2, 0xC2, 0xEE, 0xCC, 0x2F, 0x0A
1718                 },
1719                 .len = 64,
1720                 .truncated_len = 32
1721         }
1722 };
1723
1724 /** AES-128-CBC XCBC test vector */
1725 static const struct blockcipher_test_data aes_test_data_7 = {
1726         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1727         .cipher_key = {
1728                 .data = {
1729                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1730                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1731                 },
1732                 .len = 16
1733         },
1734         .iv = {
1735                 .data = {
1736                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1737                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1738                 },
1739                 .len = 16
1740         },
1741         .plaintext = {
1742                 .data = plaintext_aes_common,
1743                 .len = 512
1744         },
1745         .ciphertext = {
1746                 .data = ciphertext512_aes128cbc,
1747                 .len = 512
1748         },
1749         .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
1750         .auth_key = {
1751                 .data = {
1752                         0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
1753                         0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
1754                 },
1755                 .len = 16
1756         },
1757         .digest = {
1758                 .data = {
1759                         0xE0, 0xAC, 0x9A, 0xC4, 0x22, 0x64, 0x35, 0x89,
1760                         0x77, 0x1D, 0x8B, 0x75
1761                 },
1762                 .len = 12,
1763                 .truncated_len = 12
1764         }
1765 };
1766
1767 /** AES-128-CBC SHA224 test vector */
1768 static const struct blockcipher_test_data aes_test_data_8 = {
1769         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1770         .cipher_key = {
1771                 .data = {
1772                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1773                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1774                 },
1775                 .len = 16
1776         },
1777         .iv = {
1778                 .data = {
1779                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1780                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1781                 },
1782                 .len = 16
1783         },
1784         .plaintext = {
1785                 .data = plaintext_aes_common,
1786                 .len = 512
1787         },
1788         .ciphertext = {
1789                 .data = ciphertext512_aes128cbc,
1790                 .len = 512
1791         },
1792         .auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC,
1793         .auth_key = {
1794                 .data = {
1795                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1796                         0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1797                         0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
1798                         0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
1799                         0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
1800                         0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
1801                         0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
1802                         0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
1803                 },
1804                 .len = 64
1805         },
1806         .digest = {
1807                 .data = {
1808                         0xA3, 0xCA, 0xC7, 0x1D, 0xA8, 0x61, 0x30, 0x98,
1809                         0x3B, 0x8F, 0x01, 0x19, 0xAE, 0x8D, 0xBD, 0x34,
1810                         0x40, 0x63, 0xA8, 0x2F, 0xDF, 0x85, 0x2B, 0x7F,
1811                         0x63, 0x7C, 0xDD, 0xB7
1812                 },
1813                 .len = 28,
1814                 .truncated_len = 14
1815         }
1816 };
1817
1818 /** AES-128-CBC SHA384 test vector */
1819 static const struct blockcipher_test_data aes_test_data_9 = {
1820         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1821         .cipher_key = {
1822                 .data = {
1823                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1824                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1825                 },
1826                 .len = 16
1827         },
1828         .iv = {
1829                 .data = {
1830                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1831                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1832                 },
1833                 .len = 16
1834         },
1835         .plaintext = {
1836                 .data = plaintext_aes_common,
1837                 .len = 512
1838         },
1839         .ciphertext = {
1840                 .data = ciphertext512_aes128cbc,
1841                 .len = 512
1842         },
1843         .auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC,
1844         .auth_key = {
1845                 .data = {
1846                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1847                         0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1848                         0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
1849                         0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
1850                         0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
1851                         0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
1852                         0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
1853                         0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60,
1854                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1855                         0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1856                         0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
1857                         0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
1858                         0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
1859                         0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
1860                         0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
1861                         0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
1862                 },
1863                 .len = 128
1864         },
1865         .digest = {
1866                 .data = {
1867                         0x23, 0x60, 0xC8, 0xB1, 0x2D, 0x6C, 0x1E, 0x72,
1868                         0x25, 0xAB, 0xF9, 0xC3, 0x9A, 0xA9, 0x4F, 0x8C,
1869                         0x56, 0x38, 0x65, 0x0E, 0x74, 0xD5, 0x45, 0x9D,
1870                         0xA3, 0xFD, 0x7E, 0x6D, 0x9E, 0x74, 0x88, 0x9D,
1871                         0xA7, 0x12, 0x9D, 0xD8, 0x81, 0x3C, 0x86, 0x2F,
1872                         0x4D, 0xF9, 0x6F, 0x0A, 0xB0, 0xC9, 0xEB, 0x0B
1873                 },
1874                 .len = 48,
1875                 .truncated_len = 24
1876         }
1877 };
1878
1879 static const uint8_t ciphertext512_aes192cbc[] = {
1880         0x45, 0xEE, 0x9A, 0xEA, 0x3C, 0x03, 0xFC, 0x4C,
1881         0x84, 0x36, 0xB0, 0xDA, 0xB0, 0xDC, 0xF3, 0x5B,
1882         0x75, 0xA7, 0xBE, 0x0E, 0xC0, 0x8D, 0x6C, 0xF8,
1883         0xC1, 0x0F, 0xD0, 0x35, 0x1D, 0x82, 0xAE, 0x7C,
1884         0x57, 0xC5, 0x7A, 0x55, 0x87, 0x1B, 0xD4, 0x03,
1885         0x0A, 0x64, 0xC9, 0xE0, 0xF4, 0xC7, 0x6F, 0x57,
1886         0x52, 0xC6, 0x73, 0xBA, 0x84, 0x0B, 0x5B, 0x89,
1887         0x21, 0xD2, 0x9B, 0x88, 0x68, 0xF5, 0xA9, 0x7F,
1888         0x3F, 0x49, 0xEB, 0xF4, 0xD4, 0x52, 0xD2, 0x64,
1889         0x80, 0xB2, 0x53, 0xDA, 0x19, 0xF6, 0x10, 0x24,
1890         0x23, 0x26, 0x7A, 0x7C, 0x07, 0x57, 0x4B, 0x0E,
1891         0x58, 0x49, 0x61, 0xD1, 0xDC, 0x9A, 0x32, 0x6B,
1892         0x0F, 0x43, 0x9E, 0x4D, 0xB4, 0x07, 0x4E, 0xB3,
1893         0x51, 0x74, 0xDE, 0x29, 0xBC, 0x98, 0xF9, 0xDF,
1894         0x78, 0x9A, 0x18, 0x9C, 0xD6, 0x7A, 0x55, 0x7C,
1895         0xE6, 0x1D, 0x5C, 0x1A, 0x99, 0xD2, 0xC3, 0x7B,
1896         0x9F, 0x96, 0x74, 0x2D, 0xE0, 0xEF, 0xD1, 0xE3,
1897         0x08, 0x9F, 0xAF, 0xE6, 0xED, 0xCA, 0xE1, 0xEA,
1898         0x23, 0x6F, 0x7C, 0x81, 0xA8, 0xC0, 0x5B, 0x8B,
1899         0x53, 0x90, 0x51, 0x2D, 0x0F, 0xF6, 0x7D, 0xA7,
1900         0x1C, 0xBD, 0x83, 0x84, 0x54, 0xA4, 0x15, 0xFB,
1901         0x3E, 0x25, 0xA7, 0x3A, 0x0A, 0x73, 0xD9, 0x88,
1902         0x6F, 0x80, 0x78, 0x95, 0x7F, 0x60, 0xAA, 0x86,
1903         0x8A, 0xFC, 0xDF, 0xC1, 0xCB, 0xDE, 0xBB, 0x25,
1904         0x52, 0x20, 0xC6, 0x79, 0xD4, 0x0F, 0x25, 0xE7,
1905         0xDB, 0xB2, 0x17, 0xA4, 0x6F, 0x3C, 0x6F, 0x91,
1906         0xF6, 0x44, 0x1E, 0xB6, 0x85, 0xBC, 0x7A, 0x14,
1907         0x10, 0x72, 0xBD, 0x16, 0x63, 0x39, 0x9E, 0x7B,
1908         0x84, 0x5B, 0x17, 0x61, 0xB1, 0x5D, 0x82, 0x0B,
1909         0x6D, 0x37, 0xD7, 0x79, 0xB8, 0x24, 0x91, 0x30,
1910         0x82, 0x91, 0x02, 0xB1, 0x18, 0x4B, 0xE0, 0xF4,
1911         0x13, 0x1B, 0xB2, 0x4C, 0xDA, 0xB8, 0x99, 0x96,
1912         0x83, 0x2F, 0xBE, 0x53, 0x8D, 0xDE, 0xFA, 0xAD,
1913         0xF6, 0x5C, 0xDB, 0xE5, 0x66, 0x26, 0x8F, 0x13,
1914         0x2B, 0x76, 0x47, 0x73, 0xDE, 0x1A, 0x74, 0xA6,
1915         0x30, 0xAF, 0x42, 0xA0, 0xE5, 0xD2, 0x8F, 0xC2,
1916         0xED, 0x3E, 0x9E, 0x29, 0x54, 0x3C, 0xDE, 0x9F,
1917         0x5D, 0x30, 0x2B, 0x63, 0xFB, 0xE3, 0xB1, 0x07,
1918         0xEE, 0x74, 0x4A, 0xAF, 0xB1, 0x20, 0x8D, 0xEC,
1919         0xE6, 0x78, 0x16, 0x8D, 0xA4, 0x6E, 0x34, 0x7D,
1920         0x47, 0xFB, 0x0B, 0xC1, 0x32, 0xD7, 0x0D, 0x6C,
1921         0x6F, 0x93, 0x9C, 0x5E, 0xEF, 0x1F, 0x9C, 0x45,
1922         0x80, 0x6B, 0x74, 0xA6, 0x81, 0xF2, 0xF6, 0xFA,
1923         0xAA, 0x9D, 0x4F, 0xCA, 0xB5, 0x90, 0x59, 0xB0,
1924         0x3B, 0xF2, 0xF0, 0x75, 0xFD, 0x8A, 0xD8, 0x97,
1925         0x65, 0x88, 0x56, 0x4C, 0x44, 0xDF, 0x73, 0xF7,
1926         0x56, 0x9C, 0x48, 0x7E, 0xB0, 0x1F, 0x1D, 0x7D,
1927         0x6A, 0x11, 0xF5, 0xC2, 0xF4, 0x17, 0xEF, 0x58,
1928         0xD8, 0x2A, 0xAF, 0x56, 0x2F, 0xCF, 0xEC, 0xA4,
1929         0x58, 0x8B, 0x60, 0xCE, 0xD4, 0x0F, 0x9C, 0x21,
1930         0xEC, 0x3E, 0x74, 0x7B, 0x81, 0x3D, 0x69, 0xC6,
1931         0x5E, 0x12, 0x83, 0xE9, 0xEF, 0x81, 0x58, 0x36,
1932         0x6A, 0x60, 0x0F, 0x54, 0x28, 0x11, 0xF9, 0x64,
1933         0x36, 0xAD, 0x79, 0xF5, 0x1C, 0x74, 0xD0, 0xC3,
1934         0x7B, 0x61, 0xE1, 0x92, 0xB0, 0x13, 0x91, 0x87,
1935         0x32, 0x1F, 0xF2, 0x5A, 0xDA, 0x25, 0x69, 0xEB,
1936         0xD7, 0x32, 0x7F, 0xF5, 0x23, 0x21, 0x54, 0x47,
1937         0x7B, 0x1B, 0x33, 0xB0, 0x3D, 0xF6, 0xE2, 0x7E,
1938         0x3E, 0xA2, 0x9E, 0xCA, 0x48, 0x0B, 0x4A, 0x29,
1939         0x81, 0xD4, 0x4E, 0xD5, 0x69, 0xFB, 0xCD, 0x37,
1940         0x8A, 0xC1, 0x5B, 0x50, 0xFF, 0xB5, 0x7D, 0x43,
1941         0x0F, 0xAE, 0xA6, 0xC2, 0xE5, 0x8F, 0x45, 0xB2,
1942         0x85, 0x99, 0x02, 0xA2, 0x9B, 0xBE, 0x90, 0x43,
1943         0x4F, 0x2F, 0x50, 0xE2, 0x77, 0x62, 0xD9, 0xCC
1944 };
1945
1946 static const uint8_t ciphertext512_aes192cbc_digest_enc[] = {
1947         0x45, 0xee, 0x9a, 0xEA, 0x3C, 0x03, 0xFC, 0x4C,
1948         0x84, 0x36, 0xB0, 0xDA, 0xB0, 0xDC, 0xF3, 0x5B,
1949         0x75, 0xA7, 0xBE, 0x0E, 0xC0, 0x8D, 0x6C, 0xF8,
1950         0xC1, 0x0F, 0xD0, 0x35, 0x1D, 0x82, 0xAE, 0x7C,
1951         0x57, 0xC5, 0x7A, 0x55, 0x87, 0x1B, 0xD4, 0x03,
1952         0x0A, 0x64, 0xC9, 0xE0, 0xF4, 0xC7, 0x6F, 0x57,
1953         0x52, 0xC6, 0x73, 0xBA, 0x84, 0x0B, 0x5B, 0x89,
1954         0x21, 0xD2, 0x9B, 0x88, 0x68, 0xF5, 0xA9, 0x7F,
1955         0x3F, 0x49, 0xEB, 0xF4, 0xD4, 0x52, 0xD2, 0x64,
1956         0x80, 0xB2, 0x53, 0xDA, 0x19, 0xF6, 0x10, 0x24,
1957         0x23, 0x26, 0x7A, 0x7C, 0x07, 0x57, 0x4B, 0x0E,
1958         0x58, 0x49, 0x61, 0xD1, 0xDC, 0x9A, 0x32, 0x6B,
1959         0x0F, 0x43, 0x9E, 0x4D, 0xB4, 0x07, 0x4E, 0xB3,
1960         0x51, 0x74, 0xDE, 0x29, 0xBC, 0x98, 0xF9, 0xDF,
1961         0x78, 0x9A, 0x18, 0x9C, 0xD6, 0x7A, 0x55, 0x7C,
1962         0xE6, 0x1D, 0x5C, 0x1A, 0x99, 0xD2, 0xC3, 0x7B,
1963         0x9F, 0x96, 0x74, 0x2D, 0xE0, 0xEF, 0xD1, 0xE3,
1964         0x08, 0x9F, 0xAF, 0xE6, 0xED, 0xCA, 0xE1, 0xEA,
1965         0x23, 0x6F, 0x7C, 0x81, 0xA8, 0xC0, 0x5B, 0x8B,
1966         0x53, 0x90, 0x51, 0x2D, 0x0F, 0xF6, 0x7D, 0xA7,
1967         0x1C, 0xBD, 0x83, 0x84, 0x54, 0xA4, 0x15, 0xFB,
1968         0x3E, 0x25, 0xA7, 0x3A, 0x0A, 0x73, 0xD9, 0x88,
1969         0x6F, 0x80, 0x78, 0x95, 0x7F, 0x60, 0xAA, 0x86,
1970         0x8A, 0xFC, 0xDF, 0xC1, 0xCB, 0xDE, 0xBB, 0x25,
1971         0x52, 0x20, 0xC6, 0x79, 0xD4, 0x0F, 0x25, 0xE7,
1972         0xDB, 0xB2, 0x17, 0xA4, 0x6F, 0x3C, 0x6F, 0x91,
1973         0xF6, 0x44, 0x1E, 0xB6, 0x85, 0xBC, 0x7A, 0x14,
1974         0x10, 0x72, 0xBD, 0x16, 0x63, 0x39, 0x9E, 0x7B,
1975         0x84, 0x5B, 0x17, 0x61, 0xB1, 0x5D, 0x82, 0x0B,
1976         0x6D, 0x37, 0xD7, 0x79, 0xB8, 0x24, 0x91, 0x30,
1977         0x82, 0x91, 0x02, 0xB1, 0x18, 0x4B, 0xE0, 0xF4,
1978         0x13, 0x1B, 0xB2, 0x4C, 0xDA, 0xB8, 0x99, 0x96,
1979         0x83, 0x2F, 0xBE, 0x53, 0x8D, 0xDE, 0xFA, 0xAD,
1980         0xF6, 0x5C, 0xDB, 0xE5, 0x66, 0x26, 0x8F, 0x13,
1981         0x2B, 0x76, 0x47, 0x73, 0xDE, 0x1A, 0x74, 0xA6,
1982         0x30, 0xAF, 0x42, 0xA0, 0xE5, 0xD2, 0x8F, 0xC2,
1983         0xED, 0x3E, 0x9E, 0x29, 0x54, 0x3C, 0xDE, 0x9F,
1984         0x5D, 0x30, 0x2B, 0x63, 0xFB, 0xE3, 0xB1, 0x07,
1985         0xEE, 0x74, 0x4A, 0xAF, 0xB1, 0x20, 0x8D, 0xEC,
1986         0xE6, 0x78, 0x16, 0x8D, 0xA4, 0x6E, 0x34, 0x7D,
1987         0x47, 0xFB, 0x0B, 0xC1, 0x32, 0xD7, 0x0D, 0x6C,
1988         0x6F, 0x93, 0x9C, 0x5E, 0xEF, 0x1F, 0x9C, 0x45,
1989         0x80, 0x6B, 0x74, 0xA6, 0x81, 0xF2, 0xF6, 0xFA,
1990         0xAA, 0x9D, 0x4F, 0xCA, 0xB5, 0x90, 0x59, 0xB0,
1991         0x3B, 0xF2, 0xF0, 0x75, 0xFD, 0x8A, 0xD8, 0x97,
1992         0x65, 0x88, 0x56, 0x4C, 0x44, 0xDF, 0x73, 0xF7,
1993         0x56, 0x9C, 0x48, 0x7E, 0xB0, 0x1F, 0x1D, 0x7D,
1994         0x6A, 0x11, 0xF5, 0xC2, 0xF4, 0x17, 0xEF, 0x58,
1995         0xD8, 0x2A, 0xAF, 0x56, 0x2F, 0xCF, 0xEC, 0xA4,
1996         0x58, 0x8B, 0x60, 0xCE, 0xD4, 0x0F, 0x9C, 0x21,
1997         0xEC, 0x3E, 0x74, 0x7B, 0x81, 0x3D, 0x69, 0xC6,
1998         0x5E, 0x12, 0x83, 0xE9, 0xEF, 0x81, 0x58, 0x36,
1999         0x6A, 0x60, 0x0F, 0x54, 0x28, 0x11, 0xF9, 0x64,
2000         0x36, 0xAD, 0x79, 0xF5, 0x1C, 0x74, 0xD0, 0xC3,
2001         0x7B, 0x61, 0xE1, 0x92, 0xB0, 0x13, 0x91, 0x87,
2002         0x32, 0x1F, 0xF2, 0x5A, 0xDA, 0x25, 0x69, 0xEB,
2003         0xD7, 0x32, 0x7F, 0xF5, 0x23, 0x21, 0x54, 0x47,
2004         0x7B, 0x1B, 0x33, 0xB0, 0x3D, 0xF6, 0xE2, 0x7E,
2005         0x3E, 0xA2, 0x9E, 0xCA, 0x48, 0x0B, 0x4A, 0x29,
2006         0x81, 0xD4, 0x4E, 0xD5, 0x69, 0xFB, 0xCD, 0x37,
2007         0x8A, 0xC1, 0x5B, 0x50, 0xFF, 0xB5, 0x7D, 0x43,
2008         0x0F, 0xAE, 0xA6, 0xC2, 0xE5, 0x8F, 0x45, 0xB2,
2009         0x85, 0x99, 0x02, 0xA2, 0x9B, 0xBE, 0x90, 0x43,
2010         0x4F, 0x2F, 0x50, 0xE2, 0x77, 0x62, 0xD9, 0xCC,
2011         0x5D, 0x93, 0x6A, 0x97, 0xFB, 0x1D, 0x01, 0x17,
2012         0x90, 0x61, 0x41, 0xD5, 0x5C, 0x43, 0x60, 0xBC,
2013         0x21, 0x04, 0x5B, 0xB9, 0xFF, 0x75, 0xF8, 0x1F,
2014         0x5C, 0x85, 0x91, 0x08, 0x02, 0xA2, 0xFD, 0x88,
2015 };
2016
2017 /** AES-192-CBC test vector */
2018 static const struct blockcipher_test_data aes_test_data_10 = {
2019         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
2020         .cipher_key = {
2021                 .data = {
2022                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2023                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
2024                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
2025                 },
2026                 .len = 24
2027         },
2028         .iv = {
2029                 .data = {
2030                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2031                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2032                 },
2033                 .len = 16
2034         },
2035         .plaintext = {
2036                 .data = plaintext_aes_common,
2037                 .len = 512
2038         },
2039         .ciphertext = {
2040                 .data = ciphertext512_aes192cbc,
2041                 .len = 512
2042         }
2043 };
2044
2045 /** AES-192-CBC SHA1 test vector (Digest encrypted mode) */
2046 static const struct blockcipher_test_data aes_test_data_10_digest_enc = {
2047         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
2048         .cipher_key = {
2049                 .data = {
2050                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2051                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
2052                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
2053                 },
2054                 .len = 24
2055         },
2056         .iv = {
2057                 .data = {
2058                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2059                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2060                 },
2061                 .len = 16
2062         },
2063         .plaintext = {
2064                 .data = plaintext_aes_common_digest_enc,
2065                 .len = 512
2066         },
2067         .ciphertext = {
2068                 .data = ciphertext512_aes192cbc_digest_enc,
2069                 .len = 512
2070         },
2071         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
2072         .auth_key = {
2073                 .data = {
2074                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
2075                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
2076                         0xDE, 0xF4, 0xDE, 0xAD
2077                 },
2078                 .len = 20
2079         },
2080         .digest = {
2081                 .data = {
2082                         0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60,
2083                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
2084                         0x18, 0x8C, 0x1D, 0x32
2085                 },
2086                 .len = 20,
2087         }
2088 };
2089
2090 static const uint8_t ciphertext512_aes256cbc[] = {
2091         0xF3, 0xDD, 0xF0, 0x0B, 0xFF, 0xA2, 0x6A, 0x04,
2092         0xBE, 0xDA, 0x52, 0xA6, 0xFE, 0x6B, 0xA6, 0xA7,
2093         0x48, 0x1D, 0x7D, 0x98, 0x65, 0xDB, 0xEF, 0x06,
2094         0x26, 0xB5, 0x8E, 0xEB, 0x05, 0x0E, 0x77, 0x98,
2095         0x17, 0x8E, 0xD0, 0xD4, 0x7B, 0x92, 0x8F, 0x5C,
2096         0xD0, 0x74, 0x5C, 0xA8, 0x4B, 0x54, 0xB6, 0x2F,
2097         0x83, 0x72, 0x2C, 0xFF, 0x72, 0xE9, 0xE4, 0x15,
2098         0x4C, 0x32, 0xAF, 0xC8, 0xC9, 0x89, 0x3C, 0x6E,
2099         0x31, 0xD5, 0xC0, 0x16, 0xC0, 0x31, 0x7D, 0x11,
2100         0xAB, 0xCB, 0xDE, 0xD2, 0xD6, 0xAA, 0x76, 0x5E,
2101         0xBA, 0xF6, 0xE2, 0x92, 0xCB, 0x86, 0x07, 0xFA,
2102         0xD4, 0x9E, 0x83, 0xED, 0xFD, 0xB8, 0x70, 0x54,
2103         0x6B, 0xBE, 0xEC, 0x72, 0xDD, 0x28, 0x5E, 0x95,
2104         0x78, 0xA5, 0x28, 0x43, 0x3D, 0x6D, 0xB1, 0xD9,
2105         0x69, 0x1F, 0xC9, 0x66, 0x0E, 0x32, 0x44, 0x08,
2106         0xD2, 0xAE, 0x2C, 0x43, 0xF2, 0xD0, 0x7D, 0x26,
2107         0x70, 0xE5, 0xA1, 0xCA, 0x37, 0xE9, 0x7D, 0xC7,
2108         0xA3, 0xFA, 0x81, 0x91, 0x64, 0xAA, 0x64, 0x91,
2109         0x9A, 0x95, 0x2D, 0xC9, 0xF9, 0xCE, 0xFE, 0x9F,
2110         0xC4, 0xD8, 0x81, 0xBE, 0x57, 0x84, 0xC5, 0x02,
2111         0xDB, 0x30, 0xC1, 0xD9, 0x0E, 0xA0, 0xA6, 0x00,
2112         0xD6, 0xF3, 0x52, 0x7E, 0x0D, 0x23, 0x6B, 0x2B,
2113         0x34, 0x99, 0x1F, 0x70, 0x27, 0x6D, 0x58, 0x84,
2114         0x93, 0x77, 0xB8, 0x3E, 0xF1, 0x71, 0x58, 0x42,
2115         0x8B, 0x2B, 0xC8, 0x6D, 0x05, 0x84, 0xFF, 0x4E,
2116         0x85, 0xEF, 0x4A, 0x9D, 0x91, 0x6A, 0xD5, 0xE1,
2117         0xAF, 0x01, 0xEB, 0x83, 0x8F, 0x23, 0x7C, 0x7F,
2118         0x12, 0x91, 0x05, 0xF0, 0x4E, 0xD9, 0x17, 0x62,
2119         0x75, 0xBB, 0xAC, 0x97, 0xEE, 0x3B, 0x4E, 0xC7,
2120         0xE5, 0x92, 0xF8, 0x9D, 0x4C, 0xF9, 0xEE, 0x55,
2121         0x18, 0xBB, 0xCC, 0xB4, 0xF2, 0x59, 0xB9, 0xFC,
2122         0x7A, 0x0F, 0x98, 0xD4, 0x8B, 0xFE, 0xF7, 0x83,
2123         0x46, 0xE2, 0x83, 0x33, 0x3E, 0x95, 0x8D, 0x17,
2124         0x1E, 0x85, 0xF8, 0x8C, 0x51, 0xB0, 0x6C, 0xB5,
2125         0x5E, 0x95, 0xBA, 0x4B, 0x69, 0x1B, 0x48, 0x69,
2126         0x0B, 0x8F, 0xA5, 0x18, 0x13, 0xB9, 0x77, 0xD1,
2127         0x80, 0x32, 0x32, 0x6D, 0x53, 0xA1, 0x95, 0x40,
2128         0x96, 0x8A, 0xCC, 0xA3, 0x69, 0xF8, 0x9F, 0xB5,
2129         0x8E, 0xD2, 0x68, 0x07, 0x4F, 0xA7, 0xEC, 0xF8,
2130         0x20, 0x21, 0x58, 0xF8, 0xD8, 0x9E, 0x5F, 0x40,
2131         0xBA, 0xB9, 0x76, 0x57, 0x3B, 0x17, 0xAD, 0xEE,
2132         0xCB, 0xDF, 0x07, 0xC1, 0xDF, 0x66, 0xA8, 0x0D,
2133         0xC2, 0xCE, 0x8F, 0x79, 0xC3, 0x32, 0xE0, 0x8C,
2134         0xFE, 0x5A, 0xF3, 0x55, 0x27, 0x73, 0x6F, 0xA1,
2135         0x54, 0xC6, 0xFC, 0x28, 0x9D, 0xBE, 0x97, 0xB9,
2136         0x54, 0x97, 0x72, 0x3A, 0x61, 0xAF, 0x6F, 0xDE,
2137         0xF8, 0x0E, 0xBB, 0x6B, 0x96, 0x84, 0xDD, 0x9B,
2138         0x62, 0xBA, 0x47, 0xB5, 0xC9, 0x3B, 0x4E, 0x8C,
2139         0x78, 0x2A, 0xCC, 0x0A, 0x69, 0x54, 0x25, 0x5E,
2140         0x8B, 0xAC, 0x56, 0xD9, 0xFE, 0x48, 0xBA, 0xCE,
2141         0xA9, 0xCE, 0xA6, 0x1D, 0xBF, 0x3E, 0x3C, 0x66,
2142         0x40, 0x71, 0x79, 0xAD, 0x5B, 0x26, 0xAD, 0xBE,
2143         0x58, 0x13, 0x64, 0x60, 0x7C, 0x05, 0xFC, 0xE3,
2144         0x51, 0x7A, 0xF2, 0xCC, 0x54, 0x16, 0x2C, 0xA4,
2145         0xCE, 0x5F, 0x59, 0x12, 0x77, 0xEB, 0xD9, 0x23,
2146         0xE3, 0x86, 0xFB, 0xD7, 0x48, 0x76, 0x9D, 0xE3,
2147         0x89, 0x87, 0x39, 0xFA, 0x7B, 0x21, 0x0B, 0x76,
2148         0xB2, 0xED, 0x1C, 0x27, 0x4B, 0xD5, 0x27, 0x05,
2149         0x8C, 0x7D, 0x58, 0x6C, 0xCA, 0xA5, 0x54, 0x9A,
2150         0x0F, 0xCB, 0xE9, 0x88, 0x31, 0xAD, 0x49, 0xEE,
2151         0x38, 0xFB, 0xC9, 0xFB, 0xB4, 0x7A, 0x00, 0x58,
2152         0x20, 0x32, 0xD3, 0x53, 0x5A, 0xDD, 0x74, 0x95,
2153         0x60, 0x59, 0x09, 0xAE, 0x7E, 0xEC, 0x74, 0xA3,
2154         0xB7, 0x1C, 0x6D, 0xF2, 0xAE, 0x79, 0xA4, 0x7C
2155 };
2156
2157 static const uint8_t ciphertext512_aes256cbc_digest_enc[] = {
2158         0xF3, 0xDD, 0xF0, 0x0B, 0xFF, 0xA2, 0x6A, 0x04,
2159         0xBE, 0xDA, 0x52, 0xA6, 0xFE, 0x6B, 0xA6, 0xA7,
2160         0x48, 0x1D, 0x7D, 0x98, 0x65, 0xDB, 0xEF, 0x06,
2161         0x26, 0xB5, 0x8E, 0xEB, 0x05, 0x0E, 0x77, 0x98,
2162         0x17, 0x8E, 0xD0, 0xD4, 0x7B, 0x92, 0x8F, 0x5C,
2163         0xD0, 0x74, 0x5C, 0xA8, 0x4B, 0x54, 0xB6, 0x2F,
2164         0x83, 0x72, 0x2C, 0xFF, 0x72, 0xE9, 0xE4, 0x15,
2165         0x4C, 0x32, 0xAF, 0xC8, 0xC9, 0x89, 0x3C, 0x6E,
2166         0x31, 0xD5, 0xC0, 0x16, 0xC0, 0x31, 0x7D, 0x11,
2167         0xAB, 0xCB, 0xDE, 0xD2, 0xD6, 0xAA, 0x76, 0x5E,
2168         0xBA, 0xF6, 0xE2, 0x92, 0xCB, 0x86, 0x07, 0xFA,
2169         0xD4, 0x9E, 0x83, 0xED, 0xFD, 0xB8, 0x70, 0x54,
2170         0x6B, 0xBE, 0xEC, 0x72, 0xDD, 0x28, 0x5E, 0x95,
2171         0x78, 0xA5, 0x28, 0x43, 0x3D, 0x6D, 0xB1, 0xD9,
2172         0x69, 0x1F, 0xC9, 0x66, 0x0E, 0x32, 0x44, 0x08,
2173         0xD2, 0xAE, 0x2C, 0x43, 0xF2, 0xD0, 0x7D, 0x26,
2174         0x70, 0xE5, 0xA1, 0xCA, 0x37, 0xE9, 0x7D, 0xC7,
2175         0xA3, 0xFA, 0x81, 0x91, 0x64, 0xAA, 0x64, 0x91,
2176         0x9A, 0x95, 0x2D, 0xC9, 0xF9, 0xCE, 0xFE, 0x9F,
2177         0xC4, 0xD8, 0x81, 0xBE, 0x57, 0x84, 0xC5, 0x02,
2178         0xDB, 0x30, 0xC1, 0xD9, 0x0E, 0xA0, 0xA6, 0x00,
2179         0xD6, 0xF3, 0x52, 0x7E, 0x0D, 0x23, 0x6B, 0x2B,
2180         0x34, 0x99, 0x1F, 0x70, 0x27, 0x6D, 0x58, 0x84,
2181         0x93, 0x77, 0xB8, 0x3E, 0xF1, 0x71, 0x58, 0x42,
2182         0x8B, 0x2B, 0xC8, 0x6D, 0x05, 0x84, 0xFF, 0x4E,
2183         0x85, 0xEF, 0x4A, 0x9D, 0x91, 0x6A, 0xD5, 0xE1,
2184         0xAF, 0x01, 0xEB, 0x83, 0x8F, 0x23, 0x7C, 0x7F,
2185         0x12, 0x91, 0x05, 0xF0, 0x4E, 0xD9, 0x17, 0x62,
2186         0x75, 0xBB, 0xAC, 0x97, 0xEE, 0x3B, 0x4E, 0xC7,
2187         0xE5, 0x92, 0xF8, 0x9D, 0x4C, 0xF9, 0xEE, 0x55,
2188         0x18, 0xBB, 0xCC, 0xB4, 0xF2, 0x59, 0xB9, 0xFC,
2189         0x7A, 0x0F, 0x98, 0xD4, 0x8B, 0xFE, 0xF7, 0x83,
2190         0x46, 0xE2, 0x83, 0x33, 0x3E, 0x95, 0x8D, 0x17,
2191         0x1E, 0x85, 0xF8, 0x8C, 0x51, 0xB0, 0x6C, 0xB5,
2192         0x5E, 0x95, 0xBA, 0x4B, 0x69, 0x1B, 0x48, 0x69,
2193         0x0B, 0x8F, 0xA5, 0x18, 0x13, 0xB9, 0x77, 0xD1,
2194         0x80, 0x32, 0x32, 0x6D, 0x53, 0xA1, 0x95, 0x40,
2195         0x96, 0x8A, 0xCC, 0xA3, 0x69, 0xF8, 0x9F, 0xB5,
2196         0x8E, 0xD2, 0x68, 0x07, 0x4F, 0xA7, 0xEC, 0xF8,
2197         0x20, 0x21, 0x58, 0xF8, 0xD8, 0x9E, 0x5F, 0x40,
2198         0xBA, 0xB9, 0x76, 0x57, 0x3B, 0x17, 0xAD, 0xEE,
2199         0xCB, 0xDF, 0x07, 0xC1, 0xDF, 0x66, 0xA8, 0x0D,
2200         0xC2, 0xCE, 0x8F, 0x79, 0xC3, 0x32, 0xE0, 0x8C,
2201         0xFE, 0x5A, 0xF3, 0x55, 0x27, 0x73, 0x6F, 0xA1,
2202         0x54, 0xC6, 0xFC, 0x28, 0x9D, 0xBE, 0x97, 0xB9,
2203         0x54, 0x97, 0x72, 0x3A, 0x61, 0xAF, 0x6F, 0xDE,
2204         0xF8, 0x0E, 0xBB, 0x6B, 0x96, 0x84, 0xDD, 0x9B,
2205         0x62, 0xBA, 0x47, 0xB5, 0xC9, 0x3B, 0x4E, 0x8C,
2206         0x78, 0x2A, 0xCC, 0x0A, 0x69, 0x54, 0x25, 0x5E,
2207         0x8B, 0xAC, 0x56, 0xD9, 0xFE, 0x48, 0xBA, 0xCE,
2208         0xA9, 0xCE, 0xA6, 0x1D, 0xBF, 0x3E, 0x3C, 0x66,
2209         0x40, 0x71, 0x79, 0xAD, 0x5B, 0x26, 0xAD, 0xBE,
2210         0x58, 0x13, 0x64, 0x60, 0x7C, 0x05, 0xFC, 0xE3,
2211         0x51, 0x7A, 0xF2, 0xCC, 0x54, 0x16, 0x2C, 0xA4,
2212         0xCE, 0x5F, 0x59, 0x12, 0x77, 0xEB, 0xD9, 0x23,
2213         0xE3, 0x86, 0xFB, 0xD7, 0x48, 0x76, 0x9D, 0xE3,
2214         0x89, 0x87, 0x39, 0xFA, 0x7B, 0x21, 0x0B, 0x76,
2215         0xB2, 0xED, 0x1C, 0x27, 0x4B, 0xD5, 0x27, 0x05,
2216         0x8C, 0x7D, 0x58, 0x6C, 0xCA, 0xA5, 0x54, 0x9A,
2217         0x0F, 0xCB, 0xE9, 0x88, 0x31, 0xAD, 0x49, 0xEE,
2218         0x38, 0xFB, 0xC9, 0xFB, 0xB4, 0x7A, 0x00, 0x58,
2219         0x20, 0x32, 0xD3, 0x53, 0x5A, 0xDD, 0x74, 0x95,
2220         0x60, 0x59, 0x09, 0xAE, 0x7E, 0xEC, 0x74, 0xA3,
2221         0xB7, 0x1C, 0x6D, 0xF2, 0xAE, 0x79, 0xA4, 0x7C,
2222         0x50, 0xB1, 0x8D, 0x56, 0x22, 0x75, 0xD6, 0x8F,
2223         0x93, 0xB5, 0xED, 0xE8, 0x3D, 0x20, 0x4F, 0x9F,
2224         0x80, 0x2F, 0x56, 0x95, 0xA0, 0x80, 0xC6, 0xC2,
2225         0xA8, 0x27, 0xFB, 0x48, 0x96, 0x58, 0xA1, 0x93,
2226 };
2227
2228 /** AES-256-CBC test vector */
2229 static const struct blockcipher_test_data aes_test_data_11 = {
2230         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
2231         .cipher_key = {
2232                 .data = {
2233                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2234                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
2235                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0,
2236                         0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D
2237                 },
2238                 .len = 32
2239         },
2240         .iv = {
2241                 .data = {
2242                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2243                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2244                 },
2245                 .len = 16
2246         },
2247         .plaintext = {
2248                 .data = plaintext_aes_common,
2249                 .len = 512
2250         },
2251         .ciphertext = {
2252                 .data = ciphertext512_aes256cbc,
2253                 .len = 512
2254         }
2255 };
2256
2257 /** AES-256-CBC SHA1 test vector (Digest encrypted mode) */
2258 static const struct blockcipher_test_data aes_test_data_11_digest_enc = {
2259         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
2260         .cipher_key = {
2261                 .data = {
2262                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2263                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
2264                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0,
2265                         0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D
2266                 },
2267                 .len = 32
2268         },
2269         .iv = {
2270                 .data = {
2271                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2272                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2273                 },
2274                 .len = 16
2275         },
2276         .plaintext = {
2277                 .data = plaintext_aes_common_digest_enc,
2278                 .len = 512
2279         },
2280         .ciphertext = {
2281                 .data = ciphertext512_aes256cbc_digest_enc,
2282                 .len = 512
2283         },
2284         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
2285         .auth_key = {
2286                 .data = {
2287                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
2288                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
2289                         0xDE, 0xF4, 0xDE, 0xAD
2290                 },
2291                 .len = 20
2292         },
2293         .digest = {
2294                 .data = {
2295                         0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60,
2296                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
2297                         0x18, 0x8C, 0x1D, 0x32
2298                 },
2299                 .len = 20,
2300         }
2301 };
2302
2303 /** AES-128-CBC SHA256 HMAC test vector (160 bytes) */
2304 static const struct blockcipher_test_data aes_test_data_12 = {
2305         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
2306         .cipher_key = {
2307                 .data = {
2308                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2309                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
2310                 },
2311                 .len = 16
2312         },
2313         .iv = {
2314                 .data = {
2315                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2316                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2317                 },
2318                 .len = 16
2319         },
2320         .plaintext = {
2321                 .data = plaintext_aes_common,
2322                 .len = 160
2323         },
2324         .ciphertext = {
2325                 .data = ciphertext512_aes128cbc,
2326                 .len = 160
2327         },
2328         .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
2329         .auth_key = {
2330                 .data = {
2331                         0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
2332                         0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
2333                         0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
2334                         0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
2335                 },
2336                 .len = 32
2337         },
2338         .digest = {
2339                 .data = {
2340                         0x92, 0xEC, 0x65, 0x9A, 0x52, 0xCC, 0x50, 0xA5,
2341                         0xEE, 0x0E, 0xDF, 0x1E, 0xA4, 0xC9, 0xC1, 0x04,
2342                         0xD5, 0xDC, 0x78, 0x90, 0xF4, 0xE3, 0x35, 0x62,
2343                         0xAD, 0x95, 0x45, 0x28, 0x5C, 0xF8, 0x8C, 0x0B
2344                 },
2345                 .len = 32,
2346                 .truncated_len = 16
2347         }
2348 };
2349
2350 /** AES-128-CBC SHA1 HMAC test vector (160 bytes) */
2351 static const struct blockcipher_test_data aes_test_data_13 = {
2352         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
2353         .cipher_key = {
2354                 .data = {
2355                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2356                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
2357                 },
2358                 .len = 16
2359         },
2360         .iv = {
2361                 .data = {
2362                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2363                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2364                 },
2365                 .len = 16
2366         },
2367         .plaintext = {
2368                 .data = plaintext_aes_common,
2369                 .len = 160
2370         },
2371         .ciphertext = {
2372                 .data = ciphertext512_aes128cbc,
2373                 .len = 160
2374         },
2375         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
2376         .auth_key = {
2377                 .data = {
2378                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
2379                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
2380                         0xDE, 0xF4, 0xDE, 0xAD
2381                 },
2382                 .len = 20
2383         },
2384         .digest = {
2385                 .data = {
2386                         0x4F, 0x16, 0xEA, 0xF7, 0x4A, 0x88, 0xD3, 0xE0,
2387                         0x0E, 0x12, 0x8B, 0xE7, 0x05, 0xD0, 0x86, 0x48,
2388                         0x22, 0x43, 0x30, 0xA7
2389                 },
2390                 .len = 20,
2391                 .truncated_len = 12
2392         }
2393 };
2394
2395 /** AES-128-CBC SHA1 test vector (Digest encrypted mode) */
2396 static const struct blockcipher_test_data aes_test_data_13_digest_enc = {
2397         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
2398         .cipher_key = {
2399                 .data = {
2400                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2401                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
2402                 },
2403                 .len = 16
2404         },
2405         .iv = {
2406                 .data = {
2407                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2408                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2409                 },
2410                 .len = 16
2411         },
2412         .plaintext = {
2413                 .data = plaintext_aes_common_short_digest_enc,
2414                 .len = 50
2415         },
2416         .ciphertext = {
2417                 .data = ciphertext512_aes128cbc_short_digest_enc,
2418                 .len = 50
2419         },
2420         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
2421         .auth_key = {
2422                 .data = {
2423                         0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
2424                         0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA,
2425                         0xAA, 0xAA, 0xAA, 0xAA
2426                 },
2427                 .len = 20
2428         },
2429         .digest = {
2430                 .data = {
2431                         0x12, 0x5D, 0x73, 0x42, 0xB9, 0xAC, 0x11, 0xCD,
2432                         0x91, 0xA3, 0x9A, 0xF4, 0x8A, 0xA1, 0x7B, 0x4F,
2433                         0x63, 0xF1, 0x75, 0xD3
2434                 },
2435                 .len = 20,
2436         }
2437 };
2438
2439 /** XTS-AES-128 test vector (2 keys * 128 bit) */
2440 static const uint8_t plaintext_aes128xts_16bytes[] = {
2441         0xEB, 0xAB, 0xCE, 0x95, 0xB1, 0x4D, 0x3C, 0x8D,
2442         0x6F, 0xB3, 0x50, 0x39, 0x07, 0x90, 0x31, 0x1C
2443 };
2444 static const uint8_t ciphertext_aes128xts_16bytes[] = {
2445         0x77, 0x8A, 0xE8, 0xB4, 0x3C, 0xB9, 0x8D, 0x5A,
2446         0x82, 0x50, 0x81, 0xD5, 0xBE, 0x47, 0x1C, 0x63
2447 };
2448 static const struct
2449 blockcipher_test_data aes_test_data_xts_key_32_pt_16 = {
2450         .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
2451         .cipher_key = {
2452                 .data = {
2453                         0xA1, 0xB9, 0x0C, 0xBA, 0x3F, 0x06, 0xAC, 0x35,
2454                         0x3B, 0x2C, 0x34, 0x38, 0x76, 0x08, 0x17, 0x62,
2455                         0x09, 0x09, 0x23, 0x02, 0x6E, 0x91, 0x77, 0x18,
2456                         0x15, 0xF2, 0x9D, 0xAB, 0x01, 0x93, 0x2F, 0x2F
2457                 },
2458                 .len = 32
2459         },
2460         .iv = {
2461                 .data = {
2462                         0x4F, 0xAE, 0xF7, 0x11, 0x7C, 0xDA, 0x59, 0xC6,
2463                         0x6E, 0x4B, 0x92, 0x01, 0x3E, 0x76, 0x8A, 0xD5
2464                 },
2465                 .len = 16
2466         },
2467         .plaintext = {
2468                 .data = plaintext_aes128xts_16bytes,
2469                 .len = 16
2470         },
2471         .ciphertext = {
2472                 .data = ciphertext_aes128xts_16bytes,
2473                 .len = 16
2474         }
2475 };
2476 static const uint8_t plaintext_aes128xts_32bytes[] = {
2477         0xB0, 0x4D, 0x84, 0xDA, 0x85, 0x6B, 0x9A, 0x59,
2478         0xCE, 0x2D, 0x62, 0x67, 0x46, 0xF6, 0x89, 0xA8,
2479         0x05, 0x1D, 0xAC, 0xD6, 0xBC, 0xE3, 0xB9, 0x90,
2480         0xAA, 0x90, 0x1E, 0x40, 0x30, 0x64, 0x88, 0x79
2481 };
2482 static const uint8_t ciphertext_aes128xts_32bytes[] = {
2483         0xF9, 0x41, 0x03, 0x9E, 0xBA, 0xB8, 0xCA, 0xC3,
2484         0x9D, 0x59, 0x24, 0x7C, 0xBB, 0xCB, 0x4D, 0x81,
2485         0x6C, 0x72, 0x6D, 0xAE, 0xD1, 0x15, 0x77, 0x69,
2486         0x2C, 0x55, 0xE4, 0xAC, 0x6D, 0x3E, 0x68, 0x20
2487 };
2488 static const struct
2489 blockcipher_test_data aes_test_data_xts_key_32_pt_32 = {
2490         .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
2491         .cipher_key = {
2492                 .data = {
2493                         0x78, 0x3A, 0x83, 0xEC, 0x52, 0xA2, 0x74, 0x05,
2494                         0xDF, 0xF9, 0xDE, 0x4C, 0x57, 0xF9, 0xC9, 0x79,
2495                         0xB3, 0x60, 0xB6, 0xA5, 0xDF, 0x88, 0xD6, 0x7E,
2496                         0xC1, 0xA0, 0x52, 0xE6, 0xF5, 0x82, 0xA7, 0x17
2497                 },
2498                 .len = 32
2499         },
2500         .iv = {
2501                 .data = {
2502                         0x88, 0x6E, 0x97, 0x5B, 0x29, 0xBD, 0xF6, 0xF0,
2503                         0xC0, 0x1B, 0xB4, 0x7F, 0x61, 0xF6, 0xF0, 0xF5
2504                 },
2505                 .len = 16
2506         },
2507         .plaintext = {
2508                 .data = plaintext_aes128xts_32bytes,
2509                 .len = 32
2510         },
2511         .ciphertext = {
2512                 .data = ciphertext_aes128xts_32bytes,
2513                 .len = 32
2514         }
2515 };
2516
2517 /** XTS-AES-256 test vector (2 keys * 256 bit) */
2518 /* Encryption */
2519 static const uint8_t plaintext_aes256xts_32bytes[] = {
2520         0x2E, 0xED, 0xEA, 0x52, 0xCD, 0x82, 0x15, 0xE1,
2521         0xAC, 0xC6, 0x47, 0xE8, 0x10, 0xBB, 0xC3, 0x64,
2522         0x2E, 0x87, 0x28, 0x7F, 0x8D, 0x2E, 0x57, 0xE3,
2523         0x6C, 0x0A, 0x24, 0xFB, 0xC1, 0x2A, 0x20, 0x2E
2524 };
2525 static const uint8_t ciphertext_aes256xts_32bytes[] = {
2526         0xCB, 0xAA, 0xD0, 0xE2, 0xF6, 0xCE, 0xA3, 0xF5,
2527         0x0B, 0x37, 0xF9, 0x34, 0xD4, 0x6A, 0x9B, 0x13,
2528         0x0B, 0x9D, 0x54, 0xF0, 0x7E, 0x34, 0xF3, 0x6A,
2529         0xF7, 0x93, 0xE8, 0x6F, 0x73, 0xC6, 0xD7, 0xDB
2530 };
2531 static const struct
2532 blockcipher_test_data aes_test_data_xts_key_64_pt_32 = {
2533         .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
2534         .cipher_key = {
2535                 .data = {
2536                         0x1E, 0xA6, 0x61, 0xC5, 0x8D, 0x94, 0x3A, 0x0E,
2537                         0x48, 0x01, 0xE4, 0x2F, 0x4B, 0x09, 0x47, 0x14,
2538                         0x9E, 0x7F, 0x9F, 0x8E, 0x3E, 0x68, 0xD0, 0xC7,
2539                         0x50, 0x52, 0x10, 0xBD, 0x31, 0x1A, 0x0E, 0x7C,
2540                         0xD6, 0xE1, 0x3F, 0xFD, 0xF2, 0x41, 0x8D, 0x8D,
2541                         0x19, 0x11, 0xC0, 0x04, 0xCD, 0xA5, 0x8D, 0xA3,
2542                         0xD6, 0x19, 0xB7, 0xE2, 0xB9, 0x14, 0x1E, 0x58,
2543                         0x31, 0x8E, 0xEA, 0x39, 0x2C, 0xF4, 0x1B, 0x08
2544                 },
2545                 .len = 64
2546         },
2547         .iv = {
2548                 .data = {
2549                         0xAD, 0xF8, 0xD9, 0x26, 0x27, 0x46, 0x4A, 0xD2,
2550                         0xF0, 0x42, 0x8E, 0x84, 0xA9, 0xF8, 0x75, 0x64
2551                 },
2552                 .len = 16
2553         },
2554         .plaintext = {
2555                 .data = plaintext_aes256xts_32bytes,
2556                 .len = 32
2557         },
2558         .ciphertext = {
2559                 .data = ciphertext_aes256xts_32bytes,
2560                 .len = 32
2561         }
2562 };
2563 static const uint8_t plaintext_aes256xts_48bytes[] = {
2564         0xBB, 0xB2, 0x34, 0xDB, 0x01, 0xBE, 0x79, 0xD3,
2565         0xDC, 0x7D, 0xCF, 0x49, 0xBC, 0x53, 0xB8, 0xEF,
2566         0xC6, 0x2F, 0xE7, 0x17, 0x94, 0x39, 0x06, 0x1D,
2567         0x73, 0xA6, 0xB2, 0x0E, 0xDB, 0x9B, 0x7D, 0xA0,
2568         0x45, 0x0B, 0x19, 0xF0, 0x20, 0x82, 0x02, 0x09,
2569         0xAF, 0xE0, 0x81, 0x12, 0xAE, 0x4A, 0xFD, 0xD3
2570 };
2571 static const uint8_t ciphertext_aes256xts_48bytes[] = {
2572         0xCB, 0xF6, 0x88, 0x48, 0xC4, 0x20, 0x49, 0xEF,
2573         0xB1, 0x46, 0xE2, 0xD1, 0xE4, 0x11, 0x5F, 0x62,
2574         0xE4, 0xFA, 0xA4, 0xEF, 0xFF, 0x19, 0x8F, 0x1A,
2575         0x0A, 0xA0, 0xC9, 0x8B, 0xA0, 0x2C, 0xC4, 0x4D,
2576         0xA3, 0x76, 0xD7, 0x62, 0xD6, 0x15, 0x1F, 0x23,
2577         0x45, 0x87, 0xBF, 0x12, 0x8B, 0x6A, 0x7F, 0xFA
2578 };
2579 static const struct
2580 blockcipher_test_data aes_test_data_xts_key_64_pt_48 = {
2581         .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
2582         .cipher_key = {
2583                 .data = {
2584                         0x7F, 0xB0, 0x92, 0x2F, 0xCE, 0x09, 0xED, 0xDD,
2585                         0x36, 0x65, 0xA1, 0x1F, 0x52, 0x35, 0xD5, 0x1E,
2586                         0xF7, 0x72, 0x06, 0xA7, 0xDE, 0x45, 0x47, 0x75,
2587                         0xB6, 0x9D, 0xCC, 0x54, 0x59, 0xAC, 0xDB, 0x24,
2588                         0xCC, 0xF0, 0x5C, 0x41, 0x5A, 0xF5, 0xAB, 0x8A,
2589                         0x06, 0x62, 0x3D, 0x19, 0x8D, 0x5B, 0x91, 0x85,
2590                         0x95, 0xA9, 0xDC, 0xAA, 0xF5, 0x39, 0x2E, 0xE7,
2591                         0x17, 0xC1, 0x04, 0x7F, 0x2F, 0x08, 0xF6, 0x2B
2592                 },
2593                 .len = 64
2594         },
2595         .iv = {
2596                 .data = {
2597                         0x8E, 0xA3, 0x63, 0x8B, 0x9D, 0x40, 0x62, 0xF1,
2598                         0x69, 0x19, 0x6F, 0xF4, 0x55, 0x5A, 0xD0, 0xAF
2599                 },
2600                 .len = 16
2601         },
2602         .plaintext = {
2603                 .data = plaintext_aes256xts_48bytes,
2604                 .len = 48
2605         },
2606         .ciphertext = {
2607                 .data = ciphertext_aes256xts_48bytes,
2608                 .len = 48
2609         }
2610 };
2611
2612 static const uint8_t plaintext_aes256xts_512bytes[] = {
2613         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2614         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2615         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2616         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2617         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2618         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2619         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2620         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2621         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2622         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2623         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2624         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2625         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2626         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2627         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2628         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2629         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2630         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2631         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2632         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2633         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2634         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2635         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2636         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2637         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2638         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2639         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2640         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2641         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2642         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2643         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2644         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2645         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2646         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2647         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2648         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2649         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2650         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2651         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2652         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2653         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2654         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2655         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2656         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2657         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2658         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2659         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2660         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2661         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2662         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2663         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2664         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2665         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2666         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2667         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2668         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2669         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2670         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2671         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2672         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2673         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2674         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2675         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2676         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79
2677 };
2678 static const uint8_t ciphertext_aes256xts_512bytes[] = {
2679         0xD3, 0x94, 0x3E, 0xC9, 0xD3, 0x43, 0x13, 0xD3,
2680         0x07, 0x7E, 0x51, 0x11, 0x97, 0xA5, 0xB1, 0xB2,
2681         0xB0, 0x55, 0xF8, 0xD6, 0xA2, 0x10, 0x78, 0x76,
2682         0x37, 0x95, 0x4F, 0x25, 0x99, 0xCC, 0x12, 0xD6,
2683         0xBB, 0x2A, 0x24, 0xF4, 0x2D, 0x82, 0xFF, 0x56,
2684         0xEC, 0x55, 0x3B, 0xDD, 0xF9, 0xE1, 0xC8, 0x48,
2685         0x68, 0x16, 0xD2, 0x2B, 0x95, 0x7C, 0x1F, 0xCB,
2686         0x32, 0xD6, 0x8F, 0x9A, 0x2E, 0xF7, 0x9B, 0xBE,
2687         0x72, 0xFC, 0x55, 0x33, 0x27, 0x21, 0x2F, 0x69,
2688         0xCA, 0x76, 0xA5, 0x9B, 0x21, 0x2E, 0x40, 0x57,
2689         0x2C, 0x1C, 0x98, 0x41, 0x9A, 0x5E, 0x55, 0x38,
2690         0xDE, 0xC2, 0x09, 0x57, 0x32, 0xA3, 0x34, 0x40,
2691         0xC1, 0x8D, 0xCF, 0x70, 0x15, 0xF2, 0x6F, 0x4F,
2692         0x6A, 0x04, 0xA6, 0x6D, 0xFF, 0x53, 0x25, 0x6A,
2693         0x0E, 0xD0, 0x87, 0x63, 0xA1, 0x6C, 0xB1, 0x99,
2694         0x4A, 0x42, 0xF5, 0xF6, 0xEA, 0xA4, 0xEB, 0x6D,
2695         0x70, 0x9B, 0x0F, 0x85, 0xE2, 0x43, 0x6C, 0x27,
2696         0x54, 0x57, 0x52, 0x1C, 0xCF, 0x72, 0x11, 0x83,
2697         0xC3, 0xF5, 0xC6, 0xB6, 0x07, 0xEC, 0x1A, 0xF5,
2698         0xAC, 0xA1, 0xF2, 0x3A, 0x01, 0x53, 0x0C, 0xA4,
2699         0x40, 0x19, 0xAF, 0x7B, 0x2D, 0xE7, 0x56, 0x8B,
2700         0x71, 0x5F, 0x8D, 0x96, 0xF1, 0x5D, 0x33, 0xAC,
2701         0xE7, 0xAD, 0x96, 0xDB, 0xBB, 0xF7, 0xF5, 0x3F,
2702         0x0E, 0x02, 0x2E, 0x80, 0xE9, 0xA2, 0x30, 0xD2,
2703         0x82, 0x65, 0xEC, 0x1A, 0xB2, 0xE8, 0x98, 0x23,
2704         0x42, 0x79, 0x43, 0x85, 0x3B, 0xF9, 0xFB, 0xBB,
2705         0xC5, 0x29, 0xAD, 0x95, 0xAE, 0x22, 0x5B, 0x26,
2706         0xDF, 0x76, 0x65, 0x37, 0x17, 0xBC, 0x58, 0xBB,
2707         0x1B, 0x0A, 0x71, 0xDC, 0x68, 0xFF, 0x90, 0x36,
2708         0x37, 0xB7, 0x49, 0x5E, 0x49, 0x4E, 0xE4, 0x1E,
2709         0x24, 0x39, 0x48, 0xC7, 0x68, 0x19, 0xED, 0x94,
2710         0xB5, 0xF6, 0x85, 0xFA, 0xE6, 0xB8, 0x2B, 0x9E,
2711         0x07, 0x9E, 0xFB, 0x1D, 0x61, 0x06, 0x47, 0x2A,
2712         0x3E, 0x1E, 0xD8, 0x52, 0xFB, 0xB7, 0xE3, 0xB4,
2713         0x0D, 0xA8, 0x15, 0x1E, 0x98, 0x02, 0xBD, 0x89,
2714         0x89, 0xE3, 0x38, 0x2C, 0xAB, 0x50, 0x25, 0x30,
2715         0xB4, 0x5E, 0xA5, 0xCD, 0xA8, 0x9B, 0xA4, 0x2A,
2716         0xED, 0x19, 0x3B, 0xC3, 0x05, 0x07, 0x57, 0xB5,
2717         0x52, 0x11, 0x74, 0x95, 0x51, 0x5A, 0xD8, 0xED,
2718         0xDF, 0x37, 0x91, 0x83, 0x27, 0xD5, 0x08, 0x82,
2719         0xB3, 0x42, 0x08, 0xC7, 0x81, 0x35, 0x5F, 0x58,
2720         0x28, 0x69, 0x0D, 0x97, 0x1D, 0x28, 0xE6, 0xB0,
2721         0x58, 0x93, 0xCE, 0x2A, 0xB4, 0x7D, 0x4B, 0x83,
2722         0x20, 0x1E, 0x08, 0xEF, 0x68, 0x51, 0xEB, 0xB4,
2723         0xFA, 0x78, 0xB5, 0xE5, 0x2D, 0x93, 0x07, 0x99,
2724         0xBB, 0xDD, 0x9A, 0x4E, 0xD6, 0xE7, 0x31, 0x9F,
2725         0x4D, 0xB4, 0x05, 0x45, 0x89, 0x59, 0x42, 0xFF,
2726         0x0C, 0xD4, 0xC2, 0xF3, 0xA0, 0xF7, 0xD3, 0xCE,
2727         0x26, 0x2F, 0x9B, 0xCB, 0x98, 0x24, 0xDE, 0x50,
2728         0xF6, 0x81, 0x24, 0xA3, 0xB4, 0x99, 0x94, 0xDB,
2729         0xF5, 0xF4, 0x74, 0xAC, 0xED, 0xF1, 0xD6, 0x2F,
2730         0x89, 0x48, 0x41, 0x24, 0xBB, 0xA7, 0x64, 0x48,
2731         0xAE, 0x36, 0xE3, 0xF3, 0xA8, 0x37, 0x4F, 0xE6,
2732         0x24, 0x92, 0xC4, 0x27, 0x86, 0x68, 0xC4, 0xA2,
2733         0x2F, 0xB2, 0xA8, 0xFF, 0x27, 0x5F, 0x59, 0xB9,
2734         0x86, 0x89, 0x5A, 0x09, 0xB8, 0xDA, 0xD6, 0xBA,
2735         0x26, 0x86, 0x51, 0xC2, 0xDF, 0xCF, 0x07, 0x49,
2736         0x1C, 0xB7, 0x1A, 0x80, 0xD4, 0x97, 0x13, 0xAA,
2737         0xE8, 0x38, 0xA7, 0x2C, 0xB7, 0xE2, 0xE0, 0x33,
2738         0xF9, 0xC3, 0x21, 0xF6, 0x2A, 0xAA, 0x1A, 0xF7,
2739         0x39, 0x1F, 0x2F, 0x7E, 0x38, 0xC8, 0x82, 0x3F,
2740         0xCC, 0xD8, 0xE2, 0xD9, 0x02, 0xE6, 0x8E, 0x31,
2741         0xA7, 0x37, 0xE8, 0x59, 0x3F, 0xE1, 0x60, 0x1C,
2742         0x74, 0x52, 0xE4, 0x49, 0xF7, 0x21, 0x60, 0x11
2743 };
2744 static const struct
2745 blockcipher_test_data aes_test_data_xts_wrapped_key_48_pt_512_du_512 = {
2746         .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
2747         .cipher_key = {
2748                 .data = {
2749                         0x94, 0xD8, 0xAE, 0xD7, 0x74, 0xBF, 0x51, 0xF1,
2750                         0x2D, 0x19, 0x0B, 0x9A, 0xB3, 0xDC, 0x1E, 0xA9,
2751                         0x5C, 0xC5, 0x47, 0xC1, 0xBB, 0x94, 0xDB, 0xFA,
2752                         0x2B, 0x1E, 0x54, 0xA5, 0x76, 0xAD, 0x07, 0x4B,
2753                         0x46, 0xE0, 0xAA, 0xF9, 0xF7, 0x5C, 0x64, 0x2D,
2754                         0x8F, 0x04, 0x17, 0x72, 0xE5, 0x8D, 0xFE, 0x9C
2755                 },
2756                 .len = 48
2757         },
2758         .iv = {
2759                 .data = {
2760                         0x4F, 0xAE, 0xF7, 0x11, 0x7C, 0xDA, 0x59, 0xC6,
2761                         0x6E, 0x4B, 0x92, 0x01, 0x3E, 0x76, 0x8A, 0xD5
2762                 },
2763                 .len = 16
2764         },
2765         .plaintext = {
2766                 .data = plaintext_aes256xts_512bytes,
2767                 .len = 512
2768         },
2769         .ciphertext = {
2770                 .data = ciphertext_aes256xts_512bytes,
2771                 .len = 512
2772         },
2773         .xts_dataunit_len = 512,
2774         .wrapped_key = true
2775 };
2776 static const uint8_t plaintext_aes256xts_4096bytes[] = {
2777         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2778         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2779         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2780         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2781         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2782         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2783         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2784         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2785         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2786         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2787         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2788         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2789         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2790         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2791         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2792         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2793         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2794         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2795         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2796         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2797         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2798         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2799         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2800         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2801         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2802         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2803         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2804         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2805         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2806         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2807         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2808         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2809         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2810         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2811         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2812         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2813         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2814         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2815         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2816         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2817         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2818         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2819         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2820         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2821         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2822         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2823         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2824         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2825         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2826         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2827         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2828         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2829         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2830         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2831         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2832         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2833         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2834         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2835         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2836         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2837         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2838         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2839         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2840         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2841         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2842         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2843         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2844         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2845         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2846         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2847         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2848         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2849         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2850         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2851         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2852         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2853         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2854         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2855         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2856         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2857         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2858         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2859         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2860         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2861         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2862         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2863         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2864         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2865         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2866         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2867         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2868         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2869         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2870         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2871         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2872         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2873         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2874         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2875         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2876         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2877         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2878         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2879         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2880         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2881         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2882         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2883         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2884         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2885         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2886         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2887         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2888         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2889         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2890         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2891         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2892         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2893         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2894         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2895         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2896         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2897         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2898         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2899         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2900         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2901         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2902         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2903         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2904         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2905         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2906         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2907         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2908         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2909         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2910         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2911         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2912         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2913         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2914         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2915         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2916         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2917         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2918         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2919         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2920         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2921         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2922         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2923         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2924         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2925         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2926         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2927         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2928         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2929         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2930         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2931         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2932         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2933         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2934         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2935         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2936         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2937         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2938         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2939         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2940         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2941         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2942         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2943         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2944         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2945         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2946         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2947         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2948         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2949         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2950         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2951         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2952         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2953         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2954         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2955         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2956         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2957         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2958         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2959         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2960         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2961         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2962         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2963         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2964         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2965         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2966         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2967         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2968         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2969         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2970         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2971         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2972         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2973         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2974         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2975         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2976         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2977         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2978         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2979         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2980         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2981         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2982         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2983         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2984         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2985         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2986         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2987         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2988         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2989         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2990         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2991         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2992         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2993         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2994         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2995         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2996         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2997         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2998         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
2999         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3000         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3001         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3002         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3003         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3004         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3005         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3006         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3007         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3008         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3009         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3010         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3011         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3012         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3013         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3014         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3015         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3016         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3017         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3018         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3019         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3020         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3021         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3022         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3023         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3024         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3025         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3026         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3027         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3028         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3029         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3030         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3031         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3032         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3033         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3034         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3035         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3036         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3037         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3038         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3039         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3040         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3041         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3042         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3043         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3044         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3045         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3046         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3047         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3048         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3049         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3050         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3051         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3052         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3053         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3054         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3055         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3056         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3057         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3058         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3059         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3060         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3061         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3062         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3063         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3064         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3065         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3066         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3067         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3068         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3069         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3070         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3071         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3072         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3073         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3074         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3075         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3076         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3077         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3078         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3079         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3080         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3081         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3082         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3083         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3084         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3085         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3086         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3087         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3088         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3089         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3090         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3091         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3092         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3093         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3094         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3095         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3096         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3097         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3098         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3099         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3100         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3101         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3102         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3103         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3104         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3105         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3106         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3107         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3108         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3109         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3110         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3111         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3112         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3113         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3114         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3115         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3116         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3117         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3118         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3119         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3120         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3121         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3122         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3123         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3124         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3125         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3126         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3127         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3128         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3129         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3130         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3131         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3132         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3133         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3134         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3135         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3136         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3137         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3138         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3139         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3140         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3141         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3142         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3143         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3144         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3145         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3146         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3147         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3148         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3149         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3150         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3151         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3152         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3153         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3154         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3155         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3156         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3157         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3158         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3159         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3160         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3161         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3162         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3163         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3164         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3165         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3166         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3167         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3168         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3169         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3170         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3171         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3172         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3173         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3174         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3175         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3176         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3177         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3178         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3179         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3180         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3181         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3182         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3183         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3184         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3185         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3186         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3187         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3188         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3189         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3190         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3191         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3192         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3193         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3194         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3195         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3196         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3197         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3198         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3199         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3200         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3201         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3202         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3203         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3204         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3205         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3206         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3207         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3208         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3209         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3210         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3211         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3212         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3213         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3214         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3215         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3216         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3217         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3218         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3219         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3220         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3221         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3222         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3223         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3224         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3225         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3226         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3227         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3228         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3229         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3230         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3231         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3232         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3233         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3234         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3235         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3236         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3237         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3238         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3239         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3240         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3241         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3242         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3243         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3244         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3245         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3246         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3247         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3248         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3249         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3250         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3251         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3252         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3253         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3254         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3255         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3256         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3257         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3258         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3259         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3260         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3261         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3262         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3263         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3264         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3265         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3266         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3267         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3268         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3269         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3270         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3271         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3272         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3273         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3274         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3275         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3276         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3277         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3278         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3279         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3280         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3281         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3282         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3283         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3284         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3285         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3286         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3287         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79,
3288         0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79
3289 };
3290 static const uint8_t ciphertext_aes256xts_4096bytes[] = {
3291         0xD3, 0x94, 0x3E, 0xC9, 0xD3, 0x43, 0x13, 0xD3,
3292         0x07, 0x7E, 0x51, 0x11, 0x97, 0xA5, 0xB1, 0xB2,
3293         0xB0, 0x55, 0xF8, 0xD6, 0xA2, 0x10, 0x78, 0x76,
3294         0x37, 0x95, 0x4F, 0x25, 0x99, 0xCC, 0x12, 0xD6,
3295         0xBB, 0x2A, 0x24, 0xF4, 0x2D, 0x82, 0xFF, 0x56,
3296         0xEC, 0x55, 0x3B, 0xDD, 0xF9, 0xE1, 0xC8, 0x48,
3297         0x68, 0x16, 0xD2, 0x2B, 0x95, 0x7C, 0x1F, 0xCB,
3298         0x32, 0xD6, 0x8F, 0x9A, 0x2E, 0xF7, 0x9B, 0xBE,
3299         0x72, 0xFC, 0x55, 0x33, 0x27, 0x21, 0x2F, 0x69,
3300         0xCA, 0x76, 0xA5, 0x9B, 0x21, 0x2E, 0x40, 0x57,
3301         0x2C, 0x1C, 0x98, 0x41, 0x9A, 0x5E, 0x55, 0x38,
3302         0xDE, 0xC2, 0x09, 0x57, 0x32, 0xA3, 0x34, 0x40,
3303         0xC1, 0x8D, 0xCF, 0x70, 0x15, 0xF2, 0x6F, 0x4F,
3304         0x6A, 0x04, 0xA6, 0x6D, 0xFF, 0x53, 0x25, 0x6A,
3305         0x0E, 0xD0, 0x87, 0x63, 0xA1, 0x6C, 0xB1, 0x99,
3306         0x4A, 0x42, 0xF5, 0xF6, 0xEA, 0xA4, 0xEB, 0x6D,
3307         0x70, 0x9B, 0x0F, 0x85, 0xE2, 0x43, 0x6C, 0x27,
3308         0x54, 0x57, 0x52, 0x1C, 0xCF, 0x72, 0x11, 0x83,
3309         0xC3, 0xF5, 0xC6, 0xB6, 0x07, 0xEC, 0x1A, 0xF5,
3310         0xAC, 0xA1, 0xF2, 0x3A, 0x01, 0x53, 0x0C, 0xA4,
3311         0x40, 0x19, 0xAF, 0x7B, 0x2D, 0xE7, 0x56, 0x8B,
3312         0x71, 0x5F, 0x8D, 0x96, 0xF1, 0x5D, 0x33, 0xAC,
3313         0xE7, 0xAD, 0x96, 0xDB, 0xBB, 0xF7, 0xF5, 0x3F,
3314         0x0E, 0x02, 0x2E, 0x80, 0xE9, 0xA2, 0x30, 0xD2,
3315         0x82, 0x65, 0xEC, 0x1A, 0xB2, 0xE8, 0x98, 0x23,
3316         0x42, 0x79, 0x43, 0x85, 0x3B, 0xF9, 0xFB, 0xBB,
3317         0xC5, 0x29, 0xAD, 0x95, 0xAE, 0x22, 0x5B, 0x26,
3318         0xDF, 0x76, 0x65, 0x37, 0x17, 0xBC, 0x58, 0xBB,
3319         0x1B, 0x0A, 0x71, 0xDC, 0x68, 0xFF, 0x90, 0x36,
3320         0x37, 0xB7, 0x49, 0x5E, 0x49, 0x4E, 0xE4, 0x1E,
3321         0x24, 0x39, 0x48, 0xC7, 0x68, 0x19, 0xED, 0x94,
3322         0xB5, 0xF6, 0x85, 0xFA, 0xE6, 0xB8, 0x2B, 0x9E,
3323         0x07, 0x9E, 0xFB, 0x1D, 0x61, 0x06, 0x47, 0x2A,
3324         0x3E, 0x1E, 0xD8, 0x52, 0xFB, 0xB7, 0xE3, 0xB4,
3325         0x0D, 0xA8, 0x15, 0x1E, 0x98, 0x02, 0xBD, 0x89,
3326         0x89, 0xE3, 0x38, 0x2C, 0xAB, 0x50, 0x25, 0x30,
3327         0xB4, 0x5E, 0xA5, 0xCD, 0xA8, 0x9B, 0xA4, 0x2A,
3328         0xED, 0x19, 0x3B, 0xC3, 0x05, 0x07, 0x57, 0xB5,
3329         0x52, 0x11, 0x74, 0x95, 0x51, 0x5A, 0xD8, 0xED,
3330         0xDF, 0x37, 0x91, 0x83, 0x27, 0xD5, 0x08, 0x82,
3331         0xB3, 0x42, 0x08, 0xC7, 0x81, 0x35, 0x5F, 0x58,
3332         0x28, 0x69, 0x0D, 0x97, 0x1D, 0x28, 0xE6, 0xB0,
3333         0x58, 0x93, 0xCE, 0x2A, 0xB4, 0x7D, 0x4B, 0x83,
3334         0x20, 0x1E, 0x08, 0xEF, 0x68, 0x51, 0xEB, 0xB4,
3335         0xFA, 0x78, 0xB5, 0xE5, 0x2D, 0x93, 0x07, 0x99,
3336         0xBB, 0xDD, 0x9A, 0x4E, 0xD6, 0xE7, 0x31, 0x9F,
3337         0x4D, 0xB4, 0x05, 0x45, 0x89, 0x59, 0x42, 0xFF,
3338         0x0C, 0xD4, 0xC2, 0xF3, 0xA0, 0xF7, 0xD3, 0xCE,
3339         0x26, 0x2F, 0x9B, 0xCB, 0x98, 0x24, 0xDE, 0x50,
3340         0xF6, 0x81, 0x24, 0xA3, 0xB4, 0x99, 0x94, 0xDB,
3341         0xF5, 0xF4, 0x74, 0xAC, 0xED, 0xF1, 0xD6, 0x2F,
3342         0x89, 0x48, 0x41, 0x24, 0xBB, 0xA7, 0x64, 0x48,
3343         0xAE, 0x36, 0xE3, 0xF3, 0xA8, 0x37, 0x4F, 0xE6,
3344         0x24, 0x92, 0xC4, 0x27, 0x86, 0x68, 0xC4, 0xA2,
3345         0x2F, 0xB2, 0xA8, 0xFF, 0x27, 0x5F, 0x59, 0xB9,
3346         0x86, 0x89, 0x5A, 0x09, 0xB8, 0xDA, 0xD6, 0xBA,
3347         0x26, 0x86, 0x51, 0xC2, 0xDF, 0xCF, 0x07, 0x49,
3348         0x1C, 0xB7, 0x1A, 0x80, 0xD4, 0x97, 0x13, 0xAA,
3349         0xE8, 0x38, 0xA7, 0x2C, 0xB7, 0xE2, 0xE0, 0x33,
3350         0xF9, 0xC3, 0x21, 0xF6, 0x2A, 0xAA, 0x1A, 0xF7,
3351         0x39, 0x1F, 0x2F, 0x7E, 0x38, 0xC8, 0x82, 0x3F,
3352         0xCC, 0xD8, 0xE2, 0xD9, 0x02, 0xE6, 0x8E, 0x31,
3353         0xA7, 0x37, 0xE8, 0x59, 0x3F, 0xE1, 0x60, 0x1C,
3354         0x74, 0x52, 0xE4, 0x49, 0xF7, 0x21, 0x60, 0x11,
3355         0x8F, 0xD0, 0xA1, 0x4B, 0xE3, 0xF1, 0x18, 0x3D,
3356         0x90, 0x89, 0x54, 0x27, 0xA0, 0xF9, 0x32, 0x09,
3357         0x3D, 0x9D, 0x9A, 0x09, 0x53, 0xC6, 0x7E, 0x95,
3358         0x85, 0x53, 0x98, 0x4C, 0x23, 0xEA, 0x54, 0xBD,
3359         0x6F, 0x50, 0xBC, 0x4C, 0xCF, 0x37, 0xC5, 0x7B,
3360         0x4B, 0xCE, 0x84, 0xAF, 0xE2, 0xE2, 0x55, 0x49,
3361         0xBC, 0xBF, 0x92, 0xCA, 0x1E, 0x5E, 0x10, 0xDF,
3362         0x60, 0x87, 0x09, 0xA1, 0x4C, 0x1D, 0x7E, 0x1E,
3363         0x59, 0xE9, 0xCF, 0xDA, 0x45, 0x3F, 0xE2, 0x0F,
3364         0x53, 0x8D, 0x8B, 0x79, 0xBD, 0xD8, 0xB0, 0xE3,
3365         0x5B, 0x7C, 0x55, 0x4A, 0x84, 0xF0, 0x1E, 0xF9,
3366         0xE8, 0xF3, 0x09, 0x4D, 0x0B, 0xD7, 0x77, 0xCC,
3367         0x3F, 0x70, 0x22, 0x7D, 0x17, 0x27, 0x48, 0x57,
3368         0xE2, 0x36, 0xA0, 0x84, 0x3B, 0xDE, 0x05, 0x34,
3369         0xEF, 0x55, 0x12, 0xF4, 0x9A, 0x99, 0x0D, 0x28,
3370         0x86, 0x28, 0x99, 0x6B, 0x22, 0xEE, 0x63, 0xF0,
3371         0x68, 0x9C, 0xE1, 0x70, 0xF6, 0x26, 0xD8, 0x3B,
3372         0xF9, 0x57, 0x18, 0x3D, 0xAD, 0x66, 0xF0, 0xCF,
3373         0x7B, 0x0C, 0x28, 0x4D, 0xB8, 0xEB, 0x7B, 0x04,
3374         0x1E, 0x7D, 0x40, 0x5F, 0x5A, 0x1E, 0x7E, 0x08,
3375         0x7F, 0x4C, 0x1E, 0x18, 0xE5, 0x3E, 0x6C, 0x90,
3376         0x3C, 0x89, 0x13, 0x2A, 0xC4, 0x2A, 0x94, 0xB5,
3377         0x3E, 0x18, 0x1C, 0x4C, 0xBA, 0xEA, 0x86, 0xD2,
3378         0x05, 0xA9, 0x59, 0x9C, 0x80, 0xC2, 0x45, 0xAD,
3379         0x30, 0x99, 0x18, 0x6A, 0x2F, 0x73, 0x8C, 0xF0,
3380         0xFE, 0xA4, 0xBD, 0x44, 0x3E, 0xEB, 0x98, 0x75,
3381         0x48, 0x08, 0x57, 0x45, 0xD8, 0x41, 0xDE, 0x61,
3382         0x6D, 0x06, 0x93, 0xC4, 0x99, 0x1B, 0x23, 0xB5,
3383         0x12, 0x22, 0x5C, 0xC7, 0x9E, 0x18, 0xEA, 0x64,
3384         0xDB, 0xCE, 0x1A, 0xAC, 0x5D, 0x9B, 0x80, 0xE2,
3385         0xBF, 0x3E, 0xC2, 0xA4, 0x78, 0x4F, 0xF1, 0xE3,
3386         0x7D, 0x2A, 0x20, 0x94, 0x13, 0xCD, 0xF3, 0x1C,
3387         0x33, 0x9C, 0xC1, 0x59, 0x85, 0x52, 0xCB, 0xDB,
3388         0x03, 0xDF, 0x11, 0xE6, 0xAB, 0x95, 0x82, 0x65,
3389         0x7A, 0x88, 0x73, 0xEE, 0xBA, 0x21, 0x1C, 0x2F,
3390         0xCD, 0xD7, 0xC6, 0xE5, 0x13, 0xDE, 0x7A, 0x9E,
3391         0xEE, 0x83, 0x8D, 0xC6, 0x47, 0x63, 0xE0, 0xC7,
3392         0xC4, 0xBE, 0x19, 0x25, 0xEE, 0xCC, 0x0A, 0x13,
3393         0x18, 0x9D, 0x34, 0x5B, 0x55, 0x6C, 0xC1, 0x6E,
3394         0xBF, 0x5A, 0xC5, 0x61, 0x75, 0x77, 0x49, 0x8C,
3395         0x67, 0x61, 0xE8, 0x72, 0x87, 0xE8, 0xCA, 0xBE,
3396         0x6E, 0xC3, 0xD7, 0x81, 0x8C, 0x78, 0x79, 0xC8,
3397         0x72, 0xDA, 0x1A, 0x40, 0x7D, 0x60, 0xE2, 0x5A,
3398         0x47, 0x38, 0xA1, 0x21, 0x22, 0x6B, 0x54, 0x74,
3399         0xDD, 0xF3, 0xBC, 0x96, 0x28, 0x7E, 0xC2, 0x8B,
3400         0x13, 0xEE, 0x53, 0xBC, 0x34, 0x67, 0x07, 0x87,
3401         0xD5, 0x6B, 0x93, 0x22, 0x21, 0xB9, 0xED, 0x17,
3402         0xE4, 0xA1, 0x96, 0xB2, 0xC6, 0xFF, 0x79, 0xA0,
3403         0xA7, 0xF9, 0xDD, 0x92, 0x78, 0xF7, 0xE3, 0x16,
3404         0x79, 0xEF, 0xEF, 0x31, 0x4D, 0x1D, 0x75, 0xF9,
3405         0xCF, 0x5A, 0x1B, 0x68, 0x16, 0x7F, 0xAF, 0x5F,
3406         0x30, 0xB7, 0xEF, 0xF8, 0x94, 0x63, 0x73, 0x3D,
3407         0xB3, 0x63, 0xE4, 0xE6, 0xD8, 0xAD, 0xF4, 0x80,
3408         0x5E, 0x82, 0xA3, 0xFB, 0x3D, 0x0F, 0xCF, 0x59,
3409         0xB8, 0x76, 0xAF, 0x27, 0x83, 0xE3, 0x2D, 0x6F,
3410         0xE0, 0xF3, 0x11, 0xD5, 0xAE, 0x82, 0x14, 0x1D,
3411         0x78, 0x95, 0xBF, 0x31, 0x22, 0x1B, 0x80, 0x12,
3412         0x02, 0xD7, 0x4D, 0x1B, 0x92, 0xE3, 0x15, 0xBA,
3413         0x67, 0xD6, 0x8F, 0xD4, 0xDA, 0xBF, 0xD4, 0x62,
3414         0xAD, 0x76, 0xDA, 0x04, 0xA2, 0xEA, 0x98, 0xD3,
3415         0xC3, 0x6E, 0x5F, 0x26, 0x3C, 0x5E, 0xD9, 0xEA,
3416         0x09, 0xF0, 0x02, 0xFC, 0xD2, 0x11, 0xF8, 0xA8,
3417         0x7E, 0xFF, 0x06, 0x28, 0x5B, 0xE5, 0x6F, 0x9A,
3418         0x00, 0xE7, 0x7F, 0xB9, 0xFB, 0x59, 0xBB, 0xDD,
3419         0x85, 0xF3, 0x40, 0xCE, 0xA3, 0x5E, 0x2E, 0x2E,
3420         0x34, 0x91, 0x58, 0x41, 0x00, 0xB5, 0xE1, 0x88,
3421         0x24, 0x51, 0xC7, 0xB6, 0xF3, 0x21, 0x52, 0x6E,
3422         0xE7, 0xFC, 0x42, 0xE7, 0x9C, 0xCC, 0x1E, 0x51,
3423         0x45, 0x39, 0xBE, 0x09, 0xFE, 0x1A, 0xC4, 0xF0,
3424         0x79, 0xF4, 0x05, 0xC7, 0xA7, 0xF8, 0x0F, 0xB6,
3425         0x5A, 0x7B, 0xD7, 0xE1, 0x6F, 0xF0, 0x9D, 0x67,
3426         0xA3, 0xE3, 0x3E, 0x2E, 0xB9, 0x8C, 0x83, 0x9E,
3427         0xFD, 0x2E, 0xA2, 0x92, 0x99, 0x3C, 0xC0, 0x99,
3428         0x01, 0xAB, 0x0D, 0xFA, 0x55, 0x96, 0x04, 0x60,
3429         0x1A, 0xAD, 0x4C, 0xBB, 0x3D, 0xBB, 0x7D, 0x8B,
3430         0x9F, 0x28, 0x85, 0x7D, 0xB9, 0xE4, 0x05, 0x79,
3431         0x7B, 0x63, 0xDD, 0x7F, 0x4D, 0xE7, 0x50, 0xD9,
3432         0x41, 0xFF, 0x53, 0xB1, 0xCE, 0x42, 0x7B, 0xD6,
3433         0x05, 0x1B, 0x4E, 0xAF, 0xC4, 0x8C, 0x17, 0xC8,
3434         0x52, 0xBD, 0x03, 0x3B, 0x92, 0x57, 0x4E, 0xA8,
3435         0x15, 0xC3, 0x26, 0x1C, 0x55, 0xC1, 0xFF, 0xAE,
3436         0xA9, 0x26, 0x2D, 0xA7, 0x8E, 0x3A, 0x7F, 0xA3,
3437         0x48, 0xA5, 0xBC, 0x14, 0x84, 0xF2, 0x90, 0xCE,
3438         0x35, 0x0F, 0x64, 0x6B, 0xD8, 0x1C, 0x12, 0xFE,
3439         0x5A, 0x4F, 0x0E, 0xCE, 0x81, 0x4E, 0x79, 0x6B,
3440         0xCF, 0x56, 0xA7, 0xDB, 0x24, 0xBC, 0xB0, 0x84,
3441         0x4C, 0xB0, 0xDA, 0xBE, 0xE6, 0x8F, 0xD7, 0x8E,
3442         0x0E, 0xA0, 0xD3, 0x55, 0xC2, 0x4A, 0x34, 0x1C,
3443         0xF9, 0xC7, 0x3D, 0x29, 0x70, 0x8B, 0xF0, 0x99,
3444         0x61, 0xF5, 0x11, 0xFB, 0x82, 0xE2, 0x67, 0x35,
3445         0x60, 0x78, 0x47, 0x81, 0x2A, 0x74, 0x5E, 0x4D,
3446         0x48, 0xD3, 0x7C, 0x32, 0xCA, 0x1B, 0xD2, 0xA2,
3447         0x5C, 0x3A, 0x2F, 0xCE, 0xB4, 0x6C, 0x3A, 0x6A,
3448         0x8F, 0x67, 0x46, 0x12, 0xE7, 0xAE, 0x6A, 0x3B,
3449         0x99, 0x04, 0x5E, 0x96, 0xD0, 0xB9, 0x84, 0xF6,
3450         0xA7, 0x64, 0x11, 0xE8, 0x0C, 0x51, 0xFD, 0x3F,
3451         0x18, 0xFA, 0xE8, 0x52, 0xD9, 0x4B, 0x99, 0x7A,
3452         0x25, 0x2B, 0x1B, 0x21, 0xAD, 0x8C, 0xFE, 0x0D,
3453         0x34, 0x51, 0x91, 0x75, 0x55, 0x6F, 0xEB, 0x9F,
3454         0x42, 0xDC, 0x73, 0x7D, 0x31, 0x0A, 0x74, 0x13,
3455         0x80, 0xB8, 0xC3, 0xED, 0x73, 0x9D, 0x79, 0x42,
3456         0xC0, 0x33, 0xAB, 0xC1, 0xCB, 0xB9, 0xD0, 0xBE,
3457         0xA0, 0x78, 0xB8, 0x3B, 0xEB, 0x3D, 0x1A, 0x3F,
3458         0xFB, 0x9B, 0xAA, 0x8F, 0x89, 0xF9, 0xD1, 0x22,
3459         0x82, 0xE6, 0x66, 0xEE, 0x2A, 0xFD, 0x9F, 0xF8,
3460         0x92, 0x7E, 0x10, 0xF5, 0xD5, 0x23, 0x0B, 0xB1,
3461         0xD6, 0xF1, 0x7A, 0x3D, 0x73, 0xE9, 0xCE, 0x7F,
3462         0xE6, 0x0B, 0x17, 0xBC, 0x23, 0xAE, 0x72, 0xB6,
3463         0xFA, 0x19, 0x46, 0xBB, 0xFE, 0xA4, 0xC1, 0x64,
3464         0xA8, 0x5E, 0xE8, 0xBB, 0x63, 0x58, 0x19, 0x50,
3465         0xAA, 0x36, 0xC2, 0x4B, 0x38, 0x24, 0xD1, 0x2E,
3466         0xAE, 0xAD, 0x6E, 0x34, 0x64, 0xA8, 0xC8, 0xF2,
3467         0x4E, 0x74, 0x5C, 0x98, 0xE8, 0xDF, 0x99, 0x8C,
3468         0x41, 0x79, 0x60, 0x2D, 0xD5, 0xF4, 0xE3, 0xE9,
3469         0x1D, 0xF6, 0x5A, 0xA9, 0x69, 0x8E, 0xA1, 0x4F,
3470         0xD3, 0x1B, 0x09, 0xA8, 0x7A, 0xD1, 0xE1, 0xCF,
3471         0xAC, 0xBA, 0xD0, 0xD1, 0x34, 0x34, 0x8F, 0xC1,
3472         0xD1, 0xA8, 0xAF, 0x6E, 0x92, 0xE0, 0xB0, 0xF6,
3473         0xF9, 0x08, 0xA0, 0xCB, 0x58, 0x34, 0xF6, 0x68,
3474         0xA2, 0xBF, 0x05, 0x39, 0x63, 0xBA, 0x4F, 0xEF,
3475         0xE3, 0x95, 0x69, 0xD5, 0x89, 0x7C, 0x64, 0x07,
3476         0x13, 0x42, 0x14, 0xF1, 0xA6, 0x9B, 0x87, 0xE5,
3477         0xF4, 0x49, 0xAE, 0x67, 0x65, 0xCC, 0xF2, 0x26,
3478         0xF8, 0x31, 0xBD, 0x33, 0x6A, 0x87, 0x77, 0x4E,
3479         0xB1, 0xEE, 0xA4, 0xA2, 0xC8, 0xA0, 0x4A, 0xC1,
3480         0xDF, 0x55, 0xE0, 0xDE, 0x53, 0x15, 0x3B, 0xEC,
3481         0x55, 0x32, 0xCA, 0x06, 0xE4, 0x78, 0x59, 0x63,
3482         0x10, 0x68, 0xA9, 0x46, 0x1B, 0xEF, 0x73, 0x6D,
3483         0x1A, 0x02, 0x64, 0x12, 0x76, 0x9B, 0xDB, 0x7C,
3484         0x03, 0x35, 0x19, 0xE1, 0x58, 0x7A, 0x87, 0x0C,
3485         0x76, 0xDC, 0xFC, 0xC0, 0x28, 0xE4, 0xA2, 0x07,
3486         0x9C, 0x28, 0x05, 0x21, 0x13, 0x58, 0xEF, 0x05,
3487         0xBB, 0xAB, 0x94, 0xA2, 0x93, 0xBC, 0x31, 0x61,
3488         0x26, 0x39, 0x38, 0x0C, 0xC4, 0x67, 0xDA, 0xA5,
3489         0xE4, 0x1E, 0x1B, 0xB6, 0xE5, 0x73, 0xD6, 0x6C,
3490         0xEE, 0xBC, 0x9D, 0xB9, 0xE7, 0xD9, 0x45, 0x2F,
3491         0xF2, 0xB6, 0x92, 0x54, 0x41, 0x05, 0xB7, 0xB7,
3492         0xFC, 0x37, 0x63, 0x6A, 0xB4, 0xBE, 0xB8, 0x3E,
3493         0xD8, 0x53, 0x3B, 0xF8, 0x7D, 0x9A, 0x05, 0xDF,
3494         0x20, 0x02, 0x27, 0x64, 0x38, 0xFA, 0x7D, 0xAF,
3495         0x7F, 0xFA, 0xD1, 0xB7, 0x32, 0xC5, 0x74, 0x3E,
3496         0x04, 0xA2, 0x67, 0x79, 0x02, 0x2E, 0x6F, 0xA1,
3497         0x27, 0x87, 0x07, 0xB5, 0x9F, 0x0A, 0x7D, 0x5E,
3498         0x14, 0xA0, 0x31, 0x46, 0x3F, 0xA9, 0xDE, 0x98,
3499         0xB9, 0x89, 0xA0, 0x4A, 0x7A, 0xBD, 0x15, 0xAE,
3500         0x2D, 0x0B, 0x38, 0x9A, 0xD8, 0x0E, 0xD2, 0xBA,
3501         0x6D, 0xA1, 0x04, 0x1E, 0x4E, 0x39, 0x87, 0x4B,
3502         0xC8, 0x3C, 0x74, 0x35, 0x4D, 0xC8, 0x1B, 0x42,
3503         0x06, 0x5B, 0x73, 0xB7, 0x33, 0x86, 0x4A, 0x10,
3504         0x2A, 0x10, 0x16, 0x28, 0x6F, 0x2A, 0xE3, 0x86,
3505         0xDE, 0xA3, 0x44, 0x23, 0xE2, 0x90, 0xC4, 0x20,
3506         0x90, 0xE0, 0xB8, 0xE6, 0xA7, 0xB6, 0xD6, 0x92,
3507         0xF4, 0xF8, 0x8A, 0xBC, 0xAC, 0x31, 0x47, 0x8F,
3508         0xAA, 0xE0, 0xD9, 0xF7, 0xE3, 0xCB, 0x11, 0xA4,
3509         0x6B, 0x05, 0xB3, 0xB8, 0x72, 0x69, 0xE6, 0xDD,
3510         0x75, 0x0F, 0x20, 0x1D, 0x3F, 0xC6, 0x96, 0xA0,
3511         0x18, 0xB6, 0x24, 0xA1, 0xA6, 0xFD, 0x0C, 0x80,
3512         0x1E, 0xD2, 0x28, 0xA2, 0x1A, 0x27, 0xF4, 0x23,
3513         0x59, 0x1A, 0xCC, 0x0F, 0xD4, 0x99, 0xD0, 0xB4,
3514         0x1E, 0x91, 0xC7, 0xD8, 0x8F, 0x8C, 0x5B, 0xEB,
3515         0xB5, 0x9F, 0xFF, 0x4F, 0xD0, 0xD5, 0xB7, 0x60,
3516         0xCC, 0x0A, 0x10, 0x38, 0xBF, 0xA8, 0x2E, 0xCC,
3517         0xEB, 0x26, 0xB0, 0x78, 0xB3, 0xE0, 0x40, 0xAF,
3518         0xCD, 0x12, 0xC5, 0x3A, 0x24, 0xD8, 0xEE, 0x3A,
3519         0x64, 0x83, 0x2E, 0xD9, 0x25, 0x21, 0x66, 0xA5,
3520         0x28, 0xD1, 0xE1, 0x84, 0x25, 0x1B, 0x20, 0xB8,
3521         0xF5, 0x76, 0xB6, 0x3E, 0x4B, 0xC6, 0xEC, 0xC1,
3522         0xC7, 0xAC, 0xC4, 0xAD, 0xCE, 0xF0, 0xB4, 0x0F,
3523         0x35, 0x1E, 0xCE, 0x4E, 0xE3, 0x57, 0x30, 0xFC,
3524         0xF4, 0x9B, 0x86, 0xB0, 0xDD, 0x3F, 0x2F, 0xB6,
3525         0x10, 0x20, 0xE4, 0x24, 0x17, 0x1C, 0x24, 0xC6,
3526         0x89, 0xE4, 0x14, 0xAD, 0x2E, 0x41, 0x08, 0x33,
3527         0x88, 0xB1, 0x6F, 0x11, 0x85, 0xAF, 0x58, 0x17,
3528         0xE3, 0x91, 0xB4, 0x72, 0xA2, 0x7F, 0xA3, 0x98,
3529         0xAF, 0xB7, 0x6B, 0x58, 0x76, 0xA3, 0x11, 0x1C,
3530         0x8A, 0x1A, 0xE6, 0x58, 0x54, 0xB0, 0xB9, 0x6E,
3531         0x46, 0xCB, 0x16, 0xC0, 0x63, 0x0C, 0xEE, 0xA2,
3532         0xAE, 0xF6, 0x71, 0xEF, 0xD1, 0xB9, 0x3D, 0xB7,
3533         0x76, 0xCE, 0x5B, 0x84, 0x66, 0x7C, 0x7D, 0xF1,
3534         0x96, 0x60, 0x34, 0xF6, 0xD1, 0x64, 0x27, 0xD9,
3535         0xF3, 0x78, 0x8B, 0xF4, 0xC3, 0x1D, 0x37, 0xC0,
3536         0xF4, 0x4A, 0xD0, 0xA5, 0x9A, 0xEB, 0xDD, 0x79,
3537         0x54, 0x5D, 0xEB, 0x04, 0xC1, 0xA4, 0xBC, 0xED,
3538         0xE3, 0x74, 0xC3, 0xB9, 0x9A, 0x6A, 0xAA, 0x06,
3539         0xD1, 0xF0, 0x0F, 0xC5, 0xEF, 0x7E, 0x0B, 0xC8,
3540         0xF4, 0x94, 0x4E, 0x69, 0x0E, 0x36, 0x00, 0x13,
3541         0x45, 0xCE, 0x68, 0x13, 0xFE, 0x7F, 0x29, 0xA2,
3542         0x1D, 0x79, 0xDF, 0xF2, 0x27, 0xFB, 0xAE, 0x52,
3543         0x05, 0x78, 0xD7, 0xB9, 0xF7, 0x38, 0x68, 0xD5,
3544         0xBA, 0xD7, 0xCF, 0x09, 0xC6, 0xD2, 0x5B, 0xC6,
3545         0x98, 0xE4, 0xEC, 0xD5, 0xE9, 0xC2, 0xA5, 0x1A,
3546         0x52, 0xC8, 0xA7, 0xBA, 0x3D, 0x74, 0x75, 0x00,
3547         0xAA, 0xDD, 0x6A, 0x3F, 0xB6, 0x2F, 0x08, 0xB7,
3548         0x1C, 0x6B, 0x52, 0x0C, 0xC9, 0xE4, 0x4D, 0xF4,
3549         0xC5, 0x26, 0x1F, 0x35, 0x41, 0x25, 0x68, 0x17,
3550         0xA8, 0x81, 0x75, 0xF4, 0x66, 0x41, 0xB5, 0xE4,
3551         0x1D, 0x92, 0xEE, 0xDA, 0x0F, 0x56, 0x76, 0xC6,
3552         0xAA, 0x0F, 0xA8, 0x63, 0x8D, 0xF0, 0x69, 0x63,
3553         0x93, 0x45, 0xBC, 0x76, 0x40, 0xBE, 0xA9, 0x96,
3554         0x36, 0xAF, 0x2F, 0x6B, 0x3E, 0xAB, 0xF3, 0xC0,
3555         0xD7, 0xD5, 0xB1, 0x23, 0x23, 0xA2, 0xA0, 0xC4,
3556         0xC5, 0x70, 0xEF, 0x66, 0x79, 0x15, 0xF0, 0xD0,
3557         0x40, 0x0A, 0x33, 0x0C, 0xF3, 0x32, 0x6D, 0x8D,
3558         0xB4, 0x44, 0x46, 0x78, 0x3F, 0x8D, 0x75, 0x40,
3559         0xA5, 0x60, 0xBC, 0x9B, 0x76, 0xDF, 0x25, 0xF4,
3560         0xE9, 0xED, 0xAC, 0x74, 0x2F, 0x9A, 0x00, 0xC4,
3561         0x2B, 0x52, 0x26, 0x79, 0x09, 0x19, 0x57, 0x89,
3562         0x60, 0x14, 0xBE, 0x65, 0xBD, 0x7B, 0x4D, 0x7D,
3563         0x9B, 0x8B, 0x9E, 0x72, 0x6C, 0x0C, 0x57, 0xC7,
3564         0x00, 0x08, 0x38, 0x7C, 0x37, 0x45, 0x9D, 0x55,
3565         0xA2, 0x62, 0x5E, 0x34, 0x19, 0x99, 0x31, 0x16,
3566         0xF1, 0x14, 0x44, 0x2D, 0xE3, 0x7E, 0x22, 0xE1,
3567         0xA2, 0xB8, 0x9A, 0x9F, 0xE0, 0x37, 0x29, 0xBB,
3568         0xCD, 0x46, 0xEE, 0x0A, 0x62, 0x2B, 0x98, 0x34,
3569         0xBA, 0x9E, 0x54, 0x1B, 0xB1, 0x5C, 0x4F, 0xE9,
3570         0xAA, 0xE4, 0x95, 0x8C, 0xA4, 0xEF, 0xC2, 0xB1,
3571         0x7F, 0xF9, 0x80, 0xDA, 0x55, 0x95, 0x92, 0xC0,
3572         0x86, 0xF4, 0x2D, 0x99, 0x3E, 0x17, 0xDC, 0x55,
3573         0xA6, 0x33, 0x85, 0x90, 0x31, 0xC8, 0xFF, 0x58,
3574         0x83, 0xC5, 0xBA, 0x60, 0x20, 0x5F, 0x87, 0x29,
3575         0x20, 0x5A, 0x7D, 0x44, 0x2B, 0xA0, 0xE2, 0x99,
3576         0xC8, 0x70, 0xBE, 0x89, 0xC5, 0xBC, 0xF6, 0x0D,
3577         0x04, 0xC0, 0x96, 0xD1, 0x5C, 0xD1, 0x90, 0x43,
3578         0xD3, 0x7B, 0x73, 0x52, 0x30, 0xB6, 0xA9, 0x7C,
3579         0x0A, 0xA3, 0x24, 0x0E, 0x80, 0xFE, 0xBE, 0x31,
3580         0xFD, 0xB5, 0x96, 0x04, 0x2B, 0xCF, 0x0B, 0x28,
3581         0x1F, 0x7A, 0xCF, 0xC4, 0x82, 0x78, 0x52, 0x30,
3582         0xB1, 0x34, 0x12, 0x50, 0x03, 0x09, 0x1C, 0x8B,
3583         0x80, 0x60, 0xE3, 0xA1, 0xE5, 0x61, 0xF7, 0xD7,
3584         0xB6, 0x74, 0xBE, 0xD6, 0x58, 0x03, 0xD3, 0xE5,
3585         0xF7, 0xAC, 0x07, 0x60, 0xB7, 0x8A, 0xEC, 0xFA,
3586         0xC6, 0x0F, 0xF0, 0x20, 0x04, 0x6B, 0x8F, 0x61,
3587         0x09, 0x92, 0x03, 0xFB, 0x85, 0x99, 0x94, 0x9D,
3588         0x2E, 0x6A, 0xC2, 0x9F, 0x20, 0x46, 0x2A, 0x96,
3589         0xED, 0x42, 0x7D, 0x64, 0xA9, 0xE4, 0x1B, 0xDE,
3590         0x11, 0x20, 0x12, 0x93, 0xE6, 0x2B, 0xE5, 0x93,
3591         0x48, 0x37, 0x8C, 0x5A, 0x54, 0x0D, 0xEB, 0xF0,
3592         0x9F, 0x9D, 0xE4, 0xA5, 0xC4, 0x93, 0x6F, 0x6A,
3593         0xE3, 0x99, 0x69, 0xD9, 0xFE, 0x0C, 0x4E, 0xEC,
3594         0x8B, 0x30, 0x1F, 0x7A, 0xB8, 0xC8, 0x5B, 0x61,
3595         0x8E, 0xC2, 0x10, 0x90, 0x57, 0xB4, 0x72, 0x58,
3596         0x7F, 0x41, 0x29, 0x7E, 0xF9, 0xBE, 0x40, 0xC3,
3597         0x6F, 0xA9, 0xE3, 0x00, 0xE9, 0xC8, 0xFD, 0x4B,
3598         0xFD, 0x3F, 0xE3, 0x3F, 0x25, 0x22, 0xFD, 0xB7,
3599         0x2D, 0x57, 0xEF, 0x91, 0x08, 0xF0, 0x20, 0x56,
3600         0x30, 0xFA, 0x83, 0x69, 0xFD, 0x56, 0x5A, 0x9B,
3601         0xCE, 0xF8, 0x28, 0x02, 0xB4, 0x91, 0x35, 0x75,
3602         0x9E, 0x63, 0x99, 0x48, 0xCF, 0x35, 0xF5, 0x58,
3603         0x0C, 0x48, 0x8F, 0x0A, 0x2D, 0x9A, 0xE6, 0x40,
3604         0xF6, 0x21, 0xB5, 0x69, 0xC1, 0x09, 0x31, 0x00,
3605         0xA3, 0xC1, 0x4C, 0x99, 0x70, 0x4F, 0x5A, 0x63,
3606         0x17, 0x90, 0xB8, 0xF8, 0x3A, 0x0E, 0xFD, 0x67,
3607         0xEA, 0x0E, 0xBA, 0x7B, 0x1E, 0xEF, 0x37, 0x84,
3608         0xD5, 0x51, 0x37, 0x01, 0xD6, 0x93, 0x15, 0xDF,
3609         0x56, 0x89, 0x0E, 0x54, 0xF5, 0x1D, 0xF7, 0xE5,
3610         0xB7, 0xC1, 0xF1, 0xC2, 0xD9, 0x14, 0x6F, 0x40,
3611         0x55, 0x67, 0x50, 0x7C, 0x58, 0x35, 0x8B, 0x39,
3612         0xCB, 0xB5, 0x87, 0xF5, 0x55, 0x5E, 0x26, 0x8C,
3613         0x5B, 0x73, 0x0E, 0xBB, 0x25, 0x51, 0x0E, 0xAD,
3614         0x57, 0x72, 0x7B, 0x68, 0x83, 0x11, 0x1E, 0x3A,
3615         0x3D, 0xA4, 0x7C, 0x18, 0xB7, 0x70, 0x18, 0xBC,
3616         0x72, 0x03, 0x4A, 0xA1, 0xD2, 0xF9, 0xA9, 0x8A,
3617         0x25, 0x45, 0x19, 0xEE, 0x93, 0x06, 0xB5, 0x09,
3618         0x71, 0xC9, 0x2D, 0xFD, 0x2B, 0xF3, 0xC7, 0x64,
3619         0x5F, 0xCE, 0x71, 0x1D, 0x81, 0x96, 0x67, 0xBF,
3620         0x01, 0x39, 0x8C, 0xE7, 0xA2, 0xD0, 0x98, 0x57,
3621         0x5A, 0xFD, 0x21, 0xC7, 0x46, 0xAA, 0xB4, 0xE4,
3622         0x0E, 0xBE, 0xC6, 0x68, 0x3E, 0x38, 0xF5, 0xA2,
3623         0xED, 0x73, 0xCC, 0x53, 0x7E, 0x7E, 0x03, 0x32,
3624         0xDC, 0xB6, 0xC1, 0x03, 0x9E, 0xB3, 0x2A, 0xAD,
3625         0xC0, 0xC3, 0x6E, 0x47, 0xFB, 0x1E, 0xB7, 0x0D,
3626         0x86, 0x95, 0x09, 0xA6, 0x9D, 0x6F, 0x92, 0xFC,
3627         0xFF, 0x2C, 0x7D, 0x09, 0x16, 0x68, 0x50, 0x3E,
3628         0x4F, 0x23, 0x4C, 0x93, 0x95, 0x2A, 0xE1, 0x9B,
3629         0x16, 0xF0, 0x0F, 0xFF, 0x79, 0xA8, 0x06, 0xF9,
3630         0x70, 0x61, 0x72, 0x2C, 0xE8, 0x91, 0x01, 0x6D,
3631         0x45, 0xE5, 0x82, 0x5D, 0x26, 0x21, 0xAD, 0x3D,
3632         0x77, 0x73, 0x23, 0x04, 0x84, 0x27, 0xA3, 0x5D,
3633         0x6D, 0xA8, 0x99, 0xC1, 0xCE, 0x4F, 0xA9, 0xF7,
3634         0xAB, 0x5C, 0xDE, 0x01, 0xE6, 0x1E, 0xEF, 0xE6,
3635         0xFD, 0xE0, 0x68, 0x85, 0x3E, 0xEE, 0xBF, 0xF1,
3636         0x0D, 0x79, 0xF4, 0xA2, 0xB4, 0x14, 0xBC, 0x0C,
3637         0x49, 0x77, 0x03, 0x71, 0x08, 0x3E, 0x40, 0xA6,
3638         0xD7, 0x03, 0xFA, 0xE2, 0xFB, 0xC7, 0x59, 0x30,
3639         0x6E, 0x07, 0x06, 0x1C, 0x7C, 0x47, 0xE5, 0x4C,
3640         0x57, 0x0A, 0x91, 0x4A, 0x43, 0xE4, 0x8A, 0xCD,
3641         0x6E, 0x92, 0x01, 0xE2, 0x52, 0xC1, 0x92, 0x34,
3642         0x8E, 0x64, 0x0F, 0x39, 0x63, 0x53, 0xAB, 0xE5,
3643         0x44, 0xD5, 0xAA, 0xAA, 0xF6, 0x03, 0x89, 0xB9,
3644         0xDD, 0xB2, 0x2D, 0x56, 0x1A, 0xE0, 0x72, 0x5A,
3645         0x52, 0x19, 0x46, 0xEA, 0xB3, 0xCE, 0xB3, 0x59,
3646         0x46, 0x7A, 0xA7, 0x48, 0x37, 0x0C, 0x09, 0xBA,
3647         0x92, 0x70, 0x17, 0x7F, 0xF5, 0xD3, 0x60, 0x44,
3648         0xC4, 0xC6, 0xC6, 0x7D, 0xD2, 0x21, 0xAC, 0x3F,
3649         0x62, 0x6C, 0xE9, 0xBA, 0x4C, 0xF3, 0x82, 0x7E,
3650         0x6D, 0x3A, 0x92, 0xDC, 0x94, 0xE4, 0x5F, 0xA6,
3651         0x8B, 0x66, 0xA0, 0xDD, 0xE2, 0x97, 0x83, 0xED,
3652         0xF5, 0x9D, 0xDF, 0x74, 0x77, 0x23, 0x7D, 0xDA,
3653         0xC4, 0xFB, 0x92, 0x1A, 0xD9, 0x37, 0x36, 0xD2,
3654         0x88, 0xC9, 0xEA, 0x0F, 0x98, 0xBD, 0xC5, 0xF8,
3655         0xAA, 0x19, 0x75, 0x12, 0x6A, 0x41, 0xB5, 0xB3,
3656         0xB5, 0xA4, 0x96, 0xDC, 0x2B, 0x49, 0x86, 0x66,
3657         0x35, 0xD8, 0x4A, 0x62, 0xB4, 0xCB, 0x1E, 0x27,
3658         0xC1, 0xAD, 0x34, 0x0E, 0x26, 0x16, 0xF2, 0xC2,
3659         0x22, 0x52, 0x84, 0xD8, 0xD1, 0x32, 0xB8, 0x9C,
3660         0xFE, 0x64, 0x42, 0x9F, 0xE4, 0x69, 0xF0, 0xAE,
3661         0x3B, 0xD9, 0x2C, 0xA0, 0x14, 0xEB, 0x69, 0x74,
3662         0x7C, 0xE2, 0xA6, 0x60, 0xE1, 0x52, 0x1C, 0xCC,
3663         0xBF, 0xE6, 0xA1, 0x83, 0x20, 0x5D, 0x9E, 0xA3,
3664         0xFB, 0x84, 0x8B, 0x33, 0xE6, 0xC9, 0x32, 0x83,
3665         0xC0, 0x3F, 0x98, 0x1D, 0x6E, 0xC0, 0x50, 0x71,
3666         0x29, 0x60, 0x5F, 0x36, 0xB4, 0x68, 0x1D, 0xB9,
3667         0x76, 0x73, 0xC3, 0x80, 0xC5, 0xBC, 0x59, 0x7B,
3668         0x59, 0xB4, 0xE0, 0x6A, 0x80, 0xCD, 0x4D, 0x8C,
3669         0x9E, 0xE0, 0x0B, 0x45, 0x7D, 0x54, 0xD4, 0xC4,
3670         0x97, 0x6C, 0x54, 0xEF, 0x14, 0x64, 0xBD, 0x3B,
3671         0xD7, 0xEE, 0xF4, 0xD1, 0x41, 0x76, 0x3A, 0x24,
3672         0x7A, 0xC2, 0xCA, 0x68, 0x28, 0x53, 0x46, 0xF7,
3673         0x1B, 0xDA, 0x4B, 0x7A, 0x56, 0x75, 0x86, 0xFB,
3674         0x31, 0x2C, 0x27, 0xF9, 0x4D, 0x35, 0xA4, 0x82,
3675         0xE7, 0x2F, 0x41, 0xB4, 0xCA, 0xCE, 0x75, 0x94,
3676         0x08, 0x54, 0xE2, 0x9E, 0x99, 0xC9, 0x85, 0xDE,
3677         0x6F, 0x80, 0x95, 0x59, 0x3E, 0x54, 0x9F, 0x31,
3678         0xF8, 0xDE, 0xD0, 0xD7, 0xA6, 0xD4, 0xD3, 0xBB,
3679         0xD9, 0xC7, 0x55, 0xDD, 0xAE, 0xAD, 0x9E, 0x57,
3680         0x4A, 0x33, 0x5D, 0x7A, 0xA6, 0xA3, 0xCA, 0xF9,
3681         0x4C, 0x5B, 0x51, 0xCC, 0x22, 0xBB, 0x76, 0x44,
3682         0x17, 0xDE, 0x22, 0xA1, 0xDF, 0x80, 0x13, 0x7D,
3683         0xE5, 0x34, 0x7E, 0x75, 0x73, 0x10, 0x40, 0xFB,
3684         0x9A, 0x21, 0xCD, 0xD3, 0xD3, 0x84, 0xB6, 0x0C,
3685         0x31, 0x1E, 0xB5, 0x42, 0xF4, 0x34, 0x11, 0x7F,
3686         0x4A, 0x23, 0xA8, 0xA5, 0x8F, 0x20, 0xCD, 0xA9,
3687         0xF2, 0xE4, 0xEE, 0xFA, 0x57, 0xD1, 0x22, 0x1C,
3688         0xA5, 0xDC, 0x0B, 0x25, 0xFE, 0xC2, 0xA7, 0x7E,
3689         0x09, 0x2E, 0xDA, 0x40, 0x9F, 0x6C, 0xC8, 0x71,
3690         0x58, 0x91, 0x04, 0x25, 0xD0, 0x06, 0xEA, 0x1B,
3691         0xCD, 0x9D, 0x50, 0xD8, 0x40, 0x24, 0xAC, 0xC3,
3692         0xB4, 0x07, 0x6E, 0x76, 0xF4, 0x4C, 0xD8, 0x80,
3693         0xD0, 0x20, 0xF5, 0x15, 0x6A, 0x0A, 0x12, 0xF8,
3694         0x6B, 0x67, 0x77, 0x34, 0xAE, 0x60, 0x68, 0x13,
3695         0x5B, 0x8E, 0xFF, 0x5E, 0x7A, 0x77, 0x67, 0x0D,
3696         0xE6, 0x96, 0x43, 0x9F, 0x8F, 0x77, 0x5F, 0x97,
3697         0x23, 0x91, 0x33, 0x72, 0xC7, 0x8A, 0xC7, 0x80,
3698         0xCF, 0xE7, 0x71, 0x06, 0x25, 0xB7, 0x4B, 0x89,
3699         0x6A, 0x46, 0x67, 0x19, 0x49, 0x44, 0x03, 0x52,
3700         0x32, 0xB1, 0x8F, 0xE7, 0x9E, 0xDA, 0x03, 0x41,
3701         0xA3, 0xAC, 0xE5, 0xF3, 0x96, 0xE6, 0xAC, 0xFF,
3702         0xEC, 0x35, 0x4D, 0x83, 0xA9, 0xCE, 0x7C, 0x52,
3703         0xF2, 0x36, 0x97, 0xF0, 0x28, 0x36, 0x54, 0x59,
3704         0x96, 0xEA, 0xEE, 0xB2, 0xC1, 0xAB, 0xA4, 0x96,
3705         0x62, 0xD4, 0x3C, 0xF0, 0x1F, 0x2D, 0x65, 0x0E,
3706         0x46, 0x7E, 0x12, 0x31, 0x8F, 0xA7, 0x8D, 0x7A,
3707         0x4A, 0x41, 0x15, 0x57, 0x90, 0xF6, 0xF1, 0xE8,
3708         0xE8, 0xE3, 0x57, 0x7B, 0x55, 0x85, 0x95, 0x97,
3709         0xB3, 0x29, 0x3D, 0x02, 0x73, 0x1E, 0x87, 0x1F,
3710         0x01, 0x89, 0x06, 0x88, 0x9E, 0x8A, 0x2E, 0xE0,
3711         0x99, 0xFC, 0xF0, 0x48, 0x60, 0x37, 0x65, 0x25,
3712         0xDB, 0x89, 0xC9, 0x7A, 0x51, 0x7E, 0x35, 0x92,
3713         0x00, 0xC9, 0x61, 0x3F, 0x88, 0xE3, 0x20, 0x01,
3714         0x46, 0x5A, 0x2C, 0x37, 0x02, 0xC9, 0x15, 0x0F,
3715         0xB2, 0xEB, 0xC3, 0x55, 0x18, 0xF0, 0x15, 0x1A,
3716         0x08, 0x8E, 0xB8, 0x9D, 0x18, 0xE4, 0x9F, 0x34,
3717         0x10, 0x67, 0x68, 0x57, 0x60, 0x61, 0xEC, 0xD5,
3718         0xD9, 0xA8, 0x3A, 0xAB, 0xD6, 0xD2, 0x7A, 0x47,
3719         0x3D, 0xA4, 0x08, 0x7C, 0x3E, 0x4D, 0x76, 0x08,
3720         0x19, 0x22, 0xB2, 0x89, 0x57, 0x84, 0xC2, 0x98,
3721         0x72, 0xB8, 0x8B, 0xE0, 0x85, 0xA1, 0x3A, 0xC2,
3722         0xA0, 0x06, 0x43, 0x03, 0xCF, 0x4F, 0x27, 0x80,
3723         0x48, 0x9A, 0xBC, 0xB3, 0x3C, 0xC4, 0x5E, 0xAC,
3724         0x8B, 0x85, 0x6F, 0x21, 0xD6, 0xFE, 0x12, 0x90,
3725         0x53, 0x2F, 0x65, 0x32, 0x8D, 0x03, 0xFE, 0xFE,
3726         0x61, 0x04, 0x47, 0x24, 0x6A, 0xB5, 0x01, 0x98,
3727         0xB9, 0x27, 0x10, 0xE1, 0x32, 0x3D, 0x2A, 0xA0,
3728         0xC5, 0x70, 0xDE, 0x1E, 0x10, 0xD7, 0x01, 0x50,
3729         0x4F, 0x87, 0xCA, 0xD9, 0xBF, 0x12, 0xEA, 0x38,
3730         0x4C, 0x43, 0xD5, 0x5A, 0xEF, 0x3E, 0x21, 0x8E,
3731         0x59, 0x77, 0x23, 0xED, 0x51, 0x09, 0x99, 0x73,
3732         0xD2, 0x56, 0x04, 0xDD, 0x8F, 0x5F, 0xDF, 0x79,
3733         0xFF, 0x16, 0x8C, 0xB0, 0xBA, 0x8A, 0x1A, 0x56,
3734         0xAF, 0xCA, 0x19, 0xF2, 0x64, 0x1A, 0xF5, 0x1E,
3735         0xA7, 0xA7, 0x84, 0x3D, 0xAD, 0xC1, 0x0E, 0x22,
3736         0xA1, 0x45, 0xFC, 0xB4, 0x13, 0x91, 0x34, 0xB7,
3737         0x48, 0xEF, 0x9E, 0xD9, 0x0B, 0xE3, 0x82, 0x75,
3738         0x80, 0xC5, 0xD9, 0xA0, 0x77, 0xA3, 0xF9, 0xCC,
3739         0x67, 0xDD, 0xCB, 0x28, 0xC6, 0xE8, 0x2C, 0xB8,
3740         0xAC, 0x63, 0xBD, 0x3B, 0x28, 0x4A, 0xE9, 0x2D,
3741         0x29, 0x84, 0xD7, 0x4F, 0x61, 0x06, 0xE3, 0x37,
3742         0xC1, 0x58, 0x20, 0x5D, 0x0A, 0xE7, 0x45, 0x29,
3743         0x7D, 0xED, 0x0F, 0xCE, 0x00, 0x95, 0x2A, 0x62,
3744         0x38, 0xA8, 0x1A, 0x3A, 0x96, 0x0E, 0x56, 0xD9,
3745         0x18, 0xC2, 0x25, 0xA5, 0xAA, 0x27, 0x0A, 0x6E,
3746         0xDD, 0x1C, 0x35, 0x6C, 0xC1, 0x26, 0x90, 0xF6,
3747         0x43, 0x1B, 0x34, 0xDA, 0xE1, 0x5D, 0x09, 0x7C,
3748         0xBE, 0x0F, 0x40, 0xD3, 0x24, 0x82, 0x0B, 0xFF,
3749         0xE6, 0xB7, 0x10, 0xD6, 0x36, 0xD0, 0xE6, 0xC0,
3750         0xBE, 0x65, 0x4C, 0x83, 0xF1, 0xDA, 0xDE, 0xCE,
3751         0xE8, 0x5A, 0x80, 0x88, 0xFE, 0x9B, 0x79, 0x54,
3752         0xA3, 0xA4, 0x5A, 0x76, 0xD0, 0xE2, 0xCE, 0x92,
3753         0x53, 0x7D, 0x9C, 0xDA, 0xA1, 0xED, 0x9F, 0x56,
3754         0x05, 0x0A, 0xA4, 0x81, 0xC7, 0x82, 0x5B, 0xB8,
3755         0xC7, 0xA8, 0x95, 0x21, 0x99, 0x0B, 0x0F, 0xD2,
3756         0x66, 0x68, 0xC3, 0x07, 0x53, 0x93, 0x8C, 0x68,
3757         0x5A, 0xF5, 0x6F, 0x5E, 0x07, 0x68, 0x70, 0xF2,
3758         0x6A, 0x78, 0xA8, 0xDB, 0x24, 0x6F, 0xD9, 0x74,
3759         0x38, 0x29, 0xBF, 0x50, 0xCC, 0xC8, 0x34, 0x82,
3760         0x69, 0x1A, 0xF4, 0x1A, 0x95, 0xE1, 0x31, 0x39,
3761         0x00, 0xBE, 0xF6, 0x25, 0x19, 0x5A, 0xF6, 0xA7,
3762         0xB7, 0xC7, 0xAC, 0xFA, 0x52, 0x6D, 0xC7, 0xEA,
3763         0xFF, 0xC4, 0xB0, 0x84, 0x41, 0x2D, 0x6B, 0x22,
3764         0x57, 0x1F, 0x8A, 0x97, 0x71, 0xEF, 0x54, 0xA7,
3765         0xA9, 0xB5, 0xA0, 0x7A, 0xFF, 0x52, 0xBC, 0x78,
3766         0x56, 0x8C, 0x9C, 0x2A, 0xFB, 0x31, 0xA6, 0xC8,
3767         0x87, 0xC8, 0x82, 0x72, 0x00, 0x68, 0x27, 0xDE,
3768         0x54, 0x67, 0x4C, 0x36, 0x4E, 0xE2, 0x77, 0x7F,
3769         0xAD, 0x15, 0x1B, 0xC9, 0x07, 0xC4, 0x84, 0x50,
3770         0x84, 0x45, 0xB5, 0x1D, 0xCE, 0x3F, 0x7C, 0xDF,
3771         0x73, 0x88, 0x3E, 0x6D, 0xAC, 0x18, 0x67, 0x2C,
3772         0x1D, 0x31, 0xD5, 0x41, 0x6E, 0xFC, 0x3D, 0xFE,
3773         0x5C, 0x6D, 0x3B, 0xCB, 0x67, 0x05, 0x44, 0x8B,
3774         0x02, 0xB7, 0xF5, 0x05, 0xFD, 0x1D, 0x7E, 0x13,
3775         0x90, 0xCE, 0xED, 0xD2, 0xAB, 0x08, 0xFF, 0xC3,
3776         0x91, 0x2C, 0x79, 0x06, 0xDB, 0x54, 0xAB, 0xFF,
3777         0xF6, 0x9D, 0xBB, 0xDC, 0x3C, 0xCD, 0x03, 0xE7,
3778         0xD8, 0x1A, 0x4E, 0x7F, 0xCB, 0x1B, 0xA3, 0xCA,
3779         0xDC, 0x14, 0xC5, 0xFE, 0x46, 0x38, 0x07, 0x82,
3780         0x5E, 0x9A, 0x77, 0x9C, 0xB4, 0x44, 0x26, 0xBA,
3781         0xC2, 0x27, 0xD0, 0xF4, 0x75, 0x67, 0x4A, 0x15,
3782         0x2A, 0x55, 0x2A, 0x61, 0x87, 0x55, 0xA0, 0xFB,
3783         0xE0, 0x93, 0xA5, 0xD7, 0xDF, 0x0D, 0x97, 0xD3,
3784         0x93, 0x39, 0x0B, 0x5A, 0xC6, 0x86, 0x17, 0x7D,
3785         0x6A, 0xA4, 0x07, 0x9C, 0xB9, 0x0F, 0x42, 0x15,
3786         0x46, 0x71, 0x45, 0x70, 0x75, 0x4B, 0xD5, 0x80,
3787         0x64, 0x62, 0x92, 0x50, 0xBC, 0x10, 0xA1, 0x68,
3788         0x60, 0x5A, 0x6F, 0x31, 0x26, 0xCA, 0xB1, 0x48,
3789         0xFB, 0xC6, 0xF4, 0x3A, 0xCA, 0x52, 0x20, 0x2F,
3790         0x7D, 0xEC, 0x19, 0xF8, 0xAA, 0x27, 0xC2, 0x23,
3791         0xD0, 0x8F, 0x60, 0xFC, 0x7F, 0xA0, 0xCB, 0xDC,
3792         0xA2, 0xC6, 0xC4, 0xC5, 0x13, 0x00, 0xF3, 0x43,
3793         0x48, 0x6D, 0xFD, 0x7D, 0xB9, 0xA8, 0x14, 0xB0,
3794         0x0C, 0x72, 0x82, 0x2F, 0x99, 0x64, 0x41, 0x2B,
3795         0xB3, 0x34, 0x73, 0x73, 0xF4, 0x26, 0x1D, 0x06,
3796         0xDF, 0x6E, 0xF4, 0x20, 0x1E, 0x31, 0xE3, 0x8A,
3797         0x01, 0x6C, 0xDB, 0x3C, 0xE3, 0xC6, 0xC4, 0xC5,
3798         0xB8, 0x20, 0x51, 0xF1, 0xD6, 0xB0, 0x30, 0xB7,
3799         0x2D, 0xDA, 0x95, 0x01, 0x0D, 0xED, 0xEE, 0x6F,
3800         0x69, 0xFD, 0xCF, 0x9D, 0xDD, 0x05, 0xD6, 0xC0,
3801         0xFE, 0x11, 0x67, 0xAF, 0x53, 0x94, 0x60, 0xFC,
3802         0x56, 0xBA, 0x0C, 0x5F, 0xA7, 0x7E, 0xDA, 0x65
3803 };
3804 static const struct
3805 blockcipher_test_data aes_test_data_xts_wrapped_key_48_pt_4096_du_4096 = {
3806         .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
3807         .cipher_key = {
3808                 .data = {
3809                         0x94, 0xD8, 0xAE, 0xD7, 0x74, 0xBF, 0x51, 0xF1,
3810                         0x2D, 0x19, 0x0B, 0x9A, 0xB3, 0xDC, 0x1E, 0xA9,
3811                         0x5C, 0xC5, 0x47, 0xC1, 0xBB, 0x94, 0xDB, 0xFA,
3812                         0x2B, 0x1E, 0x54, 0xA5, 0x76, 0xAD, 0x07, 0x4B,
3813                         0x46, 0xE0, 0xAA, 0xF9, 0xF7, 0x5C, 0x64, 0x2D,
3814                         0x8F, 0x04, 0x17, 0x72, 0xE5, 0x8D, 0xFE, 0x9C
3815                 },
3816                 .len = 48
3817         },
3818         .iv = {
3819                 .data = {
3820                         0x4F, 0xAE, 0xF7, 0x11, 0x7C, 0xDA, 0x59, 0xC6,
3821                         0x6E, 0x4B, 0x92, 0x01, 0x3E, 0x76, 0x8A, 0xD5
3822                 },
3823                 .len = 16
3824         },
3825         .plaintext = {
3826                 .data = plaintext_aes256xts_4096bytes,
3827                 .len = 4096
3828         },
3829         .ciphertext = {
3830                 .data = ciphertext_aes256xts_4096bytes,
3831                 .len = 4096
3832         },
3833         .xts_dataunit_len = 4096,
3834         .wrapped_key = true
3835 };
3836
3837 static const struct
3838 blockcipher_test_data aes_test_data_xts_wrapped_key_48_pt_4096_du_0 = {
3839         .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
3840         .cipher_key = {
3841                 .data = {
3842                         0x94, 0xD8, 0xAE, 0xD7, 0x74, 0xBF, 0x51, 0xF1,
3843                         0x2D, 0x19, 0x0B, 0x9A, 0xB3, 0xDC, 0x1E, 0xA9,
3844                         0x5C, 0xC5, 0x47, 0xC1, 0xBB, 0x94, 0xDB, 0xFA,
3845                         0x2B, 0x1E, 0x54, 0xA5, 0x76, 0xAD, 0x07, 0x4B,
3846                         0x46, 0xE0, 0xAA, 0xF9, 0xF7, 0x5C, 0x64, 0x2D,
3847                         0x8F, 0x04, 0x17, 0x72, 0xE5, 0x8D, 0xFE, 0x9C
3848                 },
3849                 .len = 48
3850         },
3851         .iv = {
3852                 .data = {
3853                         0x4F, 0xAE, 0xF7, 0x11, 0x7C, 0xDA, 0x59, 0xC6,
3854                         0x6E, 0x4B, 0x92, 0x01, 0x3E, 0x76, 0x8A, 0xD5
3855                 },
3856                 .len = 16
3857         },
3858         .plaintext = {
3859                 .data = plaintext_aes256xts_4096bytes,
3860                 .len = 4096
3861         },
3862         .ciphertext = {
3863                 .data = ciphertext_aes256xts_4096bytes,
3864                 .len = 4096
3865         },
3866         .xts_dataunit_len = 0,
3867         .wrapped_key = true
3868 };
3869
3870 static const struct
3871 blockcipher_test_data aes_test_data_xts_wrapped_key_48_pt_512_du_0 = {
3872         .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
3873         .cipher_key = {
3874                 .data = {
3875                         0x94, 0xD8, 0xAE, 0xD7, 0x74, 0xBF, 0x51, 0xF1,
3876                         0x2D, 0x19, 0x0B, 0x9A, 0xB3, 0xDC, 0x1E, 0xA9,
3877                         0x5C, 0xC5, 0x47, 0xC1, 0xBB, 0x94, 0xDB, 0xFA,
3878                         0x2B, 0x1E, 0x54, 0xA5, 0x76, 0xAD, 0x07, 0x4B,
3879                         0x46, 0xE0, 0xAA, 0xF9, 0xF7, 0x5C, 0x64, 0x2D,
3880                         0x8F, 0x04, 0x17, 0x72, 0xE5, 0x8D, 0xFE, 0x9C
3881                 },
3882                 .len = 48
3883         },
3884         .iv = {
3885                 .data = {
3886                         0x4F, 0xAE, 0xF7, 0x11, 0x7C, 0xDA, 0x59, 0xC6,
3887                         0x6E, 0x4B, 0x92, 0x01, 0x3E, 0x76, 0x8A, 0xD5
3888                 },
3889                 .len = 16
3890         },
3891         .plaintext = {
3892                 .data = plaintext_aes256xts_512bytes,
3893                 .len = 512
3894         },
3895         .ciphertext = {
3896                 .data = ciphertext_aes256xts_512bytes,
3897                 .len = 512
3898         },
3899         .xts_dataunit_len = 0,
3900         .wrapped_key = true
3901 };
3902
3903
3904 /* AES-DOCSIS-BPI test vectors */
3905
3906 /* Multiple of AES block size */
3907 static const struct blockcipher_test_data aes_test_data_docsis_1 = {
3908         .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
3909         .cipher_key = {
3910                 .data = {
3911                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
3912                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
3913                 },
3914                 .len = 16
3915         },
3916         .iv = {
3917                 .data = {
3918                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
3919                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
3920                 },
3921                 .len = 16
3922         },
3923         .plaintext = {
3924                 .data = plaintext_aes_common,
3925                 .len = 512
3926         },
3927         .ciphertext = {
3928                 .data = ciphertext512_aes128cbc,
3929                 .len = 512
3930         }
3931 };
3932
3933 /* Less than AES block size */
3934 static const struct blockcipher_test_data aes_test_data_docsis_2 = {
3935         .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
3936         .cipher_key = {
3937                 .data = {
3938                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
3939                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
3940                 },
3941                 .len = 16
3942         },
3943         .iv = {
3944                 .data = {
3945                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
3946                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
3947                 },
3948                 .len = 16
3949         },
3950         .plaintext = {
3951                 .data = plaintext_aes_docsis_bpi_cfb,
3952                 .len = 7
3953         },
3954         .ciphertext = {
3955                 .data = ciphertext_aes_docsis_bpi_cfb,
3956                 .len = 7
3957         }
3958 };
3959
3960 /* Not multiple of AES block size */
3961 static const struct blockcipher_test_data aes_test_data_docsis_3 = {
3962         .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
3963         .cipher_key = {
3964                 .data = {
3965                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
3966                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
3967                 },
3968                 .len = 16
3969         },
3970         .iv = {
3971                 .data = {
3972                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
3973                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
3974                 },
3975                 .len = 16
3976         },
3977         .plaintext = {
3978                 .data = plaintext_aes_docsis_bpi_cbc_cfb,
3979                 .len = 19
3980         },
3981         .ciphertext = {
3982                 .data = ciphertext_aes_docsis_bpi_cbc_cfb,
3983                 .len = 19
3984         }
3985 };
3986
3987 /* Multiple of AES 256 block size */
3988 static const struct blockcipher_test_data aes_test_data_docsis_4 = {
3989         .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
3990         .cipher_key = {
3991                 .data = {
3992                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
3993                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
3994                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0,
3995                         0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D
3996                 },
3997                 .len = 32
3998         },
3999         .iv = {
4000                 .data = {
4001                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
4002                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
4003                 },
4004                 .len = 16
4005         },
4006         .plaintext = {
4007                 .data = plaintext_aes_common,
4008                 .len = 512
4009         },
4010         .ciphertext = {
4011                 .data = ciphertext512_aes256cbc,
4012                 .len = 512
4013         }
4014 };
4015
4016 /* Less than AES 256 block size */
4017 static const struct blockcipher_test_data aes_test_data_docsis_5 = {
4018         .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
4019         .cipher_key = {
4020                 .data = {
4021                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
4022                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
4023                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
4024                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
4025                 },
4026                 .len = 32
4027         },
4028         .iv = {
4029                 .data = {
4030                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
4031                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
4032                 },
4033                 .len = 16
4034         },
4035         .plaintext = {
4036                 .data = plaintext_aes_docsis_bpi_cfb,
4037                 .len = 7
4038         },
4039         .ciphertext = {
4040                 .data = ciphertext_aes256_docsis_bpi_cfb,
4041                 .len = 7
4042         }
4043 };
4044
4045 /* Not multiple of AES 256 block size */
4046 static const struct blockcipher_test_data aes_test_data_docsis_6 = {
4047         .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
4048         .cipher_key = {
4049                 .data = {
4050                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
4051                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
4052                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
4053                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
4054                 },
4055                 .len = 32
4056         },
4057         .iv = {
4058                 .data = {
4059                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
4060                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
4061                 },
4062                 .len = 16
4063         },
4064         .plaintext = {
4065                 .data = plaintext_aes_docsis_bpi_cbc_cfb,
4066                 .len = 19
4067         },
4068         .ciphertext = {
4069                 .data = ciphertext_aes256_docsis_bpi_cbc_cfb,
4070                 .len = 19
4071         }
4072 };
4073
4074 static const uint8_t
4075 cipher_aescbc_offset_16[] = {
4076         0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C,
4077         0x6F, 0x75, 0x73, 0x79, 0x20, 0x65, 0x61, 0x72,
4078         0x68, 0x2A, 0x6A, 0x82, 0xE0, 0x73, 0xC7, 0x51,
4079         0x81, 0xF4, 0x47, 0x27, 0x1A, 0xEF, 0x76, 0x15,
4080         0x1C, 0xE1, 0x38, 0x5F, 0xE1, 0x81, 0x77, 0xC7,
4081         0x8B, 0xF0, 0x69, 0xC3, 0x3C, 0x45, 0x1C, 0x0A,
4082         0xA3, 0x93, 0xBF, 0x60, 0x57, 0x88, 0xD2, 0xFF,
4083         0xE1, 0x8F, 0xC0, 0x64, 0x2C, 0x42, 0xC5, 0x22,
4084         0xE3, 0x5F, 0x71, 0x1F, 0xF7, 0x62, 0xA2, 0x7E,
4085         0x0D, 0x42, 0xD9, 0xE7, 0xF3, 0x10, 0xB0, 0xEE,
4086 };
4087
4088 /** AES-128-CBC SHA1 OOP test vector for swapping src/dst */
4089 static const struct blockcipher_test_data aes_test_data_14 = {
4090         .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
4091         .cipher_key = {
4092                 .data = {
4093                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
4094                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
4095                 },
4096                 .len = 16
4097         },
4098         .iv = {
4099                 .data = {
4100                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
4101                         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
4102                 },
4103                 .len = 16
4104         },
4105         .plaintext = {
4106                 .data = plaintext_aes_common,
4107                 .len = 80
4108         },
4109         .cipher_offset = 16,
4110         .auth_offset = 0,
4111         .ciphertext = {
4112                 .data = cipher_aescbc_offset_16,
4113                 .len = 80
4114         },
4115         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
4116         .auth_key = {
4117                 .data = {
4118                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
4119                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
4120                         0xDE, 0xF4, 0xDE, 0xAD
4121                 },
4122                 .len = 20
4123         },
4124         .digest = {
4125                 .data = {
4126                         0xCC, 0x15, 0x83, 0xF7, 0x23, 0x87, 0x96, 0xA7,
4127                         0x29, 0x34, 0x32, 0xE4, 0x4C, 0x06, 0xE8, 0xEB,
4128                         0x70, 0x72, 0x4B, 0xAD
4129                 },
4130                 .len = 20,
4131                 .truncated_len = 12
4132         }
4133 };
4134
4135 static const struct blockcipher_test_case aes_chain_test_cases[] = {
4136         {
4137                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
4138                         "Verify OOP Offset",
4139                 .test_data = &aes_test_data_14,
4140                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4141                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4142         },
4143                 {
4144                 .test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest",
4145                 .test_data = &aes_test_data_1,
4146                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4147         },
4148         {
4149                 .test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest "
4150                         "Verify",
4151                 .test_data = &aes_test_data_1,
4152                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4153         },
4154         {
4155                 .test_descr = "AES-192-CTR XCBC Encryption Digest",
4156                 .test_data = &aes_test_data_2,
4157                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4158         },
4159         {
4160                 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify",
4161                 .test_data = &aes_test_data_2,
4162                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4163         },
4164         {
4165                 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
4166                                 "Scatter Gather",
4167                 .test_data = &aes_test_data_2,
4168                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4169                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
4170                         BLOCKCIPHER_TEST_FEATURE_OOP,
4171         },
4172         {
4173                 .test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest",
4174                 .test_data = &aes_test_data_3,
4175                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4176         },
4177         {
4178                 .test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest "
4179                         "Verify",
4180                 .test_data = &aes_test_data_3,
4181                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4182         },
4183         {
4184                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest",
4185                 .test_data = &aes_test_data_4,
4186                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4187         },
4188         {
4189                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
4190                         "(short buffers)",
4191                 .test_data = &aes_test_data_13,
4192                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4193         },
4194         {
4195                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
4196                                 "Scatter Gather",
4197                 .test_data = &aes_test_data_4,
4198                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4199                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
4200                         BLOCKCIPHER_TEST_FEATURE_OOP,
4201         },
4202         {
4203                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
4204                         "Verify",
4205                 .test_data = &aes_test_data_4,
4206                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4207         },
4208         {
4209                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
4210                         "Verify Scatter Gather",
4211                 .test_data = &aes_test_data_4,
4212                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4213                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
4214         },
4215         {
4216                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
4217                         "Verify (short buffers)",
4218                 .test_data = &aes_test_data_13,
4219                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4220         },
4221         {
4222                 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest",
4223                 .test_data = &aes_test_data_5,
4224                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4225         },
4226         {
4227                 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest "
4228                         "(short buffers)",
4229                 .test_data = &aes_test_data_12,
4230                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4231         },
4232         {
4233                 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
4234                         "Verify",
4235                 .test_data = &aes_test_data_5,
4236                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4237         },
4238         {
4239                 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
4240                         "Verify (short buffers)",
4241                 .test_data = &aes_test_data_12,
4242                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4243         },
4244         {
4245                 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest",
4246                 .test_data = &aes_test_data_6,
4247                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4248         },
4249         {
4250                 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
4251                         "Sessionless",
4252                 .test_data = &aes_test_data_6,
4253                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4254                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
4255         },
4256         {
4257                 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
4258                                 "Scatter Gather Sessionless",
4259                 .test_data = &aes_test_data_6,
4260                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4261                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
4262                         BLOCKCIPHER_TEST_FEATURE_SG |
4263                         BLOCKCIPHER_TEST_FEATURE_OOP,
4264         },
4265         {
4266                 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
4267                         "Verify",
4268                 .test_data = &aes_test_data_6,
4269                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4270         },
4271         {
4272                 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
4273                         "Verify Scatter Gather",
4274                 .test_data = &aes_test_data_6,
4275                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4276                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
4277                         BLOCKCIPHER_TEST_FEATURE_OOP,
4278         },
4279         {
4280                 .test_descr = "AES-128-CBC XCBC Encryption Digest",
4281                 .test_data = &aes_test_data_7,
4282                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4283         },
4284         {
4285                 .test_descr = "AES-128-CBC XCBC Decryption Digest Verify",
4286                 .test_data = &aes_test_data_7,
4287                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4288         },
4289         {
4290                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
4291                         "OOP",
4292                 .test_data = &aes_test_data_4,
4293                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4294                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4295         },
4296         {
4297                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
4298                         "OOP Offset",
4299                 .test_data = &aes_test_data_14,
4300                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4301                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4302         },
4303         {
4304                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
4305                         "Verify OOP",
4306                 .test_data = &aes_test_data_4,
4307                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4308                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4309         },
4310         {
4311                 .test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest",
4312                 .test_data = &aes_test_data_8,
4313                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4314         },
4315         {
4316                 .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest "
4317                         "Verify",
4318                 .test_data = &aes_test_data_8,
4319                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4320         },
4321         {
4322                 .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest",
4323                 .test_data = &aes_test_data_9,
4324                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4325         },
4326         {
4327                 .test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest "
4328                         "Verify",
4329                 .test_data = &aes_test_data_9,
4330                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4331         },
4332         {
4333                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
4334                                 "Sessionless",
4335                 .test_data = &aes_test_data_4,
4336                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4337                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
4338         },
4339         {
4340                 .test_descr =
4341                                 "AES-128-CBC HMAC-SHA1 Decryption Digest "
4342                                 "Verify Sessionless",
4343                 .test_data = &aes_test_data_4,
4344                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4345                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
4346         },
4347         {
4348                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest"
4349                         "(Encrypted Digest mode)",
4350                 .test_data = &aes_test_data_4_digest_enc,
4351                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN_ENC,
4352                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4353         },
4354         {
4355                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
4356                         "Scatter Gather (Encrypted Digest mode)",
4357                 .test_data = &aes_test_data_4_digest_enc,
4358                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN_ENC,
4359                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
4360                                 BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4361         },
4362         {
4363                 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
4364                         "(short buffers) (Encrypted Digest mode)",
4365                 .test_data = &aes_test_data_13_digest_enc,
4366                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN_ENC,
4367                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4368         },
4369         {
4370                 .test_descr = "AES-192-CBC HMAC-SHA1 Encryption Digest "
4371                         "Sessionless (Encrypted Digest mode)",
4372                 .test_data = &aes_test_data_10_digest_enc,
4373                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN_ENC,
4374                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
4375                                 BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4376         },
4377         {
4378                 .test_descr = "AES-256-CBC HMAC-SHA1 Encryption Digest "
4379                         "Scatter Gather Sessionless (Encrypted Digest mode)",
4380                 .test_data = &aes_test_data_11_digest_enc,
4381                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_GEN_ENC,
4382                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
4383                         BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
4384                         BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4385         },
4386         {
4387                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
4388                         "Verify (Encrypted Digest mode)",
4389                 .test_data = &aes_test_data_4_digest_enc,
4390                 .op_mask = BLOCKCIPHER_TEST_OP_DEC_AUTH_VERIFY,
4391                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4392         },
4393         {
4394                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
4395                         "Verify Scatter Gather (Encrypted Digest mode)",
4396                 .test_data = &aes_test_data_4_digest_enc,
4397                 .op_mask = BLOCKCIPHER_TEST_OP_DEC_AUTH_VERIFY,
4398                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
4399                                 BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4400         },
4401         {
4402                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
4403                         "Verify (short buffers) (Encrypted Digest mode)",
4404                 .test_data = &aes_test_data_13_digest_enc,
4405                 .op_mask = BLOCKCIPHER_TEST_OP_DEC_AUTH_VERIFY,
4406                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4407         },
4408         {
4409                 .test_descr = "AES-256-CBC HMAC-SHA1 Decryption Digest "
4410                         "Verify Sessionless (Encrypted Digest mode)",
4411                 .test_data = &aes_test_data_11_digest_enc,
4412                 .op_mask = BLOCKCIPHER_TEST_OP_DEC_AUTH_VERIFY,
4413                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
4414                                 BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4415         },
4416         {
4417                 .test_descr = "AES-192-CBC HMAC-SHA1 Decryption Digest "
4418                         "Verify Scatter Gather Sessionless (Encrypted Digest mode)",
4419                 .test_data = &aes_test_data_10_digest_enc,
4420                 .op_mask = BLOCKCIPHER_TEST_OP_DEC_AUTH_VERIFY,
4421                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
4422                                 BLOCKCIPHER_TEST_FEATURE_SG |
4423                                 BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4424         },
4425         {
4426                 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
4427                         "Verify Sessionless (Encrypted Digest mode)",
4428                 .test_data = &aes_test_data_4_digest_enc,
4429                 .op_mask = BLOCKCIPHER_TEST_OP_DEC_AUTH_VERIFY,
4430                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
4431                                 BLOCKCIPHER_TEST_FEATURE_DIGEST_ENCRYPTED,
4432         },
4433         {
4434                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte",
4435                 .test_data = &null_test_data_chain_x8_multiple,
4436                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4437         },
4438         {
4439                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte",
4440                 .test_data = &null_test_data_chain_x8_multiple,
4441                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4442         },
4443         {
4444                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte - OOP",
4445                 .test_data = &null_test_data_chain_x8_multiple,
4446                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4447                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4448         },
4449         {
4450                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte - OOP",
4451                 .test_data = &null_test_data_chain_x8_multiple,
4452                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4453                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4454         },
4455         {
4456                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte",
4457                 .test_data = &null_test_data_chain_x4_multiple,
4458                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4459         },
4460         {
4461                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte",
4462                 .test_data = &null_test_data_chain_x4_multiple,
4463                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4464         },
4465         {
4466                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte - OOP",
4467                 .test_data = &null_test_data_chain_x4_multiple,
4468                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4469                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4470         },
4471         {
4472                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte - OOP",
4473                 .test_data = &null_test_data_chain_x4_multiple,
4474                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4475                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4476         },
4477         {
4478                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte",
4479                 .test_data = &null_test_data_chain_x1_multiple,
4480                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4481         },
4482         {
4483                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte",
4484                 .test_data = &null_test_data_chain_x1_multiple,
4485                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4486         },
4487         {
4488                 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte - OOP",
4489                 .test_data = &null_test_data_chain_x1_multiple,
4490                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
4491                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4492         },
4493         {
4494                 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte - OOP",
4495                 .test_data = &null_test_data_chain_x1_multiple,
4496                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
4497                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4498         },
4499 };
4500
4501 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
4502         {
4503                 .test_descr = "AES-128-CBC Encryption",
4504                 .test_data = &aes_test_data_4,
4505                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4506         },
4507         {
4508                 .test_descr = "AES-128-CBC Decryption",
4509                 .test_data = &aes_test_data_4,
4510                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4511         },
4512         {
4513                 .test_descr = "AES-192-CBC Encryption",
4514                 .test_data = &aes_test_data_10,
4515                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4516         },
4517         {
4518                 .test_descr = "AES-192-CBC Encryption Scatter gather",
4519                 .test_data = &aes_test_data_10,
4520                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4521                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
4522                         BLOCKCIPHER_TEST_FEATURE_OOP,
4523         },
4524         {
4525                 .test_descr = "AES-192-CBC Decryption",
4526                 .test_data = &aes_test_data_10,
4527                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4528         },
4529         {
4530                 .test_descr = "AES-192-CBC Decryption Scatter Gather",
4531                 .test_data = &aes_test_data_10,
4532                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4533                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
4534         },
4535         {
4536                 .test_descr = "AES-256-CBC Encryption",
4537                 .test_data = &aes_test_data_11,
4538                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4539         },
4540         {
4541                 .test_descr = "AES-256-CBC Decryption",
4542                 .test_data = &aes_test_data_11,
4543                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4544         },
4545         {
4546                 .test_descr = "AES-256-CBC OOP Encryption",
4547                 .test_data = &aes_test_data_11,
4548                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4549                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4550         },
4551         {
4552                 .test_descr = "AES-256-CBC OOP Decryption",
4553                 .test_data = &aes_test_data_11,
4554                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4555                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4556         },
4557         {
4558                 .test_descr = "AES-128-CTR Encryption",
4559                 .test_data = &aes_test_data_1,
4560                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4561         },
4562         {
4563                 .test_descr = "AES-128-CTR Decryption",
4564                 .test_data = &aes_test_data_1,
4565                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4566         },
4567         {
4568                 .test_descr = "AES-192-CTR Encryption",
4569                 .test_data = &aes_test_data_2,
4570                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4571         },
4572         {
4573                 .test_descr = "AES-192-CTR Decryption",
4574                 .test_data = &aes_test_data_2,
4575                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4576         },
4577         {
4578                 .test_descr = "AES-256-CTR Encryption",
4579                 .test_data = &aes_test_data_3,
4580                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4581         },
4582         {
4583                 .test_descr = "AES-256-CTR Decryption",
4584                 .test_data = &aes_test_data_3,
4585                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4586         },
4587         {
4588                 .test_descr = "AES-128-CTR Encryption (12-byte IV)",
4589                 .test_data = &aes_test_data_1_IV_12_bytes,
4590                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4591         },
4592         {
4593                 .test_descr = "AES-192-CTR Encryption (12-byte IV)",
4594                 .test_data = &aes_test_data_2_IV_12_bytes,
4595                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4596         },
4597         {
4598                 .test_descr = "AES-256-CTR Encryption (12-byte IV)",
4599                 .test_data = &aes_test_data_3_IV_12_bytes,
4600                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4601         },
4602         {
4603                 .test_descr = "AES-128-XTS Encryption (16-byte plaintext)",
4604                 .test_data = &aes_test_data_xts_key_32_pt_16,
4605                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4606         },
4607         {
4608                 .test_descr = "AES-128-XTS Decryption (16-byte plaintext)",
4609                 .test_data = &aes_test_data_xts_key_32_pt_16,
4610                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4611         },
4612         {
4613                 .test_descr = "AES-128-XTS Encryption (32-byte plaintext)",
4614                 .test_data = &aes_test_data_xts_key_32_pt_32,
4615                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4616         },
4617         {
4618                 .test_descr = "AES-128-XTS Decryption (32-byte plaintext)",
4619                 .test_data = &aes_test_data_xts_key_32_pt_32,
4620                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4621         },
4622         {
4623                 .test_descr = "AES-256-XTS Encryption (32-byte plaintext)",
4624                 .test_data = &aes_test_data_xts_key_64_pt_32,
4625                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4626         },
4627         {
4628                 .test_descr = "AES-256-XTS Decryption (32-byte plaintext)",
4629                 .test_data = &aes_test_data_xts_key_64_pt_32,
4630                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4631         },
4632         {
4633                 .test_descr = "AES-256-XTS Encryption (48-byte plaintext)",
4634                 .test_data = &aes_test_data_xts_key_64_pt_48,
4635                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4636         },
4637         {
4638                 .test_descr = "AES-256-XTS Decryption (48-byte plaintext)",
4639                 .test_data = &aes_test_data_xts_key_64_pt_48,
4640                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4641         },
4642         {
4643                 .test_descr = "AES-256-XTS Encryption (512-byte plaintext"
4644                               " Dataunit 512)",
4645                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_512,
4646                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4647         },
4648         {
4649                 .test_descr = "AES-256-XTS Decryption (512-byte plaintext"
4650                               " Dataunit 512)",
4651                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_512,
4652                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4653         },
4654         {
4655                 .test_descr = "AES-256-XTS Encryption (512-byte plaintext"
4656                               " Dataunit 0)",
4657                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_0,
4658                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4659         },
4660         {
4661                 .test_descr = "AES-256-XTS Decryption (512-byte plaintext"
4662                               " Dataunit 0)",
4663                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_0,
4664                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4665         },
4666         {
4667                 .test_descr = "AES-256-XTS Encryption (4096-byte plaintext"
4668                               " Dataunit 4096)",
4669                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_4096,
4670                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4671         },
4672         {
4673                 .test_descr = "AES-256-XTS Decryption (4096-byte plaintext"
4674                               " Dataunit 4096)",
4675                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_4096,
4676                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4677         },
4678         {
4679                 .test_descr = "AES-256-XTS Encryption (4096-byte plaintext"
4680                               " Dataunit 0)",
4681                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_0,
4682                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4683         },
4684         {
4685                 .test_descr = "AES-256-XTS Decryption (4096-byte plaintext"
4686                               " Dataunit 0)",
4687                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_0,
4688                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4689         },
4690         {
4691                 .test_descr = "AES-256-XTS Encryption (512-byte plaintext"
4692                               " Dataunit 512) Scater gather OOP",
4693                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_512,
4694                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4695                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
4696                                 BLOCKCIPHER_TEST_FEATURE_SG,
4697         },
4698         {
4699                 .test_descr = "AES-256-XTS Decryption (512-byte plaintext"
4700                               " Dataunit 512) Scater gather OOP",
4701                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_512,
4702                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4703                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
4704                                 BLOCKCIPHER_TEST_FEATURE_SG,
4705         },
4706         {
4707                 .test_descr = "AES-256-XTS Encryption (512-byte plaintext"
4708                               " Dataunit 0) Scater gather OOP",
4709                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_0,
4710                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4711                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
4712                                 BLOCKCIPHER_TEST_FEATURE_SG,
4713         },
4714         {
4715                 .test_descr = "AES-256-XTS Decryption (512-byte plaintext"
4716                               " Dataunit 0) Scater gather OOP",
4717                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_0,
4718                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4719                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
4720                                 BLOCKCIPHER_TEST_FEATURE_SG,
4721         },
4722         {
4723                 .test_descr = "AES-256-XTS Encryption (4096-byte plaintext"
4724                               " Dataunit 4096) Scater gather OOP",
4725                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_4096,
4726                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4727                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
4728                                 BLOCKCIPHER_TEST_FEATURE_SG,
4729         },
4730         {
4731                 .test_descr = "AES-256-XTS Decryption (4096-byte plaintext"
4732                               " Dataunit 4096) Scater gather OOP",
4733                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_4096,
4734                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4735                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
4736                                 BLOCKCIPHER_TEST_FEATURE_SG,
4737         },
4738         {
4739                 .test_descr = "AES-256-XTS Encryption (4096-byte plaintext"
4740                               " Dataunit 0) Scater gather OOP",
4741                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_0,
4742                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4743                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
4744                                 BLOCKCIPHER_TEST_FEATURE_SG,
4745         },
4746         {
4747                 .test_descr = "AES-256-XTS Decryption (4096-byte plaintext"
4748                               " Dataunit 0) Scater gather OOP",
4749                 .test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_0,
4750                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4751                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
4752                                 BLOCKCIPHER_TEST_FEATURE_SG,
4753         },
4754         {
4755                 .test_descr = "cipher-only - NULL algo - x8 - encryption",
4756                 .test_data = &null_test_data_chain_x8_multiple,
4757                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4758         },
4759         {
4760                 .test_descr = "cipher-only - NULL algo - x8 - decryption",
4761                 .test_data = &null_test_data_chain_x8_multiple,
4762                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4763         },
4764         {
4765                 .test_descr = "cipher-only - NULL algo - x4 - encryption",
4766                 .test_data = &null_test_data_chain_x4_multiple,
4767                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4768         },
4769         {
4770                 .test_descr = "cipher-only - NULL algo - x4 - decryption",
4771                 .test_data = &null_test_data_chain_x4_multiple,
4772                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4773         },
4774         {
4775                 .test_descr = "cipher-only - NULL algo - x4 - encryption - OOP",
4776                 .test_data = &null_test_data_chain_x4_multiple,
4777                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4778                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4779         },
4780         {
4781                 .test_descr = "cipher-only - NULL algo - x4 - decryption - OOP",
4782                 .test_data = &null_test_data_chain_x4_multiple,
4783                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4784                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4785                 },
4786         {
4787                 .test_descr = "cipher-only - NULL algo - x1 - encryption",
4788                 .test_data = &null_test_data_chain_x1_multiple,
4789                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4790         },
4791         {
4792                 .test_descr = "cipher-only - NULL algo - x1 - decryption",
4793                 .test_data = &null_test_data_chain_x1_multiple,
4794                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4795         },
4796         {
4797                 .test_descr = "AES-128-ECB Encryption",
4798                 .test_data = &aes_test_data_15,
4799                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4800         },
4801         {
4802                 .test_descr = "AES-128-ECB Decryption",
4803                 .test_data = &aes_test_data_15,
4804                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4805         },
4806         {
4807                 .test_descr = "AES-192-ECB Encryption",
4808                 .test_data = &aes_test_data_16,
4809                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4810         },
4811         {
4812                 .test_descr = "AES-192-ECB Decryption",
4813                 .test_data = &aes_test_data_16,
4814                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4815         },
4816         {
4817                 .test_descr = "AES-256-ECB Encryption",
4818                 .test_data = &aes_test_data_17,
4819                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4820         },
4821         {
4822                 .test_descr = "AES-256-ECB Decryption",
4823                 .test_data = &aes_test_data_17,
4824                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4825         },
4826         {
4827                 .test_descr = "AES-128-ECB Encryption (128-byte plaintext)",
4828                 .test_data = &aes_test_data_18,
4829                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4830         },
4831         {
4832                 .test_descr = "AES-128-ECB Decryption (128-byte plaintext)",
4833                 .test_data = &aes_test_data_18,
4834                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4835         },
4836         {
4837                 .test_descr = "AES-192-ECB Encryption (192-byte plaintext)",
4838                 .test_data = &aes_test_data_19,
4839                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4840         },
4841         {
4842                 .test_descr = "AES-192-ECB Decryption (192-byte plaintext)",
4843                 .test_data = &aes_test_data_19,
4844                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4845         },
4846         {
4847                 .test_descr = "AES-256-ECB Encryption (256-byte plaintext)",
4848                 .test_data = &aes_test_data_20,
4849                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4850         },
4851         {
4852                 .test_descr = "AES-256-ECB Decryption (192-byte plaintext)",
4853                 .test_data = &aes_test_data_20,
4854                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4855         },
4856         {
4857                 .test_descr = "AES-128-ECB Encryption (1008-byte plaintext)",
4858                 .test_data = &aes_test_data_21,
4859                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4860         },
4861         {
4862                 .test_descr = "AES-128-ECB Decryption (1008-byte plaintext)",
4863                 .test_data = &aes_test_data_21,
4864                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4865         },
4866 };
4867
4868 static const struct blockcipher_test_case aes_docsis_test_cases[] = {
4869
4870         {
4871                 .test_descr = "AES-DOCSIS-BPI Full Block Encryption",
4872                 .test_data = &aes_test_data_docsis_1,
4873                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4874         },
4875         {
4876                 .test_descr = "AES-DOCSIS-BPI Runt Block Encryption",
4877                 .test_data = &aes_test_data_docsis_2,
4878                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4879         },
4880         {
4881                 .test_descr = "AES-DOCSIS-BPI Uneven Encryption",
4882                 .test_data = &aes_test_data_docsis_3,
4883                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4884         },
4885         {
4886                 .test_descr = "AES-DOCSIS-BPI Full Block Decryption",
4887                 .test_data = &aes_test_data_docsis_1,
4888                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4889         },
4890         {
4891                 .test_descr = "AES-DOCSIS-BPI Runt Block Decryption",
4892                 .test_data = &aes_test_data_docsis_2,
4893                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4894         },
4895         {
4896                 .test_descr = "AES-DOCSIS-BPI Uneven Decryption",
4897                 .test_data = &aes_test_data_docsis_3,
4898                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4899         },
4900         {
4901                 .test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption",
4902                 .test_data = &aes_test_data_docsis_1,
4903                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4904                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4905         },
4906         {
4907                 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption",
4908                 .test_data = &aes_test_data_docsis_2,
4909                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4910                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4911         },
4912
4913         {
4914                 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption",
4915                 .test_data = &aes_test_data_docsis_3,
4916                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4917                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4918         },
4919         {
4920                 .test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption",
4921                 .test_data = &aes_test_data_docsis_1,
4922                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4923                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4924         },
4925         {
4926                 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption",
4927                 .test_data = &aes_test_data_docsis_2,
4928                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4929                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4930         },
4931         {
4932                 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Decryption",
4933                 .test_data = &aes_test_data_docsis_3,
4934                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4935                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4936         },
4937         /* AES 256 */
4938         {
4939                 .test_descr = "AES-256-DOCSIS-BPI Full Block Encryption",
4940                 .test_data = &aes_test_data_docsis_4,
4941                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4942         },
4943         {
4944                 .test_descr = "AES-256-DOCSIS-BPI Runt Block Encryption",
4945                 .test_data = &aes_test_data_docsis_5,
4946                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4947         },
4948         {
4949                 .test_descr = "AES-256-DOCSIS-BPI Uneven Encryption",
4950                 .test_data = &aes_test_data_docsis_6,
4951                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4952         },
4953         {
4954                 .test_descr = "AES-256-DOCSIS-BPI Full Block Decryption",
4955                 .test_data = &aes_test_data_docsis_4,
4956                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4957         },
4958         {
4959                 .test_descr = "AES-256-DOCSIS-BPI Runt Block Decryption",
4960                 .test_data = &aes_test_data_docsis_5,
4961                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4962         },
4963         {
4964                 .test_descr = "AES-256-DOCSIS-BPI Uneven Decryption",
4965                 .test_data = &aes_test_data_docsis_6,
4966                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4967         },
4968         {
4969                 .test_descr = "AES-256-DOCSIS-BPI OOP Full Block Encryption",
4970                 .test_data = &aes_test_data_docsis_4,
4971                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4972                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4973         },
4974         {
4975                 .test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Encryption",
4976                 .test_data = &aes_test_data_docsis_5,
4977                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4978                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4979         },
4980         {
4981                 .test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Encryption",
4982                 .test_data = &aes_test_data_docsis_6,
4983                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
4984                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4985         },
4986         {
4987                 .test_descr = "AES-256-DOCSIS-BPI OOP Full Block Decryption",
4988                 .test_data = &aes_test_data_docsis_4,
4989                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4990                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4991         },
4992         {
4993                 .test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Decryption",
4994                 .test_data = &aes_test_data_docsis_5,
4995                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
4996                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
4997         },
4998         {
4999                 .test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Decryption",
5000                 .test_data = &aes_test_data_docsis_6,
5001                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
5002                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
5003         },
5004 };
5005 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */