xref: /dpdk/app/test/test_cryptodev_aes_test_vectors.h (revision 68a03efeed657e6e05f281479b33b51102797e15)
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 /* AES128-CTR-SHA1 test vector */
1097 static const struct blockcipher_test_data aes_test_data_1 = {
1098 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1099 	.cipher_key = {
1100 		.data = {
1101 			0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
1102 			0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
1103 		},
1104 		.len = 16
1105 	},
1106 	.iv = {
1107 		.data = {
1108 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
1109 			0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
1110 		},
1111 		.len = 16
1112 	},
1113 	.plaintext = {
1114 		.data = plaintext_aes128ctr,
1115 		.len = 64
1116 	},
1117 	.ciphertext = {
1118 		.data = ciphertext64_aes128ctr,
1119 		.len = 64
1120 	},
1121 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1122 	.auth_key = {
1123 		.data = {
1124 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1125 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1126 			0xDE, 0xF4, 0xDE, 0xAD
1127 		},
1128 		.len = 20
1129 	},
1130 	.digest = {
1131 		.data = {
1132 			0x9B, 0x6F, 0x0C, 0x43, 0xF5, 0xC1, 0x3E, 0xB0,
1133 			0xB1, 0x70, 0xB8, 0x2B, 0x33, 0x09, 0xD2, 0xB2,
1134 			0x56, 0x20, 0xFB, 0xFE
1135 		},
1136 		.len = 20,
1137 		.truncated_len = 12
1138 	}
1139 };
1140 
1141 /** AES-192-CTR XCBC test vector */
1142 static const struct blockcipher_test_data aes_test_data_2 = {
1143 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1144 	.cipher_key = {
1145 		.data = {
1146 			0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
1147 			0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
1148 			0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
1149 		},
1150 		.len = 24
1151 	},
1152 	.iv = {
1153 		.data = {
1154 			0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
1155 			0xB8, 0x7A, 0x4B, 0xED, 0x2B, 0xAF, 0xBF, 0x57
1156 		},
1157 		.len = 16
1158 	},
1159 	.plaintext = {
1160 		.data = plaintext_aes192ctr,
1161 		.len = 64
1162 	},
1163 	.ciphertext = {
1164 		.data = ciphertext64_aes192ctr,
1165 		.len = 64
1166 	},
1167 	.auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
1168 	.auth_key = {
1169 		.data = {
1170 			0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
1171 			0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
1172 		},
1173 		.len = 16
1174 	},
1175 	.digest = {
1176 		.data = {
1177 			0xCA, 0x33, 0xB3, 0x3B, 0x16, 0x94, 0xAA, 0x55,
1178 			0x36, 0x6B, 0x45, 0x46
1179 		},
1180 		.len = 12,
1181 		.truncated_len = 12
1182 	}
1183 };
1184 
1185 /** AES-256-CTR SHA1 test vector */
1186 static const struct blockcipher_test_data aes_test_data_3 = {
1187 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1188 	.cipher_key = {
1189 		.data = {
1190 			0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
1191 			0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
1192 			0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
1193 			0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
1194 		},
1195 		.len = 32
1196 	},
1197 	.iv = {
1198 		.data = {
1199 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
1200 			0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
1201 		},
1202 		.len = 16
1203 	},
1204 	.plaintext = {
1205 		.data = plaintext_aes256ctr,
1206 		.len = 64
1207 	},
1208 	.ciphertext = {
1209 		.data = ciphertext64_aes256ctr,
1210 		.len = 64
1211 	},
1212 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1213 	.auth_key = {
1214 		.data = {
1215 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1216 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1217 			0xDE, 0xF4, 0xDE, 0xAD
1218 		},
1219 		.len = 20
1220 	},
1221 	.digest = {
1222 		.data = {
1223 			0x3B, 0x1A, 0x9D, 0x82, 0x35, 0xD5, 0xDD, 0x64,
1224 			0xCC, 0x1B, 0xA9, 0xC0, 0xEB, 0xE9, 0x42, 0x16,
1225 			0xE7, 0x87, 0xA3, 0xEF
1226 		},
1227 		.len = 20,
1228 		.truncated_len = 12
1229 	}
1230 };
1231 
1232 /* AES128-CTR-SHA1 test vector (12-byte IV) */
1233 static const struct blockcipher_test_data aes_test_data_1_IV_12_bytes = {
1234 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1235 	.cipher_key = {
1236 		.data = {
1237 			0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
1238 			0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
1239 		},
1240 		.len = 16
1241 	},
1242 	.iv = {
1243 		.data = {
1244 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
1245 			0xF8, 0xF9, 0xFA, 0xFB
1246 		},
1247 		.len = 12
1248 	},
1249 	.plaintext = {
1250 		.data = plaintext_aes128ctr,
1251 		.len = 64
1252 	},
1253 	.ciphertext = {
1254 		.data = ciphertext64_aes128ctr_IV_12bytes,
1255 		.len = 64
1256 	},
1257 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1258 	.auth_key = {
1259 		.data = {
1260 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1261 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1262 			0xDE, 0xF4, 0xDE, 0xAD
1263 		},
1264 		.len = 20
1265 	},
1266 	.digest = {
1267 		.data = {
1268 			0x5C, 0x34, 0x6B, 0xE4, 0x9A, 0x7F, 0x4A, 0xC3,
1269 			0x82, 0xBE, 0xA0, 0x12, 0xD1, 0xF0, 0x15, 0xFA,
1270 			0xCF, 0xC8, 0x7F, 0x60
1271 		},
1272 		.len = 20,
1273 		.truncated_len = 12
1274 	}
1275 };
1276 
1277 /** AES-192-CTR XCBC test vector (12-byte IV) */
1278 static const struct blockcipher_test_data aes_test_data_2_IV_12_bytes = {
1279 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1280 	.cipher_key = {
1281 		.data = {
1282 			0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
1283 			0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
1284 			0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
1285 		},
1286 		.len = 24
1287 	},
1288 	.iv = {
1289 		.data = {
1290 			0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
1291 			0xB8, 0x7A, 0x4B, 0xED
1292 		},
1293 		.len = 12
1294 	},
1295 	.plaintext = {
1296 		.data = plaintext_aes192ctr,
1297 		.len = 64
1298 	},
1299 	.ciphertext = {
1300 		.data = ciphertext64_aes192ctr_IV_12bytes,
1301 		.len = 64
1302 	},
1303 	.auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
1304 	.auth_key = {
1305 		.data = {
1306 			0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
1307 			0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
1308 		},
1309 		.len = 16
1310 	},
1311 	.digest = {
1312 		.data = {
1313 			0x0C, 0xA1, 0xA5, 0xAF, 0x3E, 0x41, 0xD2, 0xF4,
1314 			0x4C, 0x4C, 0xAB, 0x13
1315 		},
1316 		.len = 12,
1317 		.truncated_len = 12
1318 	}
1319 };
1320 
1321 /** AES-256-CTR SHA1 test vector (12-byte IV) */
1322 static const struct blockcipher_test_data aes_test_data_3_IV_12_bytes = {
1323 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
1324 	.cipher_key = {
1325 		.data = {
1326 			0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
1327 			0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
1328 			0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
1329 			0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
1330 		},
1331 		.len = 32
1332 	},
1333 	.iv = {
1334 		.data = {
1335 			0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
1336 			0xF8, 0xF9, 0xFA, 0xFB
1337 		},
1338 		.len = 12
1339 	},
1340 	.plaintext = {
1341 		.data = plaintext_aes256ctr,
1342 		.len = 64
1343 	},
1344 	.ciphertext = {
1345 		.data = ciphertext64_aes256ctr_IV_12bytes,
1346 		.len = 64
1347 	},
1348 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1349 	.auth_key = {
1350 		.data = {
1351 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1352 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1353 			0xDE, 0xF4, 0xDE, 0xAD
1354 		},
1355 		.len = 20
1356 	},
1357 	.digest = {
1358 		.data = {
1359 			0x57, 0x9A, 0x52, 0x6E, 0x31, 0x17, 0x57, 0x49,
1360 			0xE7, 0xA1, 0x88, 0x6C, 0x2E, 0x36, 0x67, 0x63,
1361 			0x3F, 0x2D, 0xA3, 0xEF
1362 		},
1363 		.len = 20,
1364 		.truncated_len = 12
1365 	}
1366 };
1367 /** AES-128-CBC SHA1 test vector */
1368 static const struct blockcipher_test_data aes_test_data_4 = {
1369 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1370 	.cipher_key = {
1371 		.data = {
1372 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1373 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1374 		},
1375 		.len = 16
1376 	},
1377 	.iv = {
1378 		.data = {
1379 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1380 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1381 		},
1382 		.len = 16
1383 	},
1384 	.plaintext = {
1385 		.data = plaintext_aes_common,
1386 		.len = 512
1387 	},
1388 	.ciphertext = {
1389 		.data = ciphertext512_aes128cbc,
1390 		.len = 512
1391 	},
1392 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1393 	.auth_key = {
1394 		.data = {
1395 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1396 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1397 			0xDE, 0xF4, 0xDE, 0xAD
1398 		},
1399 		.len = 20
1400 	},
1401 	.digest = {
1402 		.data = {
1403 			0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60,
1404 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1405 			0x18, 0x8C, 0x1D, 0x32
1406 		},
1407 		.len = 20,
1408 		.truncated_len = 12
1409 	}
1410 };
1411 
1412 /** AES-128-CBC SHA256 test vector */
1413 static const struct blockcipher_test_data aes_test_data_5 = {
1414 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1415 	.cipher_key = {
1416 		.data = {
1417 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1418 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1419 		},
1420 		.len = 16
1421 	},
1422 	.iv = {
1423 		.data = {
1424 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1425 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1426 		},
1427 		.len = 16
1428 	},
1429 	.plaintext = {
1430 		.data = plaintext_aes_common,
1431 		.len = 512
1432 	},
1433 	.ciphertext = {
1434 		.data = ciphertext512_aes128cbc,
1435 		.len = 512
1436 	},
1437 	.auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
1438 	.auth_key = {
1439 		.data = {
1440 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1441 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1442 			0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
1443 			0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
1444 		},
1445 		.len = 32
1446 	},
1447 	.digest = {
1448 		.data = {
1449 			0xC8, 0x57, 0x57, 0x31, 0x03, 0xE0, 0x03, 0x55,
1450 			0x07, 0xC8, 0x9E, 0x7F, 0x48, 0x9A, 0x61, 0x9A,
1451 			0x68, 0xEE, 0x03, 0x0E, 0x71, 0x75, 0xC7, 0xF4,
1452 			0x2E, 0x45, 0x26, 0x32, 0x7C, 0x12, 0x15, 0x15
1453 		},
1454 		.len = 32,
1455 		.truncated_len = 16
1456 	}
1457 };
1458 
1459 /** AES-128-CBC SHA512 test vector */
1460 static const struct blockcipher_test_data aes_test_data_6 = {
1461 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1462 	.cipher_key = {
1463 		.data = {
1464 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1465 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1466 		},
1467 		.len = 16
1468 	},
1469 	.iv = {
1470 		.data = {
1471 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1472 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1473 		},
1474 		.len = 16
1475 	},
1476 	.plaintext = {
1477 		.data = plaintext_aes_common,
1478 		.len = 512
1479 	},
1480 	.ciphertext = {
1481 		.data = ciphertext512_aes128cbc,
1482 		.len = 512
1483 	},
1484 	.auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC,
1485 	.auth_key = {
1486 		.data = {
1487 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1488 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1489 			0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
1490 			0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
1491 			0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
1492 			0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
1493 			0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
1494 			0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
1495 		},
1496 		.len = 64
1497 	},
1498 	.digest = {
1499 		.data = {
1500 			0x5D, 0x54, 0x66, 0xC1, 0x6E, 0xBC, 0x04, 0xB8,
1501 			0x46, 0xB8, 0x08, 0x6E, 0xE0, 0xF0, 0x43, 0x48,
1502 			0x37, 0x96, 0x9C, 0xC6, 0x9C, 0xC2, 0x1E, 0xE8,
1503 			0xF2, 0x0C, 0x0B, 0xEF, 0x86, 0xA2, 0xE3, 0x70,
1504 			0x95, 0xC8, 0xB3, 0x06, 0x47, 0xA9, 0x90, 0xE8,
1505 			0xA0, 0xC6, 0x72, 0x69, 0x05, 0xC0, 0x0D, 0x0E,
1506 			0x21, 0x96, 0x65, 0x93, 0x74, 0x43, 0x2A, 0x1D,
1507 			0x2E, 0xBF, 0xC2, 0xC2, 0xEE, 0xCC, 0x2F, 0x0A
1508 		},
1509 		.len = 64,
1510 		.truncated_len = 32
1511 	}
1512 };
1513 
1514 /** AES-128-CBC XCBC test vector */
1515 static const struct blockcipher_test_data aes_test_data_7 = {
1516 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1517 	.cipher_key = {
1518 		.data = {
1519 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1520 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1521 		},
1522 		.len = 16
1523 	},
1524 	.iv = {
1525 		.data = {
1526 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1527 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1528 		},
1529 		.len = 16
1530 	},
1531 	.plaintext = {
1532 		.data = plaintext_aes_common,
1533 		.len = 512
1534 	},
1535 	.ciphertext = {
1536 		.data = ciphertext512_aes128cbc,
1537 		.len = 512
1538 	},
1539 	.auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
1540 	.auth_key = {
1541 		.data = {
1542 			0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
1543 			0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
1544 		},
1545 		.len = 16
1546 	},
1547 	.digest = {
1548 		.data = {
1549 			0xE0, 0xAC, 0x9A, 0xC4, 0x22, 0x64, 0x35, 0x89,
1550 			0x77, 0x1D, 0x8B, 0x75
1551 		},
1552 		.len = 12,
1553 		.truncated_len = 12
1554 	}
1555 };
1556 
1557 /** AES-128-CBC SHA224 test vector */
1558 static const struct blockcipher_test_data aes_test_data_8 = {
1559 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1560 	.cipher_key = {
1561 		.data = {
1562 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1563 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1564 		},
1565 		.len = 16
1566 	},
1567 	.iv = {
1568 		.data = {
1569 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1570 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1571 		},
1572 		.len = 16
1573 	},
1574 	.plaintext = {
1575 		.data = plaintext_aes_common,
1576 		.len = 512
1577 	},
1578 	.ciphertext = {
1579 		.data = ciphertext512_aes128cbc,
1580 		.len = 512
1581 	},
1582 	.auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC,
1583 	.auth_key = {
1584 		.data = {
1585 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1586 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1587 			0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
1588 			0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
1589 			0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
1590 			0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
1591 			0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
1592 			0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
1593 		},
1594 		.len = 64
1595 	},
1596 	.digest = {
1597 		.data = {
1598 			0xA3, 0xCA, 0xC7, 0x1D, 0xA8, 0x61, 0x30, 0x98,
1599 			0x3B, 0x8F, 0x01, 0x19, 0xAE, 0x8D, 0xBD, 0x34,
1600 			0x40, 0x63, 0xA8, 0x2F, 0xDF, 0x85, 0x2B, 0x7F,
1601 			0x63, 0x7C, 0xDD, 0xB7
1602 		},
1603 		.len = 28,
1604 		.truncated_len = 14
1605 	}
1606 };
1607 
1608 /** AES-128-CBC SHA384 test vector */
1609 static const struct blockcipher_test_data aes_test_data_9 = {
1610 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1611 	.cipher_key = {
1612 		.data = {
1613 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1614 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1615 		},
1616 		.len = 16
1617 	},
1618 	.iv = {
1619 		.data = {
1620 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1621 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1622 		},
1623 		.len = 16
1624 	},
1625 	.plaintext = {
1626 		.data = plaintext_aes_common,
1627 		.len = 512
1628 	},
1629 	.ciphertext = {
1630 		.data = ciphertext512_aes128cbc,
1631 		.len = 512
1632 	},
1633 	.auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC,
1634 	.auth_key = {
1635 		.data = {
1636 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1637 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1638 			0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
1639 			0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
1640 			0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
1641 			0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
1642 			0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
1643 			0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60,
1644 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1645 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1646 			0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
1647 			0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
1648 			0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
1649 			0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
1650 			0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
1651 			0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
1652 		},
1653 		.len = 128
1654 	},
1655 	.digest = {
1656 		.data = {
1657 			0x23, 0x60, 0xC8, 0xB1, 0x2D, 0x6C, 0x1E, 0x72,
1658 			0x25, 0xAB, 0xF9, 0xC3, 0x9A, 0xA9, 0x4F, 0x8C,
1659 			0x56, 0x38, 0x65, 0x0E, 0x74, 0xD5, 0x45, 0x9D,
1660 			0xA3, 0xFD, 0x7E, 0x6D, 0x9E, 0x74, 0x88, 0x9D,
1661 			0xA7, 0x12, 0x9D, 0xD8, 0x81, 0x3C, 0x86, 0x2F,
1662 			0x4D, 0xF9, 0x6F, 0x0A, 0xB0, 0xC9, 0xEB, 0x0B
1663 		},
1664 		.len = 48,
1665 		.truncated_len = 24
1666 	}
1667 };
1668 
1669 static const uint8_t ciphertext512_aes192cbc[] = {
1670 	0x45, 0xEE, 0x9A, 0xEA, 0x3C, 0x03, 0xFC, 0x4C,
1671 	0x84, 0x36, 0xB0, 0xDA, 0xB0, 0xDC, 0xF3, 0x5B,
1672 	0x75, 0xA7, 0xBE, 0x0E, 0xC0, 0x8D, 0x6C, 0xF8,
1673 	0xC1, 0x0F, 0xD0, 0x35, 0x1D, 0x82, 0xAE, 0x7C,
1674 	0x57, 0xC5, 0x7A, 0x55, 0x87, 0x1B, 0xD4, 0x03,
1675 	0x0A, 0x64, 0xC9, 0xE0, 0xF4, 0xC7, 0x6F, 0x57,
1676 	0x52, 0xC6, 0x73, 0xBA, 0x84, 0x0B, 0x5B, 0x89,
1677 	0x21, 0xD2, 0x9B, 0x88, 0x68, 0xF5, 0xA9, 0x7F,
1678 	0x3F, 0x49, 0xEB, 0xF4, 0xD4, 0x52, 0xD2, 0x64,
1679 	0x80, 0xB2, 0x53, 0xDA, 0x19, 0xF6, 0x10, 0x24,
1680 	0x23, 0x26, 0x7A, 0x7C, 0x07, 0x57, 0x4B, 0x0E,
1681 	0x58, 0x49, 0x61, 0xD1, 0xDC, 0x9A, 0x32, 0x6B,
1682 	0x0F, 0x43, 0x9E, 0x4D, 0xB4, 0x07, 0x4E, 0xB3,
1683 	0x51, 0x74, 0xDE, 0x29, 0xBC, 0x98, 0xF9, 0xDF,
1684 	0x78, 0x9A, 0x18, 0x9C, 0xD6, 0x7A, 0x55, 0x7C,
1685 	0xE6, 0x1D, 0x5C, 0x1A, 0x99, 0xD2, 0xC3, 0x7B,
1686 	0x9F, 0x96, 0x74, 0x2D, 0xE0, 0xEF, 0xD1, 0xE3,
1687 	0x08, 0x9F, 0xAF, 0xE6, 0xED, 0xCA, 0xE1, 0xEA,
1688 	0x23, 0x6F, 0x7C, 0x81, 0xA8, 0xC0, 0x5B, 0x8B,
1689 	0x53, 0x90, 0x51, 0x2D, 0x0F, 0xF6, 0x7D, 0xA7,
1690 	0x1C, 0xBD, 0x83, 0x84, 0x54, 0xA4, 0x15, 0xFB,
1691 	0x3E, 0x25, 0xA7, 0x3A, 0x0A, 0x73, 0xD9, 0x88,
1692 	0x6F, 0x80, 0x78, 0x95, 0x7F, 0x60, 0xAA, 0x86,
1693 	0x8A, 0xFC, 0xDF, 0xC1, 0xCB, 0xDE, 0xBB, 0x25,
1694 	0x52, 0x20, 0xC6, 0x79, 0xD4, 0x0F, 0x25, 0xE7,
1695 	0xDB, 0xB2, 0x17, 0xA4, 0x6F, 0x3C, 0x6F, 0x91,
1696 	0xF6, 0x44, 0x1E, 0xB6, 0x85, 0xBC, 0x7A, 0x14,
1697 	0x10, 0x72, 0xBD, 0x16, 0x63, 0x39, 0x9E, 0x7B,
1698 	0x84, 0x5B, 0x17, 0x61, 0xB1, 0x5D, 0x82, 0x0B,
1699 	0x6D, 0x37, 0xD7, 0x79, 0xB8, 0x24, 0x91, 0x30,
1700 	0x82, 0x91, 0x02, 0xB1, 0x18, 0x4B, 0xE0, 0xF4,
1701 	0x13, 0x1B, 0xB2, 0x4C, 0xDA, 0xB8, 0x99, 0x96,
1702 	0x83, 0x2F, 0xBE, 0x53, 0x8D, 0xDE, 0xFA, 0xAD,
1703 	0xF6, 0x5C, 0xDB, 0xE5, 0x66, 0x26, 0x8F, 0x13,
1704 	0x2B, 0x76, 0x47, 0x73, 0xDE, 0x1A, 0x74, 0xA6,
1705 	0x30, 0xAF, 0x42, 0xA0, 0xE5, 0xD2, 0x8F, 0xC2,
1706 	0xED, 0x3E, 0x9E, 0x29, 0x54, 0x3C, 0xDE, 0x9F,
1707 	0x5D, 0x30, 0x2B, 0x63, 0xFB, 0xE3, 0xB1, 0x07,
1708 	0xEE, 0x74, 0x4A, 0xAF, 0xB1, 0x20, 0x8D, 0xEC,
1709 	0xE6, 0x78, 0x16, 0x8D, 0xA4, 0x6E, 0x34, 0x7D,
1710 	0x47, 0xFB, 0x0B, 0xC1, 0x32, 0xD7, 0x0D, 0x6C,
1711 	0x6F, 0x93, 0x9C, 0x5E, 0xEF, 0x1F, 0x9C, 0x45,
1712 	0x80, 0x6B, 0x74, 0xA6, 0x81, 0xF2, 0xF6, 0xFA,
1713 	0xAA, 0x9D, 0x4F, 0xCA, 0xB5, 0x90, 0x59, 0xB0,
1714 	0x3B, 0xF2, 0xF0, 0x75, 0xFD, 0x8A, 0xD8, 0x97,
1715 	0x65, 0x88, 0x56, 0x4C, 0x44, 0xDF, 0x73, 0xF7,
1716 	0x56, 0x9C, 0x48, 0x7E, 0xB0, 0x1F, 0x1D, 0x7D,
1717 	0x6A, 0x11, 0xF5, 0xC2, 0xF4, 0x17, 0xEF, 0x58,
1718 	0xD8, 0x2A, 0xAF, 0x56, 0x2F, 0xCF, 0xEC, 0xA4,
1719 	0x58, 0x8B, 0x60, 0xCE, 0xD4, 0x0F, 0x9C, 0x21,
1720 	0xEC, 0x3E, 0x74, 0x7B, 0x81, 0x3D, 0x69, 0xC6,
1721 	0x5E, 0x12, 0x83, 0xE9, 0xEF, 0x81, 0x58, 0x36,
1722 	0x6A, 0x60, 0x0F, 0x54, 0x28, 0x11, 0xF9, 0x64,
1723 	0x36, 0xAD, 0x79, 0xF5, 0x1C, 0x74, 0xD0, 0xC3,
1724 	0x7B, 0x61, 0xE1, 0x92, 0xB0, 0x13, 0x91, 0x87,
1725 	0x32, 0x1F, 0xF2, 0x5A, 0xDA, 0x25, 0x69, 0xEB,
1726 	0xD7, 0x32, 0x7F, 0xF5, 0x23, 0x21, 0x54, 0x47,
1727 	0x7B, 0x1B, 0x33, 0xB0, 0x3D, 0xF6, 0xE2, 0x7E,
1728 	0x3E, 0xA2, 0x9E, 0xCA, 0x48, 0x0B, 0x4A, 0x29,
1729 	0x81, 0xD4, 0x4E, 0xD5, 0x69, 0xFB, 0xCD, 0x37,
1730 	0x8A, 0xC1, 0x5B, 0x50, 0xFF, 0xB5, 0x7D, 0x43,
1731 	0x0F, 0xAE, 0xA6, 0xC2, 0xE5, 0x8F, 0x45, 0xB2,
1732 	0x85, 0x99, 0x02, 0xA2, 0x9B, 0xBE, 0x90, 0x43,
1733 	0x4F, 0x2F, 0x50, 0xE2, 0x77, 0x62, 0xD9, 0xCC
1734 };
1735 
1736 /** AES-192-CBC test vector */
1737 static const struct blockcipher_test_data aes_test_data_10 = {
1738 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1739 	.cipher_key = {
1740 		.data = {
1741 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1742 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
1743 			0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
1744 		},
1745 		.len = 24
1746 	},
1747 	.iv = {
1748 		.data = {
1749 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1750 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1751 		},
1752 		.len = 16
1753 	},
1754 	.plaintext = {
1755 		.data = plaintext_aes_common,
1756 		.len = 512
1757 	},
1758 	.ciphertext = {
1759 		.data = ciphertext512_aes192cbc,
1760 		.len = 512
1761 	}
1762 };
1763 
1764 static const uint8_t ciphertext512_aes256cbc[] = {
1765 	0xF3, 0xDD, 0xF0, 0x0B, 0xFF, 0xA2, 0x6A, 0x04,
1766 	0xBE, 0xDA, 0x52, 0xA6, 0xFE, 0x6B, 0xA6, 0xA7,
1767 	0x48, 0x1D, 0x7D, 0x98, 0x65, 0xDB, 0xEF, 0x06,
1768 	0x26, 0xB5, 0x8E, 0xEB, 0x05, 0x0E, 0x77, 0x98,
1769 	0x17, 0x8E, 0xD0, 0xD4, 0x7B, 0x92, 0x8F, 0x5C,
1770 	0xD0, 0x74, 0x5C, 0xA8, 0x4B, 0x54, 0xB6, 0x2F,
1771 	0x83, 0x72, 0x2C, 0xFF, 0x72, 0xE9, 0xE4, 0x15,
1772 	0x4C, 0x32, 0xAF, 0xC8, 0xC9, 0x89, 0x3C, 0x6E,
1773 	0x31, 0xD5, 0xC0, 0x16, 0xC0, 0x31, 0x7D, 0x11,
1774 	0xAB, 0xCB, 0xDE, 0xD2, 0xD6, 0xAA, 0x76, 0x5E,
1775 	0xBA, 0xF6, 0xE2, 0x92, 0xCB, 0x86, 0x07, 0xFA,
1776 	0xD4, 0x9E, 0x83, 0xED, 0xFD, 0xB8, 0x70, 0x54,
1777 	0x6B, 0xBE, 0xEC, 0x72, 0xDD, 0x28, 0x5E, 0x95,
1778 	0x78, 0xA5, 0x28, 0x43, 0x3D, 0x6D, 0xB1, 0xD9,
1779 	0x69, 0x1F, 0xC9, 0x66, 0x0E, 0x32, 0x44, 0x08,
1780 	0xD2, 0xAE, 0x2C, 0x43, 0xF2, 0xD0, 0x7D, 0x26,
1781 	0x70, 0xE5, 0xA1, 0xCA, 0x37, 0xE9, 0x7D, 0xC7,
1782 	0xA3, 0xFA, 0x81, 0x91, 0x64, 0xAA, 0x64, 0x91,
1783 	0x9A, 0x95, 0x2D, 0xC9, 0xF9, 0xCE, 0xFE, 0x9F,
1784 	0xC4, 0xD8, 0x81, 0xBE, 0x57, 0x84, 0xC5, 0x02,
1785 	0xDB, 0x30, 0xC1, 0xD9, 0x0E, 0xA0, 0xA6, 0x00,
1786 	0xD6, 0xF3, 0x52, 0x7E, 0x0D, 0x23, 0x6B, 0x2B,
1787 	0x34, 0x99, 0x1F, 0x70, 0x27, 0x6D, 0x58, 0x84,
1788 	0x93, 0x77, 0xB8, 0x3E, 0xF1, 0x71, 0x58, 0x42,
1789 	0x8B, 0x2B, 0xC8, 0x6D, 0x05, 0x84, 0xFF, 0x4E,
1790 	0x85, 0xEF, 0x4A, 0x9D, 0x91, 0x6A, 0xD5, 0xE1,
1791 	0xAF, 0x01, 0xEB, 0x83, 0x8F, 0x23, 0x7C, 0x7F,
1792 	0x12, 0x91, 0x05, 0xF0, 0x4E, 0xD9, 0x17, 0x62,
1793 	0x75, 0xBB, 0xAC, 0x97, 0xEE, 0x3B, 0x4E, 0xC7,
1794 	0xE5, 0x92, 0xF8, 0x9D, 0x4C, 0xF9, 0xEE, 0x55,
1795 	0x18, 0xBB, 0xCC, 0xB4, 0xF2, 0x59, 0xB9, 0xFC,
1796 	0x7A, 0x0F, 0x98, 0xD4, 0x8B, 0xFE, 0xF7, 0x83,
1797 	0x46, 0xE2, 0x83, 0x33, 0x3E, 0x95, 0x8D, 0x17,
1798 	0x1E, 0x85, 0xF8, 0x8C, 0x51, 0xB0, 0x6C, 0xB5,
1799 	0x5E, 0x95, 0xBA, 0x4B, 0x69, 0x1B, 0x48, 0x69,
1800 	0x0B, 0x8F, 0xA5, 0x18, 0x13, 0xB9, 0x77, 0xD1,
1801 	0x80, 0x32, 0x32, 0x6D, 0x53, 0xA1, 0x95, 0x40,
1802 	0x96, 0x8A, 0xCC, 0xA3, 0x69, 0xF8, 0x9F, 0xB5,
1803 	0x8E, 0xD2, 0x68, 0x07, 0x4F, 0xA7, 0xEC, 0xF8,
1804 	0x20, 0x21, 0x58, 0xF8, 0xD8, 0x9E, 0x5F, 0x40,
1805 	0xBA, 0xB9, 0x76, 0x57, 0x3B, 0x17, 0xAD, 0xEE,
1806 	0xCB, 0xDF, 0x07, 0xC1, 0xDF, 0x66, 0xA8, 0x0D,
1807 	0xC2, 0xCE, 0x8F, 0x79, 0xC3, 0x32, 0xE0, 0x8C,
1808 	0xFE, 0x5A, 0xF3, 0x55, 0x27, 0x73, 0x6F, 0xA1,
1809 	0x54, 0xC6, 0xFC, 0x28, 0x9D, 0xBE, 0x97, 0xB9,
1810 	0x54, 0x97, 0x72, 0x3A, 0x61, 0xAF, 0x6F, 0xDE,
1811 	0xF8, 0x0E, 0xBB, 0x6B, 0x96, 0x84, 0xDD, 0x9B,
1812 	0x62, 0xBA, 0x47, 0xB5, 0xC9, 0x3B, 0x4E, 0x8C,
1813 	0x78, 0x2A, 0xCC, 0x0A, 0x69, 0x54, 0x25, 0x5E,
1814 	0x8B, 0xAC, 0x56, 0xD9, 0xFE, 0x48, 0xBA, 0xCE,
1815 	0xA9, 0xCE, 0xA6, 0x1D, 0xBF, 0x3E, 0x3C, 0x66,
1816 	0x40, 0x71, 0x79, 0xAD, 0x5B, 0x26, 0xAD, 0xBE,
1817 	0x58, 0x13, 0x64, 0x60, 0x7C, 0x05, 0xFC, 0xE3,
1818 	0x51, 0x7A, 0xF2, 0xCC, 0x54, 0x16, 0x2C, 0xA4,
1819 	0xCE, 0x5F, 0x59, 0x12, 0x77, 0xEB, 0xD9, 0x23,
1820 	0xE3, 0x86, 0xFB, 0xD7, 0x48, 0x76, 0x9D, 0xE3,
1821 	0x89, 0x87, 0x39, 0xFA, 0x7B, 0x21, 0x0B, 0x76,
1822 	0xB2, 0xED, 0x1C, 0x27, 0x4B, 0xD5, 0x27, 0x05,
1823 	0x8C, 0x7D, 0x58, 0x6C, 0xCA, 0xA5, 0x54, 0x9A,
1824 	0x0F, 0xCB, 0xE9, 0x88, 0x31, 0xAD, 0x49, 0xEE,
1825 	0x38, 0xFB, 0xC9, 0xFB, 0xB4, 0x7A, 0x00, 0x58,
1826 	0x20, 0x32, 0xD3, 0x53, 0x5A, 0xDD, 0x74, 0x95,
1827 	0x60, 0x59, 0x09, 0xAE, 0x7E, 0xEC, 0x74, 0xA3,
1828 	0xB7, 0x1C, 0x6D, 0xF2, 0xAE, 0x79, 0xA4, 0x7C
1829 };
1830 
1831 /** AES-256-CBC test vector */
1832 static const struct blockcipher_test_data aes_test_data_11 = {
1833 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1834 	.cipher_key = {
1835 		.data = {
1836 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1837 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
1838 			0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0,
1839 			0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D
1840 		},
1841 		.len = 32
1842 	},
1843 	.iv = {
1844 		.data = {
1845 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1846 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1847 		},
1848 		.len = 16
1849 	},
1850 	.plaintext = {
1851 		.data = plaintext_aes_common,
1852 		.len = 512
1853 	},
1854 	.ciphertext = {
1855 		.data = ciphertext512_aes256cbc,
1856 		.len = 512
1857 	}
1858 };
1859 
1860 /** AES-128-CBC SHA256 HMAC test vector (160 bytes) */
1861 static const struct blockcipher_test_data aes_test_data_12 = {
1862 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1863 	.cipher_key = {
1864 		.data = {
1865 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1866 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1867 		},
1868 		.len = 16
1869 	},
1870 	.iv = {
1871 		.data = {
1872 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1873 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1874 		},
1875 		.len = 16
1876 	},
1877 	.plaintext = {
1878 		.data = plaintext_aes_common,
1879 		.len = 160
1880 	},
1881 	.ciphertext = {
1882 		.data = ciphertext512_aes128cbc,
1883 		.len = 160
1884 	},
1885 	.auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
1886 	.auth_key = {
1887 		.data = {
1888 			0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1889 			0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1890 			0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
1891 			0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
1892 		},
1893 		.len = 32
1894 	},
1895 	.digest = {
1896 		.data = {
1897 			0x92, 0xEC, 0x65, 0x9A, 0x52, 0xCC, 0x50, 0xA5,
1898 			0xEE, 0x0E, 0xDF, 0x1E, 0xA4, 0xC9, 0xC1, 0x04,
1899 			0xD5, 0xDC, 0x78, 0x90, 0xF4, 0xE3, 0x35, 0x62,
1900 			0xAD, 0x95, 0x45, 0x28, 0x5C, 0xF8, 0x8C, 0x0B
1901 		},
1902 		.len = 32,
1903 		.truncated_len = 16
1904 	}
1905 };
1906 
1907 /** AES-128-CBC SHA1 HMAC test vector (160 bytes) */
1908 static const struct blockcipher_test_data aes_test_data_13 = {
1909 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1910 	.cipher_key = {
1911 		.data = {
1912 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1913 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1914 		},
1915 		.len = 16
1916 	},
1917 	.iv = {
1918 		.data = {
1919 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1920 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1921 		},
1922 		.len = 16
1923 	},
1924 	.plaintext = {
1925 		.data = plaintext_aes_common,
1926 		.len = 160
1927 	},
1928 	.ciphertext = {
1929 		.data = ciphertext512_aes128cbc,
1930 		.len = 160
1931 	},
1932 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1933 	.auth_key = {
1934 		.data = {
1935 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1936 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1937 			0xDE, 0xF4, 0xDE, 0xAD
1938 		},
1939 		.len = 20
1940 	},
1941 	.digest = {
1942 		.data = {
1943 			0x4F, 0x16, 0xEA, 0xF7, 0x4A, 0x88, 0xD3, 0xE0,
1944 			0x0E, 0x12, 0x8B, 0xE7, 0x05, 0xD0, 0x86, 0x48,
1945 			0x22, 0x43, 0x30, 0xA7
1946 		},
1947 		.len = 20,
1948 		.truncated_len = 12
1949 	}
1950 };
1951 
1952 /** XTS-AES-128 test vector (2 keys * 128 bit) */
1953 static const uint8_t plaintext_aes128xts_16bytes[] = {
1954 	0xEB, 0xAB, 0xCE, 0x95, 0xB1, 0x4D, 0x3C, 0x8D,
1955 	0x6F, 0xB3, 0x50, 0x39, 0x07, 0x90, 0x31, 0x1C
1956 };
1957 static const uint8_t ciphertext_aes128xts_16bytes[] = {
1958 	0x77, 0x8A, 0xE8, 0xB4, 0x3C, 0xB9, 0x8D, 0x5A,
1959 	0x82, 0x50, 0x81, 0xD5, 0xBE, 0x47, 0x1C, 0x63
1960 };
1961 static const struct
1962 blockcipher_test_data aes_test_data_xts_key_32_pt_16 = {
1963 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
1964 	.cipher_key = {
1965 		.data = {
1966 			0xA1, 0xB9, 0x0C, 0xBA, 0x3F, 0x06, 0xAC, 0x35,
1967 			0x3B, 0x2C, 0x34, 0x38, 0x76, 0x08, 0x17, 0x62,
1968 			0x09, 0x09, 0x23, 0x02, 0x6E, 0x91, 0x77, 0x18,
1969 			0x15, 0xF2, 0x9D, 0xAB, 0x01, 0x93, 0x2F, 0x2F
1970 		},
1971 		.len = 32
1972 	},
1973 	.iv = {
1974 		.data = {
1975 			0x4F, 0xAE, 0xF7, 0x11, 0x7C, 0xDA, 0x59, 0xC6,
1976 			0x6E, 0x4B, 0x92, 0x01, 0x3E, 0x76, 0x8A, 0xD5
1977 		},
1978 		.len = 16
1979 	},
1980 	.plaintext = {
1981 		.data = plaintext_aes128xts_16bytes,
1982 		.len = 16
1983 	},
1984 	.ciphertext = {
1985 		.data = ciphertext_aes128xts_16bytes,
1986 		.len = 16
1987 	}
1988 };
1989 static const uint8_t plaintext_aes128xts_32bytes[] = {
1990 	0xB0, 0x4D, 0x84, 0xDA, 0x85, 0x6B, 0x9A, 0x59,
1991 	0xCE, 0x2D, 0x62, 0x67, 0x46, 0xF6, 0x89, 0xA8,
1992 	0x05, 0x1D, 0xAC, 0xD6, 0xBC, 0xE3, 0xB9, 0x90,
1993 	0xAA, 0x90, 0x1E, 0x40, 0x30, 0x64, 0x88, 0x79
1994 };
1995 static const uint8_t ciphertext_aes128xts_32bytes[] = {
1996 	0xF9, 0x41, 0x03, 0x9E, 0xBA, 0xB8, 0xCA, 0xC3,
1997 	0x9D, 0x59, 0x24, 0x7C, 0xBB, 0xCB, 0x4D, 0x81,
1998 	0x6C, 0x72, 0x6D, 0xAE, 0xD1, 0x15, 0x77, 0x69,
1999 	0x2C, 0x55, 0xE4, 0xAC, 0x6D, 0x3E, 0x68, 0x20
2000 };
2001 static const struct
2002 blockcipher_test_data aes_test_data_xts_key_32_pt_32 = {
2003 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
2004 	.cipher_key = {
2005 		.data = {
2006 			0x78, 0x3A, 0x83, 0xEC, 0x52, 0xA2, 0x74, 0x05,
2007 			0xDF, 0xF9, 0xDE, 0x4C, 0x57, 0xF9, 0xC9, 0x79,
2008 			0xB3, 0x60, 0xB6, 0xA5, 0xDF, 0x88, 0xD6, 0x7E,
2009 			0xC1, 0xA0, 0x52, 0xE6, 0xF5, 0x82, 0xA7, 0x17
2010 		},
2011 		.len = 32
2012 	},
2013 	.iv = {
2014 		.data = {
2015 			0x88, 0x6E, 0x97, 0x5B, 0x29, 0xBD, 0xF6, 0xF0,
2016 			0xC0, 0x1B, 0xB4, 0x7F, 0x61, 0xF6, 0xF0, 0xF5
2017 		},
2018 		.len = 16
2019 	},
2020 	.plaintext = {
2021 		.data = plaintext_aes128xts_32bytes,
2022 		.len = 32
2023 	},
2024 	.ciphertext = {
2025 		.data = ciphertext_aes128xts_32bytes,
2026 		.len = 32
2027 	}
2028 };
2029 
2030 /** XTS-AES-256 test vector (2 keys * 256 bit) */
2031 /* Encryption */
2032 static const uint8_t plaintext_aes256xts_32bytes[] = {
2033 	0x2E, 0xED, 0xEA, 0x52, 0xCD, 0x82, 0x15, 0xE1,
2034 	0xAC, 0xC6, 0x47, 0xE8, 0x10, 0xBB, 0xC3, 0x64,
2035 	0x2E, 0x87, 0x28, 0x7F, 0x8D, 0x2E, 0x57, 0xE3,
2036 	0x6C, 0x0A, 0x24, 0xFB, 0xC1, 0x2A, 0x20, 0x2E
2037 };
2038 static const uint8_t ciphertext_aes256xts_32bytes[] = {
2039 	0xCB, 0xAA, 0xD0, 0xE2, 0xF6, 0xCE, 0xA3, 0xF5,
2040 	0x0B, 0x37, 0xF9, 0x34, 0xD4, 0x6A, 0x9B, 0x13,
2041 	0x0B, 0x9D, 0x54, 0xF0, 0x7E, 0x34, 0xF3, 0x6A,
2042 	0xF7, 0x93, 0xE8, 0x6F, 0x73, 0xC6, 0xD7, 0xDB
2043 };
2044 static const struct
2045 blockcipher_test_data aes_test_data_xts_key_64_pt_32 = {
2046 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
2047 	.cipher_key = {
2048 		.data = {
2049 			0x1E, 0xA6, 0x61, 0xC5, 0x8D, 0x94, 0x3A, 0x0E,
2050 			0x48, 0x01, 0xE4, 0x2F, 0x4B, 0x09, 0x47, 0x14,
2051 			0x9E, 0x7F, 0x9F, 0x8E, 0x3E, 0x68, 0xD0, 0xC7,
2052 			0x50, 0x52, 0x10, 0xBD, 0x31, 0x1A, 0x0E, 0x7C,
2053 			0xD6, 0xE1, 0x3F, 0xFD, 0xF2, 0x41, 0x8D, 0x8D,
2054 			0x19, 0x11, 0xC0, 0x04, 0xCD, 0xA5, 0x8D, 0xA3,
2055 			0xD6, 0x19, 0xB7, 0xE2, 0xB9, 0x14, 0x1E, 0x58,
2056 			0x31, 0x8E, 0xEA, 0x39, 0x2C, 0xF4, 0x1B, 0x08
2057 		},
2058 		.len = 64
2059 	},
2060 	.iv = {
2061 		.data = {
2062 			0xAD, 0xF8, 0xD9, 0x26, 0x27, 0x46, 0x4A, 0xD2,
2063 			0xF0, 0x42, 0x8E, 0x84, 0xA9, 0xF8, 0x75, 0x64
2064 		},
2065 		.len = 16
2066 	},
2067 	.plaintext = {
2068 		.data = plaintext_aes256xts_32bytes,
2069 		.len = 32
2070 	},
2071 	.ciphertext = {
2072 		.data = ciphertext_aes256xts_32bytes,
2073 		.len = 32
2074 	}
2075 };
2076 static const uint8_t plaintext_aes256xts_48bytes[] = {
2077 	0xBB, 0xB2, 0x34, 0xDB, 0x01, 0xBE, 0x79, 0xD3,
2078 	0xDC, 0x7D, 0xCF, 0x49, 0xBC, 0x53, 0xB8, 0xEF,
2079 	0xC6, 0x2F, 0xE7, 0x17, 0x94, 0x39, 0x06, 0x1D,
2080 	0x73, 0xA6, 0xB2, 0x0E, 0xDB, 0x9B, 0x7D, 0xA0,
2081 	0x45, 0x0B, 0x19, 0xF0, 0x20, 0x82, 0x02, 0x09,
2082 	0xAF, 0xE0, 0x81, 0x12, 0xAE, 0x4A, 0xFD, 0xD3
2083 };
2084 static const uint8_t ciphertext_aes256xts_48bytes[] = {
2085 	0xCB, 0xF6, 0x88, 0x48, 0xC4, 0x20, 0x49, 0xEF,
2086 	0xB1, 0x46, 0xE2, 0xD1, 0xE4, 0x11, 0x5F, 0x62,
2087 	0xE4, 0xFA, 0xA4, 0xEF, 0xFF, 0x19, 0x8F, 0x1A,
2088 	0x0A, 0xA0, 0xC9, 0x8B, 0xA0, 0x2C, 0xC4, 0x4D,
2089 	0xA3, 0x76, 0xD7, 0x62, 0xD6, 0x15, 0x1F, 0x23,
2090 	0x45, 0x87, 0xBF, 0x12, 0x8B, 0x6A, 0x7F, 0xFA
2091 };
2092 static const struct
2093 blockcipher_test_data aes_test_data_xts_key_64_pt_48 = {
2094 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
2095 	.cipher_key = {
2096 		.data = {
2097 			0x7F, 0xB0, 0x92, 0x2F, 0xCE, 0x09, 0xED, 0xDD,
2098 			0x36, 0x65, 0xA1, 0x1F, 0x52, 0x35, 0xD5, 0x1E,
2099 			0xF7, 0x72, 0x06, 0xA7, 0xDE, 0x45, 0x47, 0x75,
2100 			0xB6, 0x9D, 0xCC, 0x54, 0x59, 0xAC, 0xDB, 0x24,
2101 			0xCC, 0xF0, 0x5C, 0x41, 0x5A, 0xF5, 0xAB, 0x8A,
2102 			0x06, 0x62, 0x3D, 0x19, 0x8D, 0x5B, 0x91, 0x85,
2103 			0x95, 0xA9, 0xDC, 0xAA, 0xF5, 0x39, 0x2E, 0xE7,
2104 			0x17, 0xC1, 0x04, 0x7F, 0x2F, 0x08, 0xF6, 0x2B
2105 		},
2106 		.len = 64
2107 	},
2108 	.iv = {
2109 		.data = {
2110 			0x8E, 0xA3, 0x63, 0x8B, 0x9D, 0x40, 0x62, 0xF1,
2111 			0x69, 0x19, 0x6F, 0xF4, 0x55, 0x5A, 0xD0, 0xAF
2112 		},
2113 		.len = 16
2114 	},
2115 	.plaintext = {
2116 		.data = plaintext_aes256xts_48bytes,
2117 		.len = 48
2118 	},
2119 	.ciphertext = {
2120 		.data = ciphertext_aes256xts_48bytes,
2121 		.len = 48
2122 	}
2123 };
2124 
2125 /* AES-DOCSIS-BPI test vectors */
2126 
2127 /* Multiple of AES block size */
2128 static const struct blockcipher_test_data aes_test_data_docsis_1 = {
2129 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
2130 	.cipher_key = {
2131 		.data = {
2132 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2133 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
2134 		},
2135 		.len = 16
2136 	},
2137 	.iv = {
2138 		.data = {
2139 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2140 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2141 		},
2142 		.len = 16
2143 	},
2144 	.plaintext = {
2145 		.data = plaintext_aes_common,
2146 		.len = 512
2147 	},
2148 	.ciphertext = {
2149 		.data = ciphertext512_aes128cbc,
2150 		.len = 512
2151 	}
2152 };
2153 
2154 /* Less than AES block size */
2155 static const struct blockcipher_test_data aes_test_data_docsis_2 = {
2156 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
2157 	.cipher_key = {
2158 		.data = {
2159 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
2160 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
2161 		},
2162 		.len = 16
2163 	},
2164 	.iv = {
2165 		.data = {
2166 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
2167 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
2168 		},
2169 		.len = 16
2170 	},
2171 	.plaintext = {
2172 		.data = plaintext_aes_docsis_bpi_cfb,
2173 		.len = 7
2174 	},
2175 	.ciphertext = {
2176 		.data = ciphertext_aes_docsis_bpi_cfb,
2177 		.len = 7
2178 	}
2179 };
2180 
2181 /* Not multiple of AES block size */
2182 static const struct blockcipher_test_data aes_test_data_docsis_3 = {
2183 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
2184 	.cipher_key = {
2185 		.data = {
2186 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
2187 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
2188 		},
2189 		.len = 16
2190 	},
2191 	.iv = {
2192 		.data = {
2193 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
2194 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
2195 		},
2196 		.len = 16
2197 	},
2198 	.plaintext = {
2199 		.data = plaintext_aes_docsis_bpi_cbc_cfb,
2200 		.len = 19
2201 	},
2202 	.ciphertext = {
2203 		.data = ciphertext_aes_docsis_bpi_cbc_cfb,
2204 		.len = 19
2205 	}
2206 };
2207 
2208 /* Multiple of AES 256 block size */
2209 static const struct blockcipher_test_data aes_test_data_docsis_4 = {
2210 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
2211 	.cipher_key = {
2212 		.data = {
2213 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2214 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
2215 			0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0,
2216 			0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D
2217 		},
2218 		.len = 32
2219 	},
2220 	.iv = {
2221 		.data = {
2222 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2223 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2224 		},
2225 		.len = 16
2226 	},
2227 	.plaintext = {
2228 		.data = plaintext_aes_common,
2229 		.len = 512
2230 	},
2231 	.ciphertext = {
2232 		.data = ciphertext512_aes256cbc,
2233 		.len = 512
2234 	}
2235 };
2236 
2237 /* Less than AES 256 block size */
2238 static const struct blockcipher_test_data aes_test_data_docsis_5 = {
2239 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
2240 	.cipher_key = {
2241 		.data = {
2242 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
2243 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
2244 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
2245 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
2246 		},
2247 		.len = 32
2248 	},
2249 	.iv = {
2250 		.data = {
2251 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
2252 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
2253 		},
2254 		.len = 16
2255 	},
2256 	.plaintext = {
2257 		.data = plaintext_aes_docsis_bpi_cfb,
2258 		.len = 7
2259 	},
2260 	.ciphertext = {
2261 		.data = ciphertext_aes256_docsis_bpi_cfb,
2262 		.len = 7
2263 	}
2264 };
2265 
2266 /* Not multiple of AES 256 block size */
2267 static const struct blockcipher_test_data aes_test_data_docsis_6 = {
2268 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
2269 	.cipher_key = {
2270 		.data = {
2271 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
2272 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
2273 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
2274 			0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
2275 		},
2276 		.len = 32
2277 	},
2278 	.iv = {
2279 		.data = {
2280 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
2281 			0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
2282 		},
2283 		.len = 16
2284 	},
2285 	.plaintext = {
2286 		.data = plaintext_aes_docsis_bpi_cbc_cfb,
2287 		.len = 19
2288 	},
2289 	.ciphertext = {
2290 		.data = ciphertext_aes256_docsis_bpi_cbc_cfb,
2291 		.len = 19
2292 	}
2293 };
2294 
2295 static const uint8_t
2296 cipher_aescbc_offset_16[] = {
2297 	0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C,
2298 	0x6F, 0x75, 0x73, 0x79, 0x20, 0x65, 0x61, 0x72,
2299 	0x68, 0x2A, 0x6A, 0x82, 0xE0, 0x73, 0xC7, 0x51,
2300 	0x81, 0xF4, 0x47, 0x27, 0x1A, 0xEF, 0x76, 0x15,
2301 	0x1C, 0xE1, 0x38, 0x5F, 0xE1, 0x81, 0x77, 0xC7,
2302 	0x8B, 0xF0, 0x69, 0xC3, 0x3C, 0x45, 0x1C, 0x0A,
2303 	0xA3, 0x93, 0xBF, 0x60, 0x57, 0x88, 0xD2, 0xFF,
2304 	0xE1, 0x8F, 0xC0, 0x64, 0x2C, 0x42, 0xC5, 0x22,
2305 	0xE3, 0x5F, 0x71, 0x1F, 0xF7, 0x62, 0xA2, 0x7E,
2306 	0x0D, 0x42, 0xD9, 0xE7, 0xF3, 0x10, 0xB0, 0xEE,
2307 };
2308 
2309 /** AES-128-CBC SHA1 OOP test vector for swapping src/dst */
2310 static const struct blockcipher_test_data aes_test_data_14 = {
2311 	.crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
2312 	.cipher_key = {
2313 		.data = {
2314 			0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
2315 			0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
2316 		},
2317 		.len = 16
2318 	},
2319 	.iv = {
2320 		.data = {
2321 			0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
2322 			0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
2323 		},
2324 		.len = 16
2325 	},
2326 	.plaintext = {
2327 		.data = plaintext_aes_common,
2328 		.len = 80
2329 	},
2330 	.cipher_offset = 16,
2331 	.auth_offset = 0,
2332 	.ciphertext = {
2333 		.data = cipher_aescbc_offset_16,
2334 		.len = 80
2335 	},
2336 	.auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
2337 	.auth_key = {
2338 		.data = {
2339 			0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
2340 			0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
2341 			0xDE, 0xF4, 0xDE, 0xAD
2342 		},
2343 		.len = 20
2344 	},
2345 	.digest = {
2346 		.data = {
2347 			0xCC, 0x15, 0x83, 0xF7, 0x23, 0x87, 0x96, 0xA7,
2348 			0x29, 0x34, 0x32, 0xE4, 0x4C, 0x06, 0xE8, 0xEB,
2349 			0x70, 0x72, 0x4B, 0xAD
2350 		},
2351 		.len = 20,
2352 		.truncated_len = 12
2353 	}
2354 };
2355 
2356 static const struct blockcipher_test_case aes_chain_test_cases[] = {
2357 	{
2358 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
2359 			"Verify OOP Offset",
2360 		.test_data = &aes_test_data_14,
2361 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2362 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2363 	},
2364 		{
2365 		.test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest",
2366 		.test_data = &aes_test_data_1,
2367 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2368 	},
2369 	{
2370 		.test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest "
2371 			"Verify",
2372 		.test_data = &aes_test_data_1,
2373 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2374 	},
2375 	{
2376 		.test_descr = "AES-192-CTR XCBC Encryption Digest",
2377 		.test_data = &aes_test_data_2,
2378 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2379 	},
2380 	{
2381 		.test_descr = "AES-192-CTR XCBC Decryption Digest Verify",
2382 		.test_data = &aes_test_data_2,
2383 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2384 	},
2385 	{
2386 		.test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
2387 				"Scatter Gather",
2388 		.test_data = &aes_test_data_2,
2389 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2390 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
2391 			BLOCKCIPHER_TEST_FEATURE_OOP,
2392 	},
2393 	{
2394 		.test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest",
2395 		.test_data = &aes_test_data_3,
2396 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2397 	},
2398 	{
2399 		.test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest "
2400 			"Verify",
2401 		.test_data = &aes_test_data_3,
2402 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2403 	},
2404 	{
2405 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest",
2406 		.test_data = &aes_test_data_4,
2407 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2408 	},
2409 	{
2410 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
2411 			"(short buffers)",
2412 		.test_data = &aes_test_data_13,
2413 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2414 	},
2415 	{
2416 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
2417 				"Scatter Gather",
2418 		.test_data = &aes_test_data_4,
2419 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2420 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
2421 			BLOCKCIPHER_TEST_FEATURE_OOP,
2422 	},
2423 	{
2424 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
2425 			"Verify",
2426 		.test_data = &aes_test_data_4,
2427 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2428 	},
2429 	{
2430 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
2431 			"Verify Scatter Gather",
2432 		.test_data = &aes_test_data_4,
2433 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2434 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
2435 	},
2436 	{
2437 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
2438 			"Verify (short buffers)",
2439 		.test_data = &aes_test_data_13,
2440 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2441 	},
2442 	{
2443 		.test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest",
2444 		.test_data = &aes_test_data_5,
2445 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2446 	},
2447 	{
2448 		.test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest "
2449 			"(short buffers)",
2450 		.test_data = &aes_test_data_12,
2451 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2452 	},
2453 	{
2454 		.test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
2455 			"Verify",
2456 		.test_data = &aes_test_data_5,
2457 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2458 	},
2459 	{
2460 		.test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
2461 			"Verify (short buffers)",
2462 		.test_data = &aes_test_data_12,
2463 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2464 	},
2465 	{
2466 		.test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest",
2467 		.test_data = &aes_test_data_6,
2468 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2469 	},
2470 	{
2471 		.test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
2472 			"Sessionless",
2473 		.test_data = &aes_test_data_6,
2474 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2475 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
2476 	},
2477 	{
2478 		.test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
2479 				"Scatter Gather Sessionless",
2480 		.test_data = &aes_test_data_6,
2481 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2482 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
2483 			BLOCKCIPHER_TEST_FEATURE_SG |
2484 			BLOCKCIPHER_TEST_FEATURE_OOP,
2485 	},
2486 	{
2487 		.test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
2488 			"Verify",
2489 		.test_data = &aes_test_data_6,
2490 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2491 	},
2492 	{
2493 		.test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
2494 			"Verify Scatter Gather",
2495 		.test_data = &aes_test_data_6,
2496 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2497 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
2498 			BLOCKCIPHER_TEST_FEATURE_OOP,
2499 	},
2500 	{
2501 		.test_descr = "AES-128-CBC XCBC Encryption Digest",
2502 		.test_data = &aes_test_data_7,
2503 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2504 	},
2505 	{
2506 		.test_descr = "AES-128-CBC XCBC Decryption Digest Verify",
2507 		.test_data = &aes_test_data_7,
2508 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2509 	},
2510 	{
2511 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
2512 			"OOP",
2513 		.test_data = &aes_test_data_4,
2514 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2515 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2516 	},
2517 	{
2518 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
2519 			"OOP Offset",
2520 		.test_data = &aes_test_data_14,
2521 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2522 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2523 	},
2524 	{
2525 		.test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
2526 			"Verify OOP",
2527 		.test_data = &aes_test_data_4,
2528 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2529 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2530 	},
2531 	{
2532 		.test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest",
2533 		.test_data = &aes_test_data_8,
2534 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2535 	},
2536 	{
2537 		.test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest "
2538 			"Verify",
2539 		.test_data = &aes_test_data_8,
2540 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2541 	},
2542 	{
2543 		.test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest",
2544 		.test_data = &aes_test_data_9,
2545 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2546 	},
2547 	{
2548 		.test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest "
2549 			"Verify",
2550 		.test_data = &aes_test_data_9,
2551 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2552 	},
2553 	{
2554 		.test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
2555 				"Sessionless",
2556 		.test_data = &aes_test_data_4,
2557 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2558 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
2559 	},
2560 	{
2561 		.test_descr =
2562 				"AES-128-CBC HMAC-SHA1 Decryption Digest "
2563 				"Verify Sessionless",
2564 		.test_data = &aes_test_data_4,
2565 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2566 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
2567 	},
2568 	{
2569 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte",
2570 		.test_data = &null_test_data_chain_x8_multiple,
2571 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2572 	},
2573 	{
2574 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte",
2575 		.test_data = &null_test_data_chain_x8_multiple,
2576 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2577 	},
2578 	{
2579 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte - OOP",
2580 		.test_data = &null_test_data_chain_x8_multiple,
2581 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2582 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2583 	},
2584 	{
2585 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte - OOP",
2586 		.test_data = &null_test_data_chain_x8_multiple,
2587 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2588 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2589 	},
2590 	{
2591 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte",
2592 		.test_data = &null_test_data_chain_x4_multiple,
2593 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2594 	},
2595 	{
2596 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte",
2597 		.test_data = &null_test_data_chain_x4_multiple,
2598 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2599 	},
2600 	{
2601 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte - OOP",
2602 		.test_data = &null_test_data_chain_x4_multiple,
2603 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2604 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2605 	},
2606 	{
2607 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte - OOP",
2608 		.test_data = &null_test_data_chain_x4_multiple,
2609 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2610 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2611 	},
2612 	{
2613 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte",
2614 		.test_data = &null_test_data_chain_x1_multiple,
2615 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2616 	},
2617 	{
2618 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte",
2619 		.test_data = &null_test_data_chain_x1_multiple,
2620 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2621 	},
2622 	{
2623 		.test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte - OOP",
2624 		.test_data = &null_test_data_chain_x1_multiple,
2625 		.op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2626 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2627 	},
2628 	{
2629 		.test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte - OOP",
2630 		.test_data = &null_test_data_chain_x1_multiple,
2631 		.op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2632 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2633 	},
2634 };
2635 
2636 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
2637 	{
2638 		.test_descr = "AES-128-CBC Encryption",
2639 		.test_data = &aes_test_data_4,
2640 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2641 	},
2642 	{
2643 		.test_descr = "AES-128-CBC Decryption",
2644 		.test_data = &aes_test_data_4,
2645 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2646 	},
2647 	{
2648 		.test_descr = "AES-192-CBC Encryption",
2649 		.test_data = &aes_test_data_10,
2650 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2651 	},
2652 	{
2653 		.test_descr = "AES-192-CBC Encryption Scater gather",
2654 		.test_data = &aes_test_data_10,
2655 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2656 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
2657 			BLOCKCIPHER_TEST_FEATURE_OOP,
2658 	},
2659 	{
2660 		.test_descr = "AES-192-CBC Decryption",
2661 		.test_data = &aes_test_data_10,
2662 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2663 	},
2664 	{
2665 		.test_descr = "AES-192-CBC Decryption Scatter Gather",
2666 		.test_data = &aes_test_data_10,
2667 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2668 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
2669 	},
2670 	{
2671 		.test_descr = "AES-256-CBC Encryption",
2672 		.test_data = &aes_test_data_11,
2673 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2674 	},
2675 	{
2676 		.test_descr = "AES-256-CBC Decryption",
2677 		.test_data = &aes_test_data_11,
2678 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2679 	},
2680 	{
2681 		.test_descr = "AES-256-CBC OOP Encryption",
2682 		.test_data = &aes_test_data_11,
2683 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2684 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2685 	},
2686 	{
2687 		.test_descr = "AES-256-CBC OOP Decryption",
2688 		.test_data = &aes_test_data_11,
2689 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2690 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2691 	},
2692 	{
2693 		.test_descr = "AES-128-CTR Encryption",
2694 		.test_data = &aes_test_data_1,
2695 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2696 	},
2697 	{
2698 		.test_descr = "AES-128-CTR Decryption",
2699 		.test_data = &aes_test_data_1,
2700 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2701 	},
2702 	{
2703 		.test_descr = "AES-192-CTR Encryption",
2704 		.test_data = &aes_test_data_2,
2705 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2706 	},
2707 	{
2708 		.test_descr = "AES-192-CTR Decryption",
2709 		.test_data = &aes_test_data_2,
2710 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2711 	},
2712 	{
2713 		.test_descr = "AES-256-CTR Encryption",
2714 		.test_data = &aes_test_data_3,
2715 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2716 	},
2717 	{
2718 		.test_descr = "AES-256-CTR Decryption",
2719 		.test_data = &aes_test_data_3,
2720 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2721 	},
2722 	{
2723 		.test_descr = "AES-128-CTR Encryption (12-byte IV)",
2724 		.test_data = &aes_test_data_1_IV_12_bytes,
2725 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2726 	},
2727 	{
2728 		.test_descr = "AES-192-CTR Encryption (12-byte IV)",
2729 		.test_data = &aes_test_data_2_IV_12_bytes,
2730 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2731 	},
2732 	{
2733 		.test_descr = "AES-256-CTR Encryption (12-byte IV)",
2734 		.test_data = &aes_test_data_3_IV_12_bytes,
2735 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2736 	},
2737 	{
2738 		.test_descr = "AES-128-XTS Encryption (16-byte plaintext)",
2739 		.test_data = &aes_test_data_xts_key_32_pt_16,
2740 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2741 	},
2742 	{
2743 		.test_descr = "AES-128-XTS Decryption (16-byte plaintext)",
2744 		.test_data = &aes_test_data_xts_key_32_pt_16,
2745 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2746 	},
2747 	{
2748 		.test_descr = "AES-128-XTS Encryption (32-byte plaintext)",
2749 		.test_data = &aes_test_data_xts_key_32_pt_32,
2750 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2751 	},
2752 	{
2753 		.test_descr = "AES-128-XTS Decryption (32-byte plaintext)",
2754 		.test_data = &aes_test_data_xts_key_32_pt_32,
2755 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2756 	},
2757 	{
2758 		.test_descr = "AES-256-XTS Encryption (32-byte plaintext)",
2759 		.test_data = &aes_test_data_xts_key_64_pt_32,
2760 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2761 	},
2762 	{
2763 		.test_descr = "AES-256-XTS Decryption (32-byte plaintext)",
2764 		.test_data = &aes_test_data_xts_key_64_pt_32,
2765 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2766 	},
2767 	{
2768 		.test_descr = "AES-256-XTS Encryption (48-byte plaintext)",
2769 		.test_data = &aes_test_data_xts_key_64_pt_48,
2770 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2771 	},
2772 	{
2773 		.test_descr = "AES-256-XTS Decryption (48-byte plaintext)",
2774 		.test_data = &aes_test_data_xts_key_64_pt_48,
2775 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2776 	},
2777 	{
2778 		.test_descr = "cipher-only - NULL algo - x8 - encryption",
2779 		.test_data = &null_test_data_chain_x8_multiple,
2780 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2781 	},
2782 	{
2783 		.test_descr = "cipher-only - NULL algo - x8 - decryption",
2784 		.test_data = &null_test_data_chain_x8_multiple,
2785 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2786 	},
2787 	{
2788 		.test_descr = "cipher-only - NULL algo - x4 - encryption",
2789 		.test_data = &null_test_data_chain_x4_multiple,
2790 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2791 	},
2792 	{
2793 		.test_descr = "cipher-only - NULL algo - x4 - decryption",
2794 		.test_data = &null_test_data_chain_x4_multiple,
2795 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2796 	},
2797 	{
2798 		.test_descr = "cipher-only - NULL algo - x4 - encryption - OOP",
2799 		.test_data = &null_test_data_chain_x4_multiple,
2800 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2801 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2802 	},
2803 	{
2804 		.test_descr = "cipher-only - NULL algo - x4 - decryption - OOP",
2805 		.test_data = &null_test_data_chain_x4_multiple,
2806 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2807 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2808 		},
2809 	{
2810 		.test_descr = "cipher-only - NULL algo - x1 - encryption",
2811 		.test_data = &null_test_data_chain_x1_multiple,
2812 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2813 	},
2814 	{
2815 		.test_descr = "cipher-only - NULL algo - x1 - decryption",
2816 		.test_data = &null_test_data_chain_x1_multiple,
2817 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2818 	},
2819 	{
2820 		.test_descr = "AES-128-ECB Encryption",
2821 		.test_data = &aes_test_data_15,
2822 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2823 	},
2824 	{
2825 		.test_descr = "AES-128-ECB Decryption",
2826 		.test_data = &aes_test_data_15,
2827 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2828 	},
2829 	{
2830 		.test_descr = "AES-192-ECB Encryption",
2831 		.test_data = &aes_test_data_16,
2832 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2833 	},
2834 	{
2835 		.test_descr = "AES-192-ECB Decryption",
2836 		.test_data = &aes_test_data_16,
2837 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2838 	},
2839 	{
2840 		.test_descr = "AES-256-ECB Encryption",
2841 		.test_data = &aes_test_data_17,
2842 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2843 	},
2844 	{
2845 		.test_descr = "AES-256-ECB Decryption",
2846 		.test_data = &aes_test_data_17,
2847 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2848 	},
2849 	{
2850 		.test_descr = "AES-128-ECB Encryption (128-byte plaintext)",
2851 		.test_data = &aes_test_data_18,
2852 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2853 	},
2854 	{
2855 		.test_descr = "AES-128-ECB Decryption (128-byte plaintext)",
2856 		.test_data = &aes_test_data_18,
2857 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2858 	},
2859 	{
2860 		.test_descr = "AES-192-ECB Encryption (192-byte plaintext)",
2861 		.test_data = &aes_test_data_19,
2862 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2863 	},
2864 	{
2865 		.test_descr = "AES-192-ECB Decryption (192-byte plaintext)",
2866 		.test_data = &aes_test_data_19,
2867 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2868 	},
2869 	{
2870 		.test_descr = "AES-256-ECB Encryption (256-byte plaintext)",
2871 		.test_data = &aes_test_data_20,
2872 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2873 	},
2874 	{
2875 		.test_descr = "AES-256-ECB Decryption (192-byte plaintext)",
2876 		.test_data = &aes_test_data_20,
2877 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2878 	},
2879 	{
2880 		.test_descr = "AES-128-ECB Encryption (1008-byte plaintext)",
2881 		.test_data = &aes_test_data_21,
2882 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2883 	},
2884 	{
2885 		.test_descr = "AES-128-ECB Decryption (1008-byte plaintext)",
2886 		.test_data = &aes_test_data_21,
2887 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2888 	},
2889 };
2890 
2891 static const struct blockcipher_test_case aes_docsis_test_cases[] = {
2892 
2893 	{
2894 		.test_descr = "AES-DOCSIS-BPI Full Block Encryption",
2895 		.test_data = &aes_test_data_docsis_1,
2896 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2897 	},
2898 	{
2899 		.test_descr = "AES-DOCSIS-BPI Runt Block Encryption",
2900 		.test_data = &aes_test_data_docsis_2,
2901 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2902 	},
2903 	{
2904 		.test_descr = "AES-DOCSIS-BPI Uneven Encryption",
2905 		.test_data = &aes_test_data_docsis_3,
2906 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2907 	},
2908 	{
2909 		.test_descr = "AES-DOCSIS-BPI Full Block Decryption",
2910 		.test_data = &aes_test_data_docsis_1,
2911 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2912 	},
2913 	{
2914 		.test_descr = "AES-DOCSIS-BPI Runt Block Decryption",
2915 		.test_data = &aes_test_data_docsis_2,
2916 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2917 	},
2918 	{
2919 		.test_descr = "AES-DOCSIS-BPI Uneven Decryption",
2920 		.test_data = &aes_test_data_docsis_3,
2921 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2922 	},
2923 	{
2924 		.test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption",
2925 		.test_data = &aes_test_data_docsis_1,
2926 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2927 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2928 	},
2929 	{
2930 		.test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption",
2931 		.test_data = &aes_test_data_docsis_2,
2932 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2933 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2934 	},
2935 
2936 	{
2937 		.test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption",
2938 		.test_data = &aes_test_data_docsis_3,
2939 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2940 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2941 	},
2942 	{
2943 		.test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption",
2944 		.test_data = &aes_test_data_docsis_1,
2945 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2946 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2947 	},
2948 	{
2949 		.test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption",
2950 		.test_data = &aes_test_data_docsis_2,
2951 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2952 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2953 	},
2954 	{
2955 		.test_descr = "AES-DOCSIS-BPI OOP Uneven Block Decryption",
2956 		.test_data = &aes_test_data_docsis_3,
2957 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2958 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2959 	},
2960 	/* AES 256 */
2961 	{
2962 		.test_descr = "AES-256-DOCSIS-BPI Full Block Encryption",
2963 		.test_data = &aes_test_data_docsis_4,
2964 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2965 	},
2966 	{
2967 		.test_descr = "AES-256-DOCSIS-BPI Runt Block Encryption",
2968 		.test_data = &aes_test_data_docsis_5,
2969 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2970 	},
2971 	{
2972 		.test_descr = "AES-256-DOCSIS-BPI Uneven Encryption",
2973 		.test_data = &aes_test_data_docsis_6,
2974 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2975 	},
2976 	{
2977 		.test_descr = "AES-256-DOCSIS-BPI Full Block Decryption",
2978 		.test_data = &aes_test_data_docsis_4,
2979 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2980 	},
2981 	{
2982 		.test_descr = "AES-256-DOCSIS-BPI Runt Block Decryption",
2983 		.test_data = &aes_test_data_docsis_5,
2984 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2985 	},
2986 	{
2987 		.test_descr = "AES-256-DOCSIS-BPI Uneven Decryption",
2988 		.test_data = &aes_test_data_docsis_6,
2989 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2990 	},
2991 	{
2992 		.test_descr = "AES-256-DOCSIS-BPI OOP Full Block Encryption",
2993 		.test_data = &aes_test_data_docsis_4,
2994 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2995 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2996 	},
2997 	{
2998 		.test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Encryption",
2999 		.test_data = &aes_test_data_docsis_5,
3000 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
3001 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
3002 	},
3003 	{
3004 		.test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Encryption",
3005 		.test_data = &aes_test_data_docsis_6,
3006 		.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
3007 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
3008 	},
3009 	{
3010 		.test_descr = "AES-256-DOCSIS-BPI OOP Full Block Decryption",
3011 		.test_data = &aes_test_data_docsis_4,
3012 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
3013 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
3014 	},
3015 	{
3016 		.test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Decryption",
3017 		.test_data = &aes_test_data_docsis_5,
3018 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
3019 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
3020 	},
3021 	{
3022 		.test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Decryption",
3023 		.test_data = &aes_test_data_docsis_6,
3024 		.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
3025 		.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
3026 	},
3027 };
3028 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */
3029