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