1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2016-2019 Intel Corporation
5 #ifndef TEST_CRYPTODEV_AES_TEST_VECTORS_H_
6 #define TEST_CRYPTODEV_AES_TEST_VECTORS_H_
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
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
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
42 static const uint8_t plaintext_aes_docsis_bpi_cfb[] = {
43 0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E
46 static const uint8_t ciphertext_aes_docsis_bpi_cfb[] = {
47 0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC
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,
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,
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,
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
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
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
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
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
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."
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
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 */
229 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
230 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
234 .iv = { /* arbitrary data - shouldn't be used */
236 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
237 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
242 .data = plaintext_aes_common,
246 .data = plaintext_aes_common,
249 .auth_algo = RTE_CRYPTO_AUTH_NULL,
250 .auth_key = { /* arbitrary data - shouldn't be used */
252 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
253 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
254 0xDE, 0xF4, 0xDE, 0xAD
260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
262 0x00, 0x00, 0x00, 0x00
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 */
274 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
275 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
279 .iv = { /* arbitrary data - shouldn't be used */
281 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
282 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
287 .data = plaintext_aes128ctr,
291 .data = plaintext_aes128ctr,
294 .auth_algo = RTE_CRYPTO_AUTH_NULL,
295 .auth_key = { /* arbitrary data - shouldn't be used */
297 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
298 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
299 0xDE, 0xF4, 0xDE, 0xAD
305 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
307 0x00, 0x00, 0x00, 0x00
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 */
319 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
320 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
324 .iv = { /* arbitrary data - shouldn't be used */
326 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
327 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
332 .data = plaintext_aes128ctr,
336 .data = plaintext_aes128ctr,
339 .auth_algo = RTE_CRYPTO_AUTH_NULL,
340 .auth_key = { /* arbitrary data - shouldn't be used */
342 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
343 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
344 0xDE, 0xF4, 0xDE, 0xAD
350 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
351 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
352 0x00, 0x00, 0x00, 0x00
359 /* AES128-CTR-SHA1 test vector */
360 static const struct blockcipher_test_data aes_test_data_1 = {
361 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
364 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
365 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
371 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
372 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
377 .data = plaintext_aes128ctr,
381 .data = ciphertext64_aes128ctr,
384 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
387 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
388 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
389 0xDE, 0xF4, 0xDE, 0xAD
395 0x9B, 0x6F, 0x0C, 0x43, 0xF5, 0xC1, 0x3E, 0xB0,
396 0xB1, 0x70, 0xB8, 0x2B, 0x33, 0x09, 0xD2, 0xB2,
397 0x56, 0x20, 0xFB, 0xFE
404 /** AES-192-CTR XCBC test vector */
405 static const struct blockcipher_test_data aes_test_data_2 = {
406 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
409 0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
410 0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
411 0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
417 0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
418 0xB8, 0x7A, 0x4B, 0xED, 0x2B, 0xAF, 0xBF, 0x57
423 .data = plaintext_aes192ctr,
427 .data = ciphertext64_aes192ctr,
430 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
433 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
434 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
440 0xCA, 0x33, 0xB3, 0x3B, 0x16, 0x94, 0xAA, 0x55,
441 0x36, 0x6B, 0x45, 0x46
448 /** AES-256-CTR SHA1 test vector */
449 static const struct blockcipher_test_data aes_test_data_3 = {
450 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
453 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
454 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
455 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
456 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
462 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
463 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
468 .data = plaintext_aes256ctr,
472 .data = ciphertext64_aes256ctr,
475 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
478 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
479 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
480 0xDE, 0xF4, 0xDE, 0xAD
486 0x3B, 0x1A, 0x9D, 0x82, 0x35, 0xD5, 0xDD, 0x64,
487 0xCC, 0x1B, 0xA9, 0xC0, 0xEB, 0xE9, 0x42, 0x16,
488 0xE7, 0x87, 0xA3, 0xEF
495 /* AES128-CTR-SHA1 test vector (12-byte IV) */
496 static const struct blockcipher_test_data aes_test_data_1_IV_12_bytes = {
497 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
500 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
501 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
507 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
508 0xF8, 0xF9, 0xFA, 0xFB
513 .data = plaintext_aes128ctr,
517 .data = ciphertext64_aes128ctr_IV_12bytes,
520 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
523 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
524 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
525 0xDE, 0xF4, 0xDE, 0xAD
531 0x5C, 0x34, 0x6B, 0xE4, 0x9A, 0x7F, 0x4A, 0xC3,
532 0x82, 0xBE, 0xA0, 0x12, 0xD1, 0xF0, 0x15, 0xFA,
533 0xCF, 0xC8, 0x7F, 0x60
540 /** AES-192-CTR XCBC test vector (12-byte IV) */
541 static const struct blockcipher_test_data aes_test_data_2_IV_12_bytes = {
542 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
545 0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
546 0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
547 0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
553 0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
554 0xB8, 0x7A, 0x4B, 0xED
559 .data = plaintext_aes192ctr,
563 .data = ciphertext64_aes192ctr_IV_12bytes,
566 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
569 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
570 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
576 0x0C, 0xA1, 0xA5, 0xAF, 0x3E, 0x41, 0xD2, 0xF4,
577 0x4C, 0x4C, 0xAB, 0x13
584 /** AES-256-CTR SHA1 test vector (12-byte IV) */
585 static const struct blockcipher_test_data aes_test_data_3_IV_12_bytes = {
586 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
589 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
590 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
591 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
592 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
598 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
599 0xF8, 0xF9, 0xFA, 0xFB
604 .data = plaintext_aes256ctr,
608 .data = ciphertext64_aes256ctr_IV_12bytes,
611 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
614 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
615 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
616 0xDE, 0xF4, 0xDE, 0xAD
622 0x57, 0x9A, 0x52, 0x6E, 0x31, 0x17, 0x57, 0x49,
623 0xE7, 0xA1, 0x88, 0x6C, 0x2E, 0x36, 0x67, 0x63,
624 0x3F, 0x2D, 0xA3, 0xEF
630 /** AES-128-CBC SHA1 test vector */
631 static const struct blockcipher_test_data aes_test_data_4 = {
632 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
635 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
636 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
642 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
643 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
648 .data = plaintext_aes_common,
652 .data = ciphertext512_aes128cbc,
655 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
658 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
659 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
660 0xDE, 0xF4, 0xDE, 0xAD
666 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60,
667 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
668 0x18, 0x8C, 0x1D, 0x32
675 /** AES-128-CBC SHA256 test vector */
676 static const struct blockcipher_test_data aes_test_data_5 = {
677 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
680 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
681 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
687 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
688 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
693 .data = plaintext_aes_common,
697 .data = ciphertext512_aes128cbc,
700 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
703 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
704 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
705 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
706 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
712 0xC8, 0x57, 0x57, 0x31, 0x03, 0xE0, 0x03, 0x55,
713 0x07, 0xC8, 0x9E, 0x7F, 0x48, 0x9A, 0x61, 0x9A,
714 0x68, 0xEE, 0x03, 0x0E, 0x71, 0x75, 0xC7, 0xF4,
715 0x2E, 0x45, 0x26, 0x32, 0x7C, 0x12, 0x15, 0x15
722 /** AES-128-CBC SHA512 test vector */
723 static const struct blockcipher_test_data aes_test_data_6 = {
724 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
727 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
728 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
734 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
735 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
740 .data = plaintext_aes_common,
744 .data = ciphertext512_aes128cbc,
747 .auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC,
750 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
751 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
752 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
753 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
754 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
755 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
756 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
757 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
763 0x5D, 0x54, 0x66, 0xC1, 0x6E, 0xBC, 0x04, 0xB8,
764 0x46, 0xB8, 0x08, 0x6E, 0xE0, 0xF0, 0x43, 0x48,
765 0x37, 0x96, 0x9C, 0xC6, 0x9C, 0xC2, 0x1E, 0xE8,
766 0xF2, 0x0C, 0x0B, 0xEF, 0x86, 0xA2, 0xE3, 0x70,
767 0x95, 0xC8, 0xB3, 0x06, 0x47, 0xA9, 0x90, 0xE8,
768 0xA0, 0xC6, 0x72, 0x69, 0x05, 0xC0, 0x0D, 0x0E,
769 0x21, 0x96, 0x65, 0x93, 0x74, 0x43, 0x2A, 0x1D,
770 0x2E, 0xBF, 0xC2, 0xC2, 0xEE, 0xCC, 0x2F, 0x0A
777 /** AES-128-CBC XCBC test vector */
778 static const struct blockcipher_test_data aes_test_data_7 = {
779 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
782 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
783 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
789 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
790 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
795 .data = plaintext_aes_common,
799 .data = ciphertext512_aes128cbc,
802 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
805 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
806 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
812 0xE0, 0xAC, 0x9A, 0xC4, 0x22, 0x64, 0x35, 0x89,
813 0x77, 0x1D, 0x8B, 0x75
820 /** AES-128-CBC SHA224 test vector */
821 static const struct blockcipher_test_data aes_test_data_8 = {
822 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
825 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
826 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
832 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
833 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
838 .data = plaintext_aes_common,
842 .data = ciphertext512_aes128cbc,
845 .auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC,
848 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
849 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
850 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
851 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
852 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
853 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
854 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
855 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
861 0xA3, 0xCA, 0xC7, 0x1D, 0xA8, 0x61, 0x30, 0x98,
862 0x3B, 0x8F, 0x01, 0x19, 0xAE, 0x8D, 0xBD, 0x34,
863 0x40, 0x63, 0xA8, 0x2F, 0xDF, 0x85, 0x2B, 0x7F,
864 0x63, 0x7C, 0xDD, 0xB7
871 /** AES-128-CBC SHA384 test vector */
872 static const struct blockcipher_test_data aes_test_data_9 = {
873 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
876 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
877 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
883 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
884 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
889 .data = plaintext_aes_common,
893 .data = ciphertext512_aes128cbc,
896 .auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC,
899 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
900 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
901 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
902 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
903 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
904 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
905 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
906 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60,
907 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
908 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
909 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
910 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
911 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
912 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
913 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
914 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
920 0x23, 0x60, 0xC8, 0xB1, 0x2D, 0x6C, 0x1E, 0x72,
921 0x25, 0xAB, 0xF9, 0xC3, 0x9A, 0xA9, 0x4F, 0x8C,
922 0x56, 0x38, 0x65, 0x0E, 0x74, 0xD5, 0x45, 0x9D,
923 0xA3, 0xFD, 0x7E, 0x6D, 0x9E, 0x74, 0x88, 0x9D,
924 0xA7, 0x12, 0x9D, 0xD8, 0x81, 0x3C, 0x86, 0x2F,
925 0x4D, 0xF9, 0x6F, 0x0A, 0xB0, 0xC9, 0xEB, 0x0B
932 static const uint8_t ciphertext512_aes192cbc[] = {
933 0x45, 0xEE, 0x9A, 0xEA, 0x3C, 0x03, 0xFC, 0x4C,
934 0x84, 0x36, 0xB0, 0xDA, 0xB0, 0xDC, 0xF3, 0x5B,
935 0x75, 0xA7, 0xBE, 0x0E, 0xC0, 0x8D, 0x6C, 0xF8,
936 0xC1, 0x0F, 0xD0, 0x35, 0x1D, 0x82, 0xAE, 0x7C,
937 0x57, 0xC5, 0x7A, 0x55, 0x87, 0x1B, 0xD4, 0x03,
938 0x0A, 0x64, 0xC9, 0xE0, 0xF4, 0xC7, 0x6F, 0x57,
939 0x52, 0xC6, 0x73, 0xBA, 0x84, 0x0B, 0x5B, 0x89,
940 0x21, 0xD2, 0x9B, 0x88, 0x68, 0xF5, 0xA9, 0x7F,
941 0x3F, 0x49, 0xEB, 0xF4, 0xD4, 0x52, 0xD2, 0x64,
942 0x80, 0xB2, 0x53, 0xDA, 0x19, 0xF6, 0x10, 0x24,
943 0x23, 0x26, 0x7A, 0x7C, 0x07, 0x57, 0x4B, 0x0E,
944 0x58, 0x49, 0x61, 0xD1, 0xDC, 0x9A, 0x32, 0x6B,
945 0x0F, 0x43, 0x9E, 0x4D, 0xB4, 0x07, 0x4E, 0xB3,
946 0x51, 0x74, 0xDE, 0x29, 0xBC, 0x98, 0xF9, 0xDF,
947 0x78, 0x9A, 0x18, 0x9C, 0xD6, 0x7A, 0x55, 0x7C,
948 0xE6, 0x1D, 0x5C, 0x1A, 0x99, 0xD2, 0xC3, 0x7B,
949 0x9F, 0x96, 0x74, 0x2D, 0xE0, 0xEF, 0xD1, 0xE3,
950 0x08, 0x9F, 0xAF, 0xE6, 0xED, 0xCA, 0xE1, 0xEA,
951 0x23, 0x6F, 0x7C, 0x81, 0xA8, 0xC0, 0x5B, 0x8B,
952 0x53, 0x90, 0x51, 0x2D, 0x0F, 0xF6, 0x7D, 0xA7,
953 0x1C, 0xBD, 0x83, 0x84, 0x54, 0xA4, 0x15, 0xFB,
954 0x3E, 0x25, 0xA7, 0x3A, 0x0A, 0x73, 0xD9, 0x88,
955 0x6F, 0x80, 0x78, 0x95, 0x7F, 0x60, 0xAA, 0x86,
956 0x8A, 0xFC, 0xDF, 0xC1, 0xCB, 0xDE, 0xBB, 0x25,
957 0x52, 0x20, 0xC6, 0x79, 0xD4, 0x0F, 0x25, 0xE7,
958 0xDB, 0xB2, 0x17, 0xA4, 0x6F, 0x3C, 0x6F, 0x91,
959 0xF6, 0x44, 0x1E, 0xB6, 0x85, 0xBC, 0x7A, 0x14,
960 0x10, 0x72, 0xBD, 0x16, 0x63, 0x39, 0x9E, 0x7B,
961 0x84, 0x5B, 0x17, 0x61, 0xB1, 0x5D, 0x82, 0x0B,
962 0x6D, 0x37, 0xD7, 0x79, 0xB8, 0x24, 0x91, 0x30,
963 0x82, 0x91, 0x02, 0xB1, 0x18, 0x4B, 0xE0, 0xF4,
964 0x13, 0x1B, 0xB2, 0x4C, 0xDA, 0xB8, 0x99, 0x96,
965 0x83, 0x2F, 0xBE, 0x53, 0x8D, 0xDE, 0xFA, 0xAD,
966 0xF6, 0x5C, 0xDB, 0xE5, 0x66, 0x26, 0x8F, 0x13,
967 0x2B, 0x76, 0x47, 0x73, 0xDE, 0x1A, 0x74, 0xA6,
968 0x30, 0xAF, 0x42, 0xA0, 0xE5, 0xD2, 0x8F, 0xC2,
969 0xED, 0x3E, 0x9E, 0x29, 0x54, 0x3C, 0xDE, 0x9F,
970 0x5D, 0x30, 0x2B, 0x63, 0xFB, 0xE3, 0xB1, 0x07,
971 0xEE, 0x74, 0x4A, 0xAF, 0xB1, 0x20, 0x8D, 0xEC,
972 0xE6, 0x78, 0x16, 0x8D, 0xA4, 0x6E, 0x34, 0x7D,
973 0x47, 0xFB, 0x0B, 0xC1, 0x32, 0xD7, 0x0D, 0x6C,
974 0x6F, 0x93, 0x9C, 0x5E, 0xEF, 0x1F, 0x9C, 0x45,
975 0x80, 0x6B, 0x74, 0xA6, 0x81, 0xF2, 0xF6, 0xFA,
976 0xAA, 0x9D, 0x4F, 0xCA, 0xB5, 0x90, 0x59, 0xB0,
977 0x3B, 0xF2, 0xF0, 0x75, 0xFD, 0x8A, 0xD8, 0x97,
978 0x65, 0x88, 0x56, 0x4C, 0x44, 0xDF, 0x73, 0xF7,
979 0x56, 0x9C, 0x48, 0x7E, 0xB0, 0x1F, 0x1D, 0x7D,
980 0x6A, 0x11, 0xF5, 0xC2, 0xF4, 0x17, 0xEF, 0x58,
981 0xD8, 0x2A, 0xAF, 0x56, 0x2F, 0xCF, 0xEC, 0xA4,
982 0x58, 0x8B, 0x60, 0xCE, 0xD4, 0x0F, 0x9C, 0x21,
983 0xEC, 0x3E, 0x74, 0x7B, 0x81, 0x3D, 0x69, 0xC6,
984 0x5E, 0x12, 0x83, 0xE9, 0xEF, 0x81, 0x58, 0x36,
985 0x6A, 0x60, 0x0F, 0x54, 0x28, 0x11, 0xF9, 0x64,
986 0x36, 0xAD, 0x79, 0xF5, 0x1C, 0x74, 0xD0, 0xC3,
987 0x7B, 0x61, 0xE1, 0x92, 0xB0, 0x13, 0x91, 0x87,
988 0x32, 0x1F, 0xF2, 0x5A, 0xDA, 0x25, 0x69, 0xEB,
989 0xD7, 0x32, 0x7F, 0xF5, 0x23, 0x21, 0x54, 0x47,
990 0x7B, 0x1B, 0x33, 0xB0, 0x3D, 0xF6, 0xE2, 0x7E,
991 0x3E, 0xA2, 0x9E, 0xCA, 0x48, 0x0B, 0x4A, 0x29,
992 0x81, 0xD4, 0x4E, 0xD5, 0x69, 0xFB, 0xCD, 0x37,
993 0x8A, 0xC1, 0x5B, 0x50, 0xFF, 0xB5, 0x7D, 0x43,
994 0x0F, 0xAE, 0xA6, 0xC2, 0xE5, 0x8F, 0x45, 0xB2,
995 0x85, 0x99, 0x02, 0xA2, 0x9B, 0xBE, 0x90, 0x43,
996 0x4F, 0x2F, 0x50, 0xE2, 0x77, 0x62, 0xD9, 0xCC
999 /** AES-192-CBC test vector */
1000 static const struct blockcipher_test_data aes_test_data_10 = {
1001 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1004 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1005 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
1006 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
1012 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1013 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1018 .data = plaintext_aes_common,
1022 .data = ciphertext512_aes192cbc,
1027 static const uint8_t ciphertext512_aes256cbc[] = {
1028 0xF3, 0xDD, 0xF0, 0x0B, 0xFF, 0xA2, 0x6A, 0x04,
1029 0xBE, 0xDA, 0x52, 0xA6, 0xFE, 0x6B, 0xA6, 0xA7,
1030 0x48, 0x1D, 0x7D, 0x98, 0x65, 0xDB, 0xEF, 0x06,
1031 0x26, 0xB5, 0x8E, 0xEB, 0x05, 0x0E, 0x77, 0x98,
1032 0x17, 0x8E, 0xD0, 0xD4, 0x7B, 0x92, 0x8F, 0x5C,
1033 0xD0, 0x74, 0x5C, 0xA8, 0x4B, 0x54, 0xB6, 0x2F,
1034 0x83, 0x72, 0x2C, 0xFF, 0x72, 0xE9, 0xE4, 0x15,
1035 0x4C, 0x32, 0xAF, 0xC8, 0xC9, 0x89, 0x3C, 0x6E,
1036 0x31, 0xD5, 0xC0, 0x16, 0xC0, 0x31, 0x7D, 0x11,
1037 0xAB, 0xCB, 0xDE, 0xD2, 0xD6, 0xAA, 0x76, 0x5E,
1038 0xBA, 0xF6, 0xE2, 0x92, 0xCB, 0x86, 0x07, 0xFA,
1039 0xD4, 0x9E, 0x83, 0xED, 0xFD, 0xB8, 0x70, 0x54,
1040 0x6B, 0xBE, 0xEC, 0x72, 0xDD, 0x28, 0x5E, 0x95,
1041 0x78, 0xA5, 0x28, 0x43, 0x3D, 0x6D, 0xB1, 0xD9,
1042 0x69, 0x1F, 0xC9, 0x66, 0x0E, 0x32, 0x44, 0x08,
1043 0xD2, 0xAE, 0x2C, 0x43, 0xF2, 0xD0, 0x7D, 0x26,
1044 0x70, 0xE5, 0xA1, 0xCA, 0x37, 0xE9, 0x7D, 0xC7,
1045 0xA3, 0xFA, 0x81, 0x91, 0x64, 0xAA, 0x64, 0x91,
1046 0x9A, 0x95, 0x2D, 0xC9, 0xF9, 0xCE, 0xFE, 0x9F,
1047 0xC4, 0xD8, 0x81, 0xBE, 0x57, 0x84, 0xC5, 0x02,
1048 0xDB, 0x30, 0xC1, 0xD9, 0x0E, 0xA0, 0xA6, 0x00,
1049 0xD6, 0xF3, 0x52, 0x7E, 0x0D, 0x23, 0x6B, 0x2B,
1050 0x34, 0x99, 0x1F, 0x70, 0x27, 0x6D, 0x58, 0x84,
1051 0x93, 0x77, 0xB8, 0x3E, 0xF1, 0x71, 0x58, 0x42,
1052 0x8B, 0x2B, 0xC8, 0x6D, 0x05, 0x84, 0xFF, 0x4E,
1053 0x85, 0xEF, 0x4A, 0x9D, 0x91, 0x6A, 0xD5, 0xE1,
1054 0xAF, 0x01, 0xEB, 0x83, 0x8F, 0x23, 0x7C, 0x7F,
1055 0x12, 0x91, 0x05, 0xF0, 0x4E, 0xD9, 0x17, 0x62,
1056 0x75, 0xBB, 0xAC, 0x97, 0xEE, 0x3B, 0x4E, 0xC7,
1057 0xE5, 0x92, 0xF8, 0x9D, 0x4C, 0xF9, 0xEE, 0x55,
1058 0x18, 0xBB, 0xCC, 0xB4, 0xF2, 0x59, 0xB9, 0xFC,
1059 0x7A, 0x0F, 0x98, 0xD4, 0x8B, 0xFE, 0xF7, 0x83,
1060 0x46, 0xE2, 0x83, 0x33, 0x3E, 0x95, 0x8D, 0x17,
1061 0x1E, 0x85, 0xF8, 0x8C, 0x51, 0xB0, 0x6C, 0xB5,
1062 0x5E, 0x95, 0xBA, 0x4B, 0x69, 0x1B, 0x48, 0x69,
1063 0x0B, 0x8F, 0xA5, 0x18, 0x13, 0xB9, 0x77, 0xD1,
1064 0x80, 0x32, 0x32, 0x6D, 0x53, 0xA1, 0x95, 0x40,
1065 0x96, 0x8A, 0xCC, 0xA3, 0x69, 0xF8, 0x9F, 0xB5,
1066 0x8E, 0xD2, 0x68, 0x07, 0x4F, 0xA7, 0xEC, 0xF8,
1067 0x20, 0x21, 0x58, 0xF8, 0xD8, 0x9E, 0x5F, 0x40,
1068 0xBA, 0xB9, 0x76, 0x57, 0x3B, 0x17, 0xAD, 0xEE,
1069 0xCB, 0xDF, 0x07, 0xC1, 0xDF, 0x66, 0xA8, 0x0D,
1070 0xC2, 0xCE, 0x8F, 0x79, 0xC3, 0x32, 0xE0, 0x8C,
1071 0xFE, 0x5A, 0xF3, 0x55, 0x27, 0x73, 0x6F, 0xA1,
1072 0x54, 0xC6, 0xFC, 0x28, 0x9D, 0xBE, 0x97, 0xB9,
1073 0x54, 0x97, 0x72, 0x3A, 0x61, 0xAF, 0x6F, 0xDE,
1074 0xF8, 0x0E, 0xBB, 0x6B, 0x96, 0x84, 0xDD, 0x9B,
1075 0x62, 0xBA, 0x47, 0xB5, 0xC9, 0x3B, 0x4E, 0x8C,
1076 0x78, 0x2A, 0xCC, 0x0A, 0x69, 0x54, 0x25, 0x5E,
1077 0x8B, 0xAC, 0x56, 0xD9, 0xFE, 0x48, 0xBA, 0xCE,
1078 0xA9, 0xCE, 0xA6, 0x1D, 0xBF, 0x3E, 0x3C, 0x66,
1079 0x40, 0x71, 0x79, 0xAD, 0x5B, 0x26, 0xAD, 0xBE,
1080 0x58, 0x13, 0x64, 0x60, 0x7C, 0x05, 0xFC, 0xE3,
1081 0x51, 0x7A, 0xF2, 0xCC, 0x54, 0x16, 0x2C, 0xA4,
1082 0xCE, 0x5F, 0x59, 0x12, 0x77, 0xEB, 0xD9, 0x23,
1083 0xE3, 0x86, 0xFB, 0xD7, 0x48, 0x76, 0x9D, 0xE3,
1084 0x89, 0x87, 0x39, 0xFA, 0x7B, 0x21, 0x0B, 0x76,
1085 0xB2, 0xED, 0x1C, 0x27, 0x4B, 0xD5, 0x27, 0x05,
1086 0x8C, 0x7D, 0x58, 0x6C, 0xCA, 0xA5, 0x54, 0x9A,
1087 0x0F, 0xCB, 0xE9, 0x88, 0x31, 0xAD, 0x49, 0xEE,
1088 0x38, 0xFB, 0xC9, 0xFB, 0xB4, 0x7A, 0x00, 0x58,
1089 0x20, 0x32, 0xD3, 0x53, 0x5A, 0xDD, 0x74, 0x95,
1090 0x60, 0x59, 0x09, 0xAE, 0x7E, 0xEC, 0x74, 0xA3,
1091 0xB7, 0x1C, 0x6D, 0xF2, 0xAE, 0x79, 0xA4, 0x7C
1094 /** AES-256-CBC test vector */
1095 static const struct blockcipher_test_data aes_test_data_11 = {
1096 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1099 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1100 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
1101 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0,
1102 0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D
1108 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1109 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1114 .data = plaintext_aes_common,
1118 .data = ciphertext512_aes256cbc,
1123 /** AES-128-CBC SHA256 HMAC test vector (160 bytes) */
1124 static const struct blockcipher_test_data aes_test_data_12 = {
1125 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1128 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1129 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1135 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1136 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1141 .data = plaintext_aes_common,
1145 .data = ciphertext512_aes128cbc,
1148 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
1151 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1152 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1153 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
1154 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
1160 0x92, 0xEC, 0x65, 0x9A, 0x52, 0xCC, 0x50, 0xA5,
1161 0xEE, 0x0E, 0xDF, 0x1E, 0xA4, 0xC9, 0xC1, 0x04,
1162 0xD5, 0xDC, 0x78, 0x90, 0xF4, 0xE3, 0x35, 0x62,
1163 0xAD, 0x95, 0x45, 0x28, 0x5C, 0xF8, 0x8C, 0x0B
1170 /** AES-128-CBC SHA1 HMAC test vector (160 bytes) */
1171 static const struct blockcipher_test_data aes_test_data_13 = {
1172 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1175 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1176 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1182 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1183 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1188 .data = plaintext_aes_common,
1192 .data = ciphertext512_aes128cbc,
1195 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1198 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1199 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1200 0xDE, 0xF4, 0xDE, 0xAD
1206 0x4F, 0x16, 0xEA, 0xF7, 0x4A, 0x88, 0xD3, 0xE0,
1207 0x0E, 0x12, 0x8B, 0xE7, 0x05, 0xD0, 0x86, 0x48,
1208 0x22, 0x43, 0x30, 0xA7
1215 /** XTS-AES-128 test vector (2 keys * 128 bit) */
1216 static const uint8_t plaintext_aes128xts_16bytes[] = {
1217 0xEB, 0xAB, 0xCE, 0x95, 0xB1, 0x4D, 0x3C, 0x8D,
1218 0x6F, 0xB3, 0x50, 0x39, 0x07, 0x90, 0x31, 0x1C
1220 static const uint8_t ciphertext_aes128xts_16bytes[] = {
1221 0x77, 0x8A, 0xE8, 0xB4, 0x3C, 0xB9, 0x8D, 0x5A,
1222 0x82, 0x50, 0x81, 0xD5, 0xBE, 0x47, 0x1C, 0x63
1225 blockcipher_test_data aes_test_data_xts_key_32_pt_16 = {
1226 .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
1229 0xA1, 0xB9, 0x0C, 0xBA, 0x3F, 0x06, 0xAC, 0x35,
1230 0x3B, 0x2C, 0x34, 0x38, 0x76, 0x08, 0x17, 0x62,
1231 0x09, 0x09, 0x23, 0x02, 0x6E, 0x91, 0x77, 0x18,
1232 0x15, 0xF2, 0x9D, 0xAB, 0x01, 0x93, 0x2F, 0x2F
1238 0x4F, 0xAE, 0xF7, 0x11, 0x7C, 0xDA, 0x59, 0xC6,
1239 0x6E, 0x4B, 0x92, 0x01, 0x3E, 0x76, 0x8A, 0xD5
1244 .data = plaintext_aes128xts_16bytes,
1248 .data = ciphertext_aes128xts_16bytes,
1252 static const uint8_t plaintext_aes128xts_32bytes[] = {
1253 0xB0, 0x4D, 0x84, 0xDA, 0x85, 0x6B, 0x9A, 0x59,
1254 0xCE, 0x2D, 0x62, 0x67, 0x46, 0xF6, 0x89, 0xA8,
1255 0x05, 0x1D, 0xAC, 0xD6, 0xBC, 0xE3, 0xB9, 0x90,
1256 0xAA, 0x90, 0x1E, 0x40, 0x30, 0x64, 0x88, 0x79
1258 static const uint8_t ciphertext_aes128xts_32bytes[] = {
1259 0xF9, 0x41, 0x03, 0x9E, 0xBA, 0xB8, 0xCA, 0xC3,
1260 0x9D, 0x59, 0x24, 0x7C, 0xBB, 0xCB, 0x4D, 0x81,
1261 0x6C, 0x72, 0x6D, 0xAE, 0xD1, 0x15, 0x77, 0x69,
1262 0x2C, 0x55, 0xE4, 0xAC, 0x6D, 0x3E, 0x68, 0x20
1265 blockcipher_test_data aes_test_data_xts_key_32_pt_32 = {
1266 .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
1269 0x78, 0x3A, 0x83, 0xEC, 0x52, 0xA2, 0x74, 0x05,
1270 0xDF, 0xF9, 0xDE, 0x4C, 0x57, 0xF9, 0xC9, 0x79,
1271 0xB3, 0x60, 0xB6, 0xA5, 0xDF, 0x88, 0xD6, 0x7E,
1272 0xC1, 0xA0, 0x52, 0xE6, 0xF5, 0x82, 0xA7, 0x17
1278 0x88, 0x6E, 0x97, 0x5B, 0x29, 0xBD, 0xF6, 0xF0,
1279 0xC0, 0x1B, 0xB4, 0x7F, 0x61, 0xF6, 0xF0, 0xF5
1284 .data = plaintext_aes128xts_32bytes,
1288 .data = ciphertext_aes128xts_32bytes,
1293 /** XTS-AES-256 test vector (2 keys * 256 bit) */
1295 static const uint8_t plaintext_aes256xts_32bytes[] = {
1296 0x2E, 0xED, 0xEA, 0x52, 0xCD, 0x82, 0x15, 0xE1,
1297 0xAC, 0xC6, 0x47, 0xE8, 0x10, 0xBB, 0xC3, 0x64,
1298 0x2E, 0x87, 0x28, 0x7F, 0x8D, 0x2E, 0x57, 0xE3,
1299 0x6C, 0x0A, 0x24, 0xFB, 0xC1, 0x2A, 0x20, 0x2E
1301 static const uint8_t ciphertext_aes256xts_32bytes[] = {
1302 0xCB, 0xAA, 0xD0, 0xE2, 0xF6, 0xCE, 0xA3, 0xF5,
1303 0x0B, 0x37, 0xF9, 0x34, 0xD4, 0x6A, 0x9B, 0x13,
1304 0x0B, 0x9D, 0x54, 0xF0, 0x7E, 0x34, 0xF3, 0x6A,
1305 0xF7, 0x93, 0xE8, 0x6F, 0x73, 0xC6, 0xD7, 0xDB
1308 blockcipher_test_data aes_test_data_xts_key_64_pt_32 = {
1309 .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
1312 0x1E, 0xA6, 0x61, 0xC5, 0x8D, 0x94, 0x3A, 0x0E,
1313 0x48, 0x01, 0xE4, 0x2F, 0x4B, 0x09, 0x47, 0x14,
1314 0x9E, 0x7F, 0x9F, 0x8E, 0x3E, 0x68, 0xD0, 0xC7,
1315 0x50, 0x52, 0x10, 0xBD, 0x31, 0x1A, 0x0E, 0x7C,
1316 0xD6, 0xE1, 0x3F, 0xFD, 0xF2, 0x41, 0x8D, 0x8D,
1317 0x19, 0x11, 0xC0, 0x04, 0xCD, 0xA5, 0x8D, 0xA3,
1318 0xD6, 0x19, 0xB7, 0xE2, 0xB9, 0x14, 0x1E, 0x58,
1319 0x31, 0x8E, 0xEA, 0x39, 0x2C, 0xF4, 0x1B, 0x08
1325 0xAD, 0xF8, 0xD9, 0x26, 0x27, 0x46, 0x4A, 0xD2,
1326 0xF0, 0x42, 0x8E, 0x84, 0xA9, 0xF8, 0x75, 0x64
1331 .data = plaintext_aes256xts_32bytes,
1335 .data = ciphertext_aes256xts_32bytes,
1339 static const uint8_t plaintext_aes256xts_48bytes[] = {
1340 0xBB, 0xB2, 0x34, 0xDB, 0x01, 0xBE, 0x79, 0xD3,
1341 0xDC, 0x7D, 0xCF, 0x49, 0xBC, 0x53, 0xB8, 0xEF,
1342 0xC6, 0x2F, 0xE7, 0x17, 0x94, 0x39, 0x06, 0x1D,
1343 0x73, 0xA6, 0xB2, 0x0E, 0xDB, 0x9B, 0x7D, 0xA0,
1344 0x45, 0x0B, 0x19, 0xF0, 0x20, 0x82, 0x02, 0x09,
1345 0xAF, 0xE0, 0x81, 0x12, 0xAE, 0x4A, 0xFD, 0xD3
1347 static const uint8_t ciphertext_aes256xts_48bytes[] = {
1348 0xCB, 0xF6, 0x88, 0x48, 0xC4, 0x20, 0x49, 0xEF,
1349 0xB1, 0x46, 0xE2, 0xD1, 0xE4, 0x11, 0x5F, 0x62,
1350 0xE4, 0xFA, 0xA4, 0xEF, 0xFF, 0x19, 0x8F, 0x1A,
1351 0x0A, 0xA0, 0xC9, 0x8B, 0xA0, 0x2C, 0xC4, 0x4D,
1352 0xA3, 0x76, 0xD7, 0x62, 0xD6, 0x15, 0x1F, 0x23,
1353 0x45, 0x87, 0xBF, 0x12, 0x8B, 0x6A, 0x7F, 0xFA
1356 blockcipher_test_data aes_test_data_xts_key_64_pt_48 = {
1357 .crypto_algo = RTE_CRYPTO_CIPHER_AES_XTS,
1360 0x7F, 0xB0, 0x92, 0x2F, 0xCE, 0x09, 0xED, 0xDD,
1361 0x36, 0x65, 0xA1, 0x1F, 0x52, 0x35, 0xD5, 0x1E,
1362 0xF7, 0x72, 0x06, 0xA7, 0xDE, 0x45, 0x47, 0x75,
1363 0xB6, 0x9D, 0xCC, 0x54, 0x59, 0xAC, 0xDB, 0x24,
1364 0xCC, 0xF0, 0x5C, 0x41, 0x5A, 0xF5, 0xAB, 0x8A,
1365 0x06, 0x62, 0x3D, 0x19, 0x8D, 0x5B, 0x91, 0x85,
1366 0x95, 0xA9, 0xDC, 0xAA, 0xF5, 0x39, 0x2E, 0xE7,
1367 0x17, 0xC1, 0x04, 0x7F, 0x2F, 0x08, 0xF6, 0x2B
1373 0x8E, 0xA3, 0x63, 0x8B, 0x9D, 0x40, 0x62, 0xF1,
1374 0x69, 0x19, 0x6F, 0xF4, 0x55, 0x5A, 0xD0, 0xAF
1379 .data = plaintext_aes256xts_48bytes,
1383 .data = ciphertext_aes256xts_48bytes,
1388 /* AES-DOCSIS-BPI test vectors */
1390 /* Multiple of AES block size */
1391 static const struct blockcipher_test_data aes_test_data_docsis_1 = {
1392 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1395 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1396 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1402 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1403 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1408 .data = plaintext_aes_common,
1412 .data = ciphertext512_aes128cbc,
1417 /* Less than AES block size */
1418 static const struct blockcipher_test_data aes_test_data_docsis_2 = {
1419 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1422 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
1423 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
1429 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
1430 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
1435 .data = plaintext_aes_docsis_bpi_cfb,
1439 .data = ciphertext_aes_docsis_bpi_cfb,
1444 /* Not multiple of AES block size */
1445 static const struct blockcipher_test_data aes_test_data_docsis_3 = {
1446 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1449 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
1450 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
1456 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
1457 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
1462 .data = plaintext_aes_docsis_bpi_cbc_cfb,
1466 .data = ciphertext_aes_docsis_bpi_cbc_cfb,
1471 static const uint8_t
1472 cipher_aescbc_offset_16[] = {
1473 0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C,
1474 0x6F, 0x75, 0x73, 0x79, 0x20, 0x65, 0x61, 0x72,
1475 0x68, 0x2A, 0x6A, 0x82, 0xE0, 0x73, 0xC7, 0x51,
1476 0x81, 0xF4, 0x47, 0x27, 0x1A, 0xEF, 0x76, 0x15,
1477 0x1C, 0xE1, 0x38, 0x5F, 0xE1, 0x81, 0x77, 0xC7,
1478 0x8B, 0xF0, 0x69, 0xC3, 0x3C, 0x45, 0x1C, 0x0A,
1479 0xA3, 0x93, 0xBF, 0x60, 0x57, 0x88, 0xD2, 0xFF,
1480 0xE1, 0x8F, 0xC0, 0x64, 0x2C, 0x42, 0xC5, 0x22,
1481 0xE3, 0x5F, 0x71, 0x1F, 0xF7, 0x62, 0xA2, 0x7E,
1482 0x0D, 0x42, 0xD9, 0xE7, 0xF3, 0x10, 0xB0, 0xEE,
1485 /** AES-128-CBC SHA1 OOP test vector for swapping src/dst */
1486 static const struct blockcipher_test_data aes_test_data_14 = {
1487 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1490 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1491 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1497 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1498 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1503 .data = plaintext_aes_common,
1506 .cipher_offset = 16,
1509 .data = cipher_aescbc_offset_16,
1512 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1515 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1516 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1517 0xDE, 0xF4, 0xDE, 0xAD
1523 0xCC, 0x15, 0x83, 0xF7, 0x23, 0x87, 0x96, 0xA7,
1524 0x29, 0x34, 0x32, 0xE4, 0x4C, 0x06, 0xE8, 0xEB,
1525 0x70, 0x72, 0x4B, 0xAD
1532 static const struct blockcipher_test_case aes_chain_test_cases[] = {
1534 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1535 "Verify OOP Offset",
1536 .test_data = &aes_test_data_14,
1537 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1538 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1539 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1540 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1543 .test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest",
1544 .test_data = &aes_test_data_1,
1545 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1546 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1547 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1548 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1549 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1550 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1551 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1552 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1553 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1554 BLOCKCIPHER_TEST_TARGET_PMD_CCP
1557 .test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest "
1559 .test_data = &aes_test_data_1,
1560 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1561 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1562 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1563 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1564 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1565 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1566 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1567 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1568 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1569 BLOCKCIPHER_TEST_TARGET_PMD_CCP
1572 .test_descr = "AES-192-CTR XCBC Encryption Digest",
1573 .test_data = &aes_test_data_2,
1574 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1575 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1576 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1577 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1580 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify",
1581 .test_data = &aes_test_data_2,
1582 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1583 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1584 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1585 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1588 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
1590 .test_data = &aes_test_data_2,
1591 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1592 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1593 BLOCKCIPHER_TEST_FEATURE_OOP,
1595 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1596 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1599 .test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest",
1600 .test_data = &aes_test_data_3,
1601 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1602 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1603 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1604 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1605 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1606 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1607 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1608 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1609 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1610 BLOCKCIPHER_TEST_TARGET_PMD_CCP
1613 .test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest "
1615 .test_data = &aes_test_data_3,
1616 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1617 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1618 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1619 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1620 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1621 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1622 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1623 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1624 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1625 BLOCKCIPHER_TEST_TARGET_PMD_CCP
1628 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest",
1629 .test_data = &aes_test_data_4,
1630 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1631 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1632 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1633 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1634 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1635 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1636 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1637 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1638 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1639 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1640 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1641 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1644 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1646 .test_data = &aes_test_data_13,
1647 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1648 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1649 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1650 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1653 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1655 .test_data = &aes_test_data_4,
1656 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1657 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1658 BLOCKCIPHER_TEST_FEATURE_OOP,
1660 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1661 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1662 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1663 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1664 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1665 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1666 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1669 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1671 .test_data = &aes_test_data_4,
1672 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1673 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1674 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1675 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1676 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1677 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1678 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1679 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1680 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1681 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1682 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1683 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1686 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1687 "Verify Scatter Gather",
1688 .test_data = &aes_test_data_4,
1689 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1690 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
1691 .pmd_mask = 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_OCTEONTX
1697 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1698 "Verify (short buffers)",
1699 .test_data = &aes_test_data_13,
1700 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1701 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1702 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1703 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1706 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest",
1707 .test_data = &aes_test_data_5,
1708 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1709 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1710 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1711 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1712 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1713 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1714 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1715 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1716 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1717 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1718 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1719 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1722 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest "
1724 .test_data = &aes_test_data_12,
1725 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1726 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1727 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1728 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1731 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1733 .test_data = &aes_test_data_5,
1734 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1735 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1736 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1737 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1738 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1739 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1740 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1741 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1742 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1743 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1744 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1747 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1748 "Verify (short buffers)",
1749 .test_data = &aes_test_data_12,
1750 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1751 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1752 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1753 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1756 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest",
1757 .test_data = &aes_test_data_6,
1758 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1759 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1760 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1761 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1762 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1763 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1764 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1765 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1766 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1767 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1768 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1771 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
1773 .test_data = &aes_test_data_6,
1774 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1775 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1776 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1777 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1778 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1779 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1782 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
1783 "Scatter Gather Sessionless",
1784 .test_data = &aes_test_data_6,
1785 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1786 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
1787 BLOCKCIPHER_TEST_FEATURE_SG |
1788 BLOCKCIPHER_TEST_FEATURE_OOP,
1790 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1791 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1794 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1796 .test_data = &aes_test_data_6,
1797 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1798 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1799 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1800 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1801 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1802 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1803 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1804 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1805 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1806 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1807 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1810 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1811 "Verify Scatter Gather",
1812 .test_data = &aes_test_data_6,
1813 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1814 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1815 BLOCKCIPHER_TEST_FEATURE_OOP,
1817 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1818 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1819 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1820 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1821 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1822 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1825 .test_descr = "AES-128-CBC XCBC Encryption Digest",
1826 .test_data = &aes_test_data_7,
1827 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1828 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1829 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1830 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1833 .test_descr = "AES-128-CBC XCBC Decryption Digest Verify",
1834 .test_data = &aes_test_data_7,
1835 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1836 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1837 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1838 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1841 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1843 .test_data = &aes_test_data_4,
1844 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1845 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1846 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1847 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1848 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1849 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1850 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1851 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1852 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1853 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1856 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1858 .test_data = &aes_test_data_14,
1859 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1860 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1861 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1862 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1865 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1867 .test_data = &aes_test_data_4,
1868 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1869 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1870 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1871 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1872 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1873 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1874 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1875 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1876 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX |
1877 BLOCKCIPHER_TEST_TARGET_PMD_MB
1880 .test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest",
1881 .test_data = &aes_test_data_8,
1882 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1883 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1884 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1885 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1886 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1887 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1888 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1889 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1890 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1891 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1894 .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest "
1896 .test_data = &aes_test_data_8,
1897 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1898 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1899 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1900 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1901 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1902 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1903 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1904 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1905 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1906 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1909 .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest",
1910 .test_data = &aes_test_data_9,
1911 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1912 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1913 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1914 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1915 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1916 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1917 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1918 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1919 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1920 BLOCKCIPHER_TEST_TARGET_PMD_CCP
1923 .test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest "
1925 .test_data = &aes_test_data_9,
1926 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1927 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1928 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1929 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1930 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1931 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1932 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1933 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1934 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1935 BLOCKCIPHER_TEST_TARGET_PMD_CCP
1938 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1940 .test_data = &aes_test_data_4,
1941 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1942 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1943 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1944 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1945 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1946 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1950 "AES-128-CBC HMAC-SHA1 Decryption Digest "
1951 "Verify Sessionless",
1952 .test_data = &aes_test_data_4,
1953 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1954 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1955 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1956 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1957 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1958 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1961 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte",
1962 .test_data = &null_test_data_chain_x8_multiple,
1963 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1964 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
1965 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1968 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte",
1969 .test_data = &null_test_data_chain_x8_multiple,
1970 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1971 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
1972 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1975 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x8byte - OOP",
1976 .test_data = &null_test_data_chain_x8_multiple,
1977 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1978 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1979 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1982 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x8byte - OOP",
1983 .test_data = &null_test_data_chain_x8_multiple,
1984 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1985 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1986 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1989 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte",
1990 .test_data = &null_test_data_chain_x4_multiple,
1991 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1992 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
1993 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1996 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte",
1997 .test_data = &null_test_data_chain_x4_multiple,
1998 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1999 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2000 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2003 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x4byte - OOP",
2004 .test_data = &null_test_data_chain_x4_multiple,
2005 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2006 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2007 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2010 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x4byte - OOP",
2011 .test_data = &null_test_data_chain_x4_multiple,
2012 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2013 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2014 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2017 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte",
2018 .test_data = &null_test_data_chain_x1_multiple,
2019 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2020 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2021 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2024 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte",
2025 .test_data = &null_test_data_chain_x1_multiple,
2026 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2027 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2028 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2031 .test_descr = "NULL-CIPHER-NULL-AUTH encrypt & gen x1byte - OOP",
2032 .test_data = &null_test_data_chain_x1_multiple,
2033 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
2034 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2035 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2038 .test_descr = "NULL-AUTH-NULL-CIPHER verify & decrypt x1byte - OOP",
2039 .test_data = &null_test_data_chain_x1_multiple,
2040 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
2041 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2042 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2046 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
2048 .test_descr = "AES-128-CBC Encryption",
2049 .test_data = &aes_test_data_4,
2050 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2051 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2052 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2053 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2054 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2055 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2056 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2057 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2058 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2059 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2060 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2061 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2064 .test_descr = "AES-128-CBC Decryption",
2065 .test_data = &aes_test_data_4,
2066 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2067 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2068 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2069 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2070 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2071 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2072 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2073 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2074 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2075 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2076 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2077 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2080 .test_descr = "AES-192-CBC Encryption",
2081 .test_data = &aes_test_data_10,
2082 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2083 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2084 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2085 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2086 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2087 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2088 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2089 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2090 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2091 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2092 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2095 .test_descr = "AES-192-CBC Encryption Scater gather",
2096 .test_data = &aes_test_data_10,
2097 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2098 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
2099 BLOCKCIPHER_TEST_FEATURE_OOP,
2100 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2101 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2102 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2103 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2104 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2107 .test_descr = "AES-192-CBC Decryption",
2108 .test_data = &aes_test_data_10,
2109 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2110 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2111 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2112 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2113 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2114 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2115 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2116 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2117 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2118 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2119 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2122 .test_descr = "AES-192-CBC Decryption Scatter Gather",
2123 .test_data = &aes_test_data_10,
2124 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2125 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG,
2126 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2127 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2128 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2129 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2132 .test_descr = "AES-256-CBC Encryption",
2133 .test_data = &aes_test_data_11,
2134 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2135 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2136 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2137 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2138 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2139 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2140 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2141 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2142 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2143 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2144 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2145 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2148 .test_descr = "AES-256-CBC Decryption",
2149 .test_data = &aes_test_data_11,
2150 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2151 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2152 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2153 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2154 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2155 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2156 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2157 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2158 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2159 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2160 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2161 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2164 .test_descr = "AES-256-CBC OOP Encryption",
2165 .test_data = &aes_test_data_11,
2166 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2167 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2168 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2169 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2170 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2171 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2172 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2173 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2174 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2175 BLOCKCIPHER_TEST_TARGET_PMD_MB
2178 .test_descr = "AES-256-CBC OOP Decryption",
2179 .test_data = &aes_test_data_11,
2180 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2181 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2182 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2183 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2184 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2185 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2186 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2187 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2188 BLOCKCIPHER_TEST_TARGET_PMD_VIRTIO |
2189 BLOCKCIPHER_TEST_TARGET_PMD_MB
2192 .test_descr = "AES-128-CTR Encryption",
2193 .test_data = &aes_test_data_1,
2194 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2195 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2196 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2197 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2198 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2199 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2200 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2201 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2202 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2203 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2204 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2207 .test_descr = "AES-128-CTR Decryption",
2208 .test_data = &aes_test_data_1,
2209 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2210 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2211 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2212 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2213 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2214 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2215 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2216 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2217 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2218 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2219 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2222 .test_descr = "AES-192-CTR Encryption",
2223 .test_data = &aes_test_data_2,
2224 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2225 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2226 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2227 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2228 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2229 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2230 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2231 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2232 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2233 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2236 .test_descr = "AES-192-CTR Decryption",
2237 .test_data = &aes_test_data_2,
2238 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2239 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2240 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2241 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2242 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2243 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2244 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2245 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2246 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2247 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2250 .test_descr = "AES-256-CTR Encryption",
2251 .test_data = &aes_test_data_3,
2252 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2253 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2254 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2255 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2256 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2257 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2258 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2259 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2260 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2261 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2262 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2265 .test_descr = "AES-256-CTR Decryption",
2266 .test_data = &aes_test_data_3,
2267 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2268 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
2269 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2270 BLOCKCIPHER_TEST_TARGET_PMD_MB |
2271 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
2272 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
2273 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
2274 BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
2275 BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
2276 BLOCKCIPHER_TEST_TARGET_PMD_CCP |
2277 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2280 .test_descr = "AES-128-CTR Encryption (12-byte IV)",
2281 .test_data = &aes_test_data_1_IV_12_bytes,
2282 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2283 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2284 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2287 .test_descr = "AES-192-CTR Encryption (12-byte IV)",
2288 .test_data = &aes_test_data_2_IV_12_bytes,
2289 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2290 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2291 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2294 .test_descr = "AES-256-CTR Encryption (12-byte IV)",
2295 .test_data = &aes_test_data_3_IV_12_bytes,
2296 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2297 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2298 BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
2301 .test_descr = "AES-128-XTS Encryption (16-byte plaintext)",
2302 .test_data = &aes_test_data_xts_key_32_pt_16,
2303 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2304 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2307 .test_descr = "AES-128-XTS Decryption (16-byte plaintext)",
2308 .test_data = &aes_test_data_xts_key_32_pt_16,
2309 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2310 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2313 .test_descr = "AES-128-XTS Encryption (32-byte plaintext)",
2314 .test_data = &aes_test_data_xts_key_32_pt_32,
2315 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2316 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2319 .test_descr = "AES-128-XTS Decryption (32-byte plaintext)",
2320 .test_data = &aes_test_data_xts_key_32_pt_32,
2321 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2322 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2325 .test_descr = "AES-256-XTS Encryption (32-byte plaintext)",
2326 .test_data = &aes_test_data_xts_key_64_pt_32,
2327 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2328 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2331 .test_descr = "AES-256-XTS Decryption (32-byte plaintext)",
2332 .test_data = &aes_test_data_xts_key_64_pt_32,
2333 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2334 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2337 .test_descr = "AES-256-XTS Encryption (48-byte plaintext)",
2338 .test_data = &aes_test_data_xts_key_64_pt_48,
2339 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2340 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2343 .test_descr = "AES-256-XTS Decryption (48-byte plaintext)",
2344 .test_data = &aes_test_data_xts_key_64_pt_48,
2345 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2346 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2349 .test_descr = "cipher-only - NULL algo - x8 - encryption",
2350 .test_data = &null_test_data_chain_x8_multiple,
2351 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2352 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2353 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2356 .test_descr = "cipher-only - NULL algo - x8 - decryption",
2357 .test_data = &null_test_data_chain_x8_multiple,
2358 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2359 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2360 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2363 .test_descr = "cipher-only - NULL algo - x4 - encryption",
2364 .test_data = &null_test_data_chain_x4_multiple,
2365 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2366 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2367 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2370 .test_descr = "cipher-only - NULL algo - x4 - decryption",
2371 .test_data = &null_test_data_chain_x4_multiple,
2372 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2373 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2374 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2377 .test_descr = "cipher-only - NULL algo - x4 - encryption - OOP",
2378 .test_data = &null_test_data_chain_x4_multiple,
2379 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2380 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2381 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2384 .test_descr = "cipher-only - NULL algo - x4 - decryption - OOP",
2385 .test_data = &null_test_data_chain_x4_multiple,
2386 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2387 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2388 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
2391 .test_descr = "cipher-only - NULL algo - x1 - encryption",
2392 .test_data = &null_test_data_chain_x1_multiple,
2393 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2394 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2395 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2398 .test_descr = "cipher-only - NULL algo - x1 - decryption",
2399 .test_data = &null_test_data_chain_x1_multiple,
2400 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2401 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_NULL |
2402 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2406 static const struct blockcipher_test_case aes_docsis_test_cases[] = {
2409 .test_descr = "AES-DOCSIS-BPI Full Block Encryption",
2410 .test_data = &aes_test_data_docsis_1,
2411 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2412 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2413 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2416 .test_descr = "AES-DOCSIS-BPI Runt Block Encryption",
2417 .test_data = &aes_test_data_docsis_2,
2418 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2419 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2420 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2423 .test_descr = "AES-DOCSIS-BPI Uneven Encryption",
2424 .test_data = &aes_test_data_docsis_3,
2425 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2426 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2427 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2430 .test_descr = "AES-DOCSIS-BPI Full Block Decryption",
2431 .test_data = &aes_test_data_docsis_1,
2432 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2433 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2434 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2437 .test_descr = "AES-DOCSIS-BPI Runt Block Decryption",
2438 .test_data = &aes_test_data_docsis_2,
2439 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2440 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2441 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2444 .test_descr = "AES-DOCSIS-BPI Uneven Decryption",
2445 .test_data = &aes_test_data_docsis_3,
2446 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2447 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
2448 BLOCKCIPHER_TEST_TARGET_PMD_QAT
2451 .test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption",
2452 .test_data = &aes_test_data_docsis_1,
2453 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2454 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2455 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2456 BLOCKCIPHER_TEST_TARGET_PMD_MB
2459 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption",
2460 .test_data = &aes_test_data_docsis_2,
2461 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2462 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2463 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2464 BLOCKCIPHER_TEST_TARGET_PMD_MB
2468 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption",
2469 .test_data = &aes_test_data_docsis_3,
2470 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
2471 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2472 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2473 BLOCKCIPHER_TEST_TARGET_PMD_MB
2476 .test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption",
2477 .test_data = &aes_test_data_docsis_1,
2478 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2479 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2480 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2481 BLOCKCIPHER_TEST_TARGET_PMD_MB
2484 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption",
2485 .test_data = &aes_test_data_docsis_2,
2486 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2487 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2488 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2489 BLOCKCIPHER_TEST_TARGET_PMD_MB
2492 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Decryption",
2493 .test_data = &aes_test_data_docsis_3,
2494 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
2495 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
2496 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
2497 BLOCKCIPHER_TEST_TARGET_PMD_MB
2500 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */