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