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