4 * Copyright(c) 2016-2017 Intel Corporation. All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in
14 * the documentation and/or other materials provided with the
16 * * Neither the name of Intel Corporation nor the names of its
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 #ifndef TEST_CRYPTODEV_AES_TEST_VECTORS_H_
34 #define TEST_CRYPTODEV_AES_TEST_VECTORS_H_
37 static const uint8_t plaintext_aes128ctr[] = {
38 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96,
39 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A,
40 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C,
41 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51,
42 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11,
43 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF,
44 0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17,
45 0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10
48 static const uint8_t ciphertext64_aes128ctr[] = {
49 0x87, 0x4D, 0x61, 0x91, 0xB6, 0x20, 0xE3, 0x26,
50 0x1B, 0xEF, 0x68, 0x64, 0x99, 0x0D, 0xB6, 0xCE,
51 0x98, 0x06, 0xF6, 0x6B, 0x79, 0x70, 0xFD, 0xFF,
52 0x86, 0x17, 0x18, 0x7B, 0xB9, 0xFF, 0xFD, 0xFF,
53 0x5A, 0xE4, 0xDF, 0x3E, 0xDB, 0xD5, 0xD3, 0x5E,
54 0x5B, 0x4F, 0x09, 0x02, 0x0D, 0xB0, 0x3E, 0xAB,
55 0x1E, 0x03, 0x1D, 0xDA, 0x2F, 0xBE, 0x03, 0xD1,
56 0x79, 0x21, 0x70, 0xA0, 0xF3, 0x00, 0x9C, 0xEE
59 static const uint8_t plaintext_aes_docsis_bpi_cfb[] = {
60 0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E
63 static const uint8_t ciphertext_aes_docsis_bpi_cfb[] = {
64 0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC
67 static const uint8_t plaintext_aes_docsis_bpi_cbc_cfb[] = {
68 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
69 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91,
73 static const uint8_t ciphertext_aes_docsis_bpi_cbc_cfb[] = {
74 0x9D, 0xD1, 0x67, 0x4B, 0xBA, 0x61, 0x10, 0x1B,
75 0x56, 0x75, 0x64, 0x74, 0x36, 0x4F, 0x10, 0x1D,
79 static const uint8_t plaintext_aes192ctr[] = {
80 0x01, 0x0F, 0x10, 0x1F, 0x20, 0x1C, 0x0E, 0xB8,
81 0xFB, 0x5C, 0xCD, 0xCC, 0x1F, 0xF9, 0xAF, 0x0B,
82 0x95, 0x03, 0x74, 0x99, 0x49, 0xE7, 0x62, 0x55,
83 0xDA, 0xEA, 0x13, 0x20, 0x1D, 0xC6, 0xCC, 0xCC,
84 0xD1, 0x70, 0x75, 0x47, 0x02, 0x2F, 0xFB, 0x86,
85 0xBB, 0x6B, 0x23, 0xD2, 0xC9, 0x74, 0xD7, 0x7B,
86 0x08, 0x03, 0x3B, 0x79, 0x39, 0xBB, 0x91, 0x29,
87 0xDA, 0x14, 0x39, 0x8D, 0xFF, 0x81, 0x50, 0x96,
90 static const uint8_t ciphertext64_aes192ctr[] = {
91 0x4A, 0x6C, 0xC8, 0xCC, 0x96, 0x2A, 0x13, 0x84,
92 0x1C, 0x36, 0x88, 0xE9, 0xE5, 0x94, 0x70, 0xB2,
93 0x14, 0x5B, 0x13, 0x80, 0xEA, 0xD8, 0x8D, 0x37,
94 0xFD, 0x70, 0xA8, 0x83, 0xE8, 0x2B, 0x88, 0x1E,
95 0xBA, 0x94, 0x3F, 0xF6, 0xB3, 0x1F, 0xDE, 0x34,
96 0xF3, 0x5B, 0x80, 0xE9, 0xAB, 0xF5, 0x1C, 0x29,
97 0xB6, 0xD9, 0x76, 0x2B, 0x06, 0xC6, 0x74, 0xF1,
98 0x59, 0x5E, 0x9E, 0xA5, 0x7B, 0x2D, 0xD7, 0xF0
101 static const uint8_t plaintext_aes256ctr[] = {
102 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96,
103 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A,
104 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C,
105 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51,
106 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11,
107 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF,
108 0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17,
109 0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10
112 static const uint8_t ciphertext64_aes256ctr[] = {
113 0x60, 0x1E, 0xC3, 0x13, 0x77, 0x57, 0x89, 0xA5,
114 0xB7, 0xA7, 0xF5, 0x04, 0xBB, 0xF3, 0xD2, 0x28,
115 0xF4, 0x43, 0xE3, 0xCA, 0x4D, 0x62, 0xB5, 0x9A,
116 0xCA, 0x84, 0xE9, 0x90, 0xCA, 0xCA, 0xF5, 0xC5,
117 0x2B, 0x09, 0x30, 0xDA, 0xA2, 0x3D, 0xE9, 0x4C,
118 0xE8, 0x70, 0x17, 0xBA, 0x2D, 0x84, 0x98, 0x8D,
119 0xDF, 0xC9, 0xC5, 0x8D, 0xB6, 0x7A, 0xAD, 0xA6,
120 0x13, 0xC2, 0xDD, 0x08, 0x45, 0x79, 0x41, 0xA6
123 static const uint8_t plaintext_aes_common[] = {
124 "What a lousy earth! He wondered how many people "
125 "were destitute that same night even in his own "
126 "prosperous country, how many homes were "
127 "shanties, how many husbands were drunk and "
128 "wives socked, and how many children were "
129 "bullied, abused, or abandoned. How many "
130 "families hungered for food they could not "
131 "afford to buy? How many hearts were broken? How "
132 "many suicides would take place that same night, "
133 "how many people would go insane? How many "
134 "cockroaches and landlords would triumph? How "
135 "many winners were losers, successes failures, "
136 "and rich men poor men? How many wise guys were "
137 "stupid? How many happy endings were unhappy "
138 "endings? How many honest men were liars, brave "
139 "men cowards, loyal men traitors, how many "
140 "sainted men were corrupt, how many people in "
141 "positions of trust had sold their souls to "
142 "bodyguards, how many had never had souls? How "
143 "many straight-and-narrow paths were crooked "
144 "paths? How many best families were worst "
145 "families and how many good people were bad "
146 "people? When you added them all up and then "
147 "subtracted, you might be left with only the "
148 "children, and perhaps with Albert Einstein and "
149 "an old violinist or sculptor somewhere."
152 static const uint8_t ciphertext512_aes128cbc[] = {
153 0x8B, 0x4D, 0xDA, 0x1B, 0xCF, 0x04, 0xA0, 0x31,
154 0xB4, 0xBF, 0xBD, 0x68, 0x43, 0x20, 0x7E, 0x76,
155 0xB1, 0x96, 0x8B, 0xA2, 0x7C, 0xA2, 0x83, 0x9E,
156 0x39, 0x5A, 0x2F, 0x7E, 0x92, 0xB4, 0x48, 0x1A,
157 0x3F, 0x6B, 0x5D, 0xDF, 0x52, 0x85, 0x5F, 0x8E,
158 0x42, 0x3C, 0xFB, 0xE9, 0x1A, 0x24, 0xD6, 0x08,
159 0xDD, 0xFD, 0x16, 0xFB, 0xE9, 0x55, 0xEF, 0xF0,
160 0xA0, 0x8D, 0x13, 0xAB, 0x81, 0xC6, 0x90, 0x01,
161 0xB5, 0x18, 0x84, 0xB3, 0xF6, 0xE6, 0x11, 0x57,
162 0xD6, 0x71, 0xC6, 0x3C, 0x3F, 0x2F, 0x33, 0xEE,
163 0x24, 0x42, 0x6E, 0xAC, 0x0B, 0xCA, 0xEC, 0xF9,
164 0x84, 0xF8, 0x22, 0xAA, 0x60, 0xF0, 0x32, 0xA9,
165 0x75, 0x75, 0x3B, 0xCB, 0x70, 0x21, 0x0A, 0x8D,
166 0x0F, 0xE0, 0xC4, 0x78, 0x2B, 0xF8, 0x97, 0xE3,
167 0xE4, 0x26, 0x4B, 0x29, 0xDA, 0x88, 0xCD, 0x46,
168 0xEC, 0xAA, 0xF9, 0x7F, 0xF1, 0x15, 0xEA, 0xC3,
169 0x87, 0xE6, 0x31, 0xF2, 0xCF, 0xDE, 0x4D, 0x80,
170 0x70, 0x91, 0x7E, 0x0C, 0xF7, 0x26, 0x3A, 0x92,
171 0x4F, 0x18, 0x83, 0xC0, 0x8F, 0x59, 0x01, 0xA5,
172 0x88, 0xD1, 0xDB, 0x26, 0x71, 0x27, 0x16, 0xF5,
173 0xEE, 0x10, 0x82, 0xAC, 0x68, 0x26, 0x9B, 0xE2,
174 0x6D, 0xD8, 0x9A, 0x80, 0xDF, 0x04, 0x31, 0xD5,
175 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
176 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
177 0x73, 0x02, 0x42, 0xC9, 0x23, 0x18, 0x8E, 0xB4,
178 0x6F, 0xB4, 0xA3, 0x54, 0x6E, 0x88, 0x3B, 0x62,
179 0x7C, 0x02, 0x8D, 0x4C, 0x9F, 0xC8, 0x45, 0xF4,
180 0xC9, 0xDE, 0x4F, 0xEB, 0x22, 0x83, 0x1B, 0xE4,
181 0x49, 0x37, 0xE4, 0xAD, 0xE7, 0xCD, 0x21, 0x54,
182 0xBC, 0x1C, 0xC2, 0x04, 0x97, 0xB4, 0x10, 0x61,
183 0xF0, 0xE4, 0xEF, 0x27, 0x63, 0x3A, 0xDA, 0x91,
184 0x41, 0x25, 0x62, 0x1C, 0x5C, 0xB6, 0x38, 0x4A,
185 0x88, 0x71, 0x59, 0x5A, 0x8D, 0xA0, 0x09, 0xAF,
186 0x72, 0x94, 0xD7, 0x79, 0x5C, 0x60, 0x7C, 0x8F,
187 0x4C, 0xF5, 0xD9, 0xA1, 0x39, 0x6D, 0x81, 0x28,
188 0xEF, 0x13, 0x28, 0xDF, 0xF5, 0x3E, 0xF7, 0x8E,
189 0x09, 0x9C, 0x78, 0x18, 0x79, 0xB8, 0x68, 0xD7,
190 0xA8, 0x29, 0x62, 0xAD, 0xDE, 0xE1, 0x61, 0x76,
191 0x1B, 0x05, 0x16, 0xCD, 0xBF, 0x02, 0x8E, 0xA6,
192 0x43, 0x6E, 0x92, 0x55, 0x4F, 0x60, 0x9C, 0x03,
193 0xB8, 0x4F, 0xA3, 0x02, 0xAC, 0xA8, 0xA7, 0x0C,
194 0x1E, 0xB5, 0x6B, 0xF8, 0xC8, 0x4D, 0xDE, 0xD2,
195 0xB0, 0x29, 0x6E, 0x40, 0xE6, 0xD6, 0xC9, 0xE6,
196 0xB9, 0x0F, 0xB6, 0x63, 0xF5, 0xAA, 0x2B, 0x96,
197 0xA7, 0x16, 0xAC, 0x4E, 0x0A, 0x33, 0x1C, 0xA6,
198 0xE6, 0xBD, 0x8A, 0xCF, 0x40, 0xA9, 0xB2, 0xFA,
199 0x63, 0x27, 0xFD, 0x9B, 0xD9, 0xFC, 0xD5, 0x87,
200 0x8D, 0x4C, 0xB6, 0xA4, 0xCB, 0xE7, 0x74, 0x55,
201 0xF4, 0xFB, 0x41, 0x25, 0xB5, 0x4B, 0x0A, 0x1B,
202 0xB1, 0xD6, 0xB7, 0xD9, 0x47, 0x2A, 0xC3, 0x98,
203 0x6A, 0xC4, 0x03, 0x73, 0x1F, 0x93, 0x6E, 0x53,
204 0x19, 0x25, 0x64, 0x15, 0x83, 0xF9, 0x73, 0x2A,
205 0x74, 0xB4, 0x93, 0x69, 0xC4, 0x72, 0xFC, 0x26,
206 0xA2, 0x9F, 0x43, 0x45, 0xDD, 0xB9, 0xEF, 0x36,
207 0xC8, 0x3A, 0xCD, 0x99, 0x9B, 0x54, 0x1A, 0x36,
208 0xC1, 0x59, 0xF8, 0x98, 0xA8, 0xCC, 0x28, 0x0D,
209 0x73, 0x4C, 0xEE, 0x98, 0xCB, 0x7C, 0x58, 0x7E,
210 0x20, 0x75, 0x1E, 0xB7, 0xC9, 0xF8, 0xF2, 0x0E,
211 0x63, 0x9E, 0x05, 0x78, 0x1A, 0xB6, 0xA8, 0x7A,
212 0xF9, 0x98, 0x6A, 0xA6, 0x46, 0x84, 0x2E, 0xF6,
213 0x4B, 0xDC, 0x9B, 0x8F, 0x9B, 0x8F, 0xEE, 0xB4,
214 0xAA, 0x3F, 0xEE, 0xC0, 0x37, 0x27, 0x76, 0xC7,
215 0x95, 0xBB, 0x26, 0x74, 0x69, 0x12, 0x7F, 0xF1,
216 0xBB, 0xFF, 0xAE, 0xB5, 0x99, 0x6E, 0xCB, 0x0C
219 /* AES128-CTR-SHA1 test vector */
220 static const struct blockcipher_test_data aes_test_data_1 = {
221 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
224 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
225 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
231 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
232 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
237 .data = plaintext_aes128ctr,
241 .data = ciphertext64_aes128ctr,
244 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
247 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
248 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
249 0xDE, 0xF4, 0xDE, 0xAD
255 0x9B, 0x6F, 0x0C, 0x43, 0xF5, 0xC1, 0x3E, 0xB0,
256 0xB1, 0x70, 0xB8, 0x2B, 0x33, 0x09, 0xD2, 0xB2,
257 0x56, 0x20, 0xFB, 0xFE
264 /** AES-192-CTR XCBC test vector */
265 static const struct blockcipher_test_data aes_test_data_2 = {
266 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
269 0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
270 0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
271 0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
277 0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
278 0xB8, 0x7A, 0x4B, 0xED, 0x2B, 0xAF, 0xBF, 0x57
283 .data = plaintext_aes192ctr,
287 .data = ciphertext64_aes192ctr,
290 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
293 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
294 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
300 0xCA, 0x33, 0xB3, 0x3B, 0x16, 0x94, 0xAA, 0x55,
301 0x36, 0x6B, 0x45, 0x46
308 /** AES-256-CTR SHA1 test vector */
309 static const struct blockcipher_test_data aes_test_data_3 = {
310 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
313 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
314 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
315 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
316 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
322 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
323 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
328 .data = plaintext_aes256ctr,
332 .data = ciphertext64_aes256ctr,
335 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
338 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
339 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
340 0xDE, 0xF4, 0xDE, 0xAD
346 0x3B, 0x1A, 0x9D, 0x82, 0x35, 0xD5, 0xDD, 0x64,
347 0xCC, 0x1B, 0xA9, 0xC0, 0xEB, 0xE9, 0x42, 0x16,
348 0xE7, 0x87, 0xA3, 0xEF
355 /** AES-128-CBC SHA1 test vector */
356 static const struct blockcipher_test_data aes_test_data_4 = {
357 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
360 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
361 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
367 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
368 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
373 .data = plaintext_aes_common,
377 .data = ciphertext512_aes128cbc,
380 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
383 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
384 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
385 0xDE, 0xF4, 0xDE, 0xAD
391 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60,
392 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
393 0x18, 0x8C, 0x1D, 0x32
400 /** AES-128-CBC SHA256 test vector */
401 static const struct blockcipher_test_data aes_test_data_5 = {
402 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
405 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
406 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
412 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
413 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
418 .data = plaintext_aes_common,
422 .data = ciphertext512_aes128cbc,
425 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
428 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
429 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
430 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
431 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
437 0xC8, 0x57, 0x57, 0x31, 0x03, 0xE0, 0x03, 0x55,
438 0x07, 0xC8, 0x9E, 0x7F, 0x48, 0x9A, 0x61, 0x9A,
439 0x68, 0xEE, 0x03, 0x0E, 0x71, 0x75, 0xC7, 0xF4,
440 0x2E, 0x45, 0x26, 0x32, 0x7C, 0x12, 0x15, 0x15
447 /** AES-128-CBC SHA512 test vector */
448 static const struct blockcipher_test_data aes_test_data_6 = {
449 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
452 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
453 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
459 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
460 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
465 .data = plaintext_aes_common,
469 .data = ciphertext512_aes128cbc,
472 .auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC,
475 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
476 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
477 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
478 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
479 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
480 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
481 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
482 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
488 0x5D, 0x54, 0x66, 0xC1, 0x6E, 0xBC, 0x04, 0xB8,
489 0x46, 0xB8, 0x08, 0x6E, 0xE0, 0xF0, 0x43, 0x48,
490 0x37, 0x96, 0x9C, 0xC6, 0x9C, 0xC2, 0x1E, 0xE8,
491 0xF2, 0x0C, 0x0B, 0xEF, 0x86, 0xA2, 0xE3, 0x70,
492 0x95, 0xC8, 0xB3, 0x06, 0x47, 0xA9, 0x90, 0xE8,
493 0xA0, 0xC6, 0x72, 0x69, 0x05, 0xC0, 0x0D, 0x0E,
494 0x21, 0x96, 0x65, 0x93, 0x74, 0x43, 0x2A, 0x1D,
495 0x2E, 0xBF, 0xC2, 0xC2, 0xEE, 0xCC, 0x2F, 0x0A
502 /** AES-128-CBC XCBC test vector */
503 static const struct blockcipher_test_data aes_test_data_7 = {
504 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
507 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
508 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
514 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
515 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
520 .data = plaintext_aes_common,
524 .data = ciphertext512_aes128cbc,
527 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
530 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
531 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
537 0xE0, 0xAC, 0x9A, 0xC4, 0x22, 0x64, 0x35, 0x89,
538 0x77, 0x1D, 0x8B, 0x75
545 /** AES-128-CBC SHA224 test vector */
546 static const struct blockcipher_test_data aes_test_data_8 = {
547 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
550 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
551 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
557 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
558 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
563 .data = plaintext_aes_common,
567 .data = ciphertext512_aes128cbc,
570 .auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC,
573 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
574 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
575 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
576 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
577 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
578 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
579 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
580 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
586 0xA3, 0xCA, 0xC7, 0x1D, 0xA8, 0x61, 0x30, 0x98,
587 0x3B, 0x8F, 0x01, 0x19, 0xAE, 0x8D, 0xBD, 0x34,
588 0x40, 0x63, 0xA8, 0x2F, 0xDF, 0x85, 0x2B, 0x7F,
589 0x63, 0x7C, 0xDD, 0xB7
596 /** AES-128-CBC SHA384 test vector */
597 static const struct blockcipher_test_data aes_test_data_9 = {
598 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
601 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
602 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
608 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
609 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
614 .data = plaintext_aes_common,
618 .data = ciphertext512_aes128cbc,
621 .auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC,
624 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
625 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
626 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
627 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
628 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
629 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
630 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
631 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60,
632 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
633 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
634 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
635 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
636 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
637 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
638 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
639 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
645 0x23, 0x60, 0xC8, 0xB1, 0x2D, 0x6C, 0x1E, 0x72,
646 0x25, 0xAB, 0xF9, 0xC3, 0x9A, 0xA9, 0x4F, 0x8C,
647 0x56, 0x38, 0x65, 0x0E, 0x74, 0xD5, 0x45, 0x9D,
648 0xA3, 0xFD, 0x7E, 0x6D, 0x9E, 0x74, 0x88, 0x9D,
649 0xA7, 0x12, 0x9D, 0xD8, 0x81, 0x3C, 0x86, 0x2F,
650 0x4D, 0xF9, 0x6F, 0x0A, 0xB0, 0xC9, 0xEB, 0x0B
657 static const uint8_t ciphertext512_aes192cbc[] = {
658 0x45, 0xEE, 0x9A, 0xEA, 0x3C, 0x03, 0xFC, 0x4C,
659 0x84, 0x36, 0xB0, 0xDA, 0xB0, 0xDC, 0xF3, 0x5B,
660 0x75, 0xA7, 0xBE, 0x0E, 0xC0, 0x8D, 0x6C, 0xF8,
661 0xC1, 0x0F, 0xD0, 0x35, 0x1D, 0x82, 0xAE, 0x7C,
662 0x57, 0xC5, 0x7A, 0x55, 0x87, 0x1B, 0xD4, 0x03,
663 0x0A, 0x64, 0xC9, 0xE0, 0xF4, 0xC7, 0x6F, 0x57,
664 0x52, 0xC6, 0x73, 0xBA, 0x84, 0x0B, 0x5B, 0x89,
665 0x21, 0xD2, 0x9B, 0x88, 0x68, 0xF5, 0xA9, 0x7F,
666 0x3F, 0x49, 0xEB, 0xF4, 0xD4, 0x52, 0xD2, 0x64,
667 0x80, 0xB2, 0x53, 0xDA, 0x19, 0xF6, 0x10, 0x24,
668 0x23, 0x26, 0x7A, 0x7C, 0x07, 0x57, 0x4B, 0x0E,
669 0x58, 0x49, 0x61, 0xD1, 0xDC, 0x9A, 0x32, 0x6B,
670 0x0F, 0x43, 0x9E, 0x4D, 0xB4, 0x07, 0x4E, 0xB3,
671 0x51, 0x74, 0xDE, 0x29, 0xBC, 0x98, 0xF9, 0xDF,
672 0x78, 0x9A, 0x18, 0x9C, 0xD6, 0x7A, 0x55, 0x7C,
673 0xE6, 0x1D, 0x5C, 0x1A, 0x99, 0xD2, 0xC3, 0x7B,
674 0x9F, 0x96, 0x74, 0x2D, 0xE0, 0xEF, 0xD1, 0xE3,
675 0x08, 0x9F, 0xAF, 0xE6, 0xED, 0xCA, 0xE1, 0xEA,
676 0x23, 0x6F, 0x7C, 0x81, 0xA8, 0xC0, 0x5B, 0x8B,
677 0x53, 0x90, 0x51, 0x2D, 0x0F, 0xF6, 0x7D, 0xA7,
678 0x1C, 0xBD, 0x83, 0x84, 0x54, 0xA4, 0x15, 0xFB,
679 0x3E, 0x25, 0xA7, 0x3A, 0x0A, 0x73, 0xD9, 0x88,
680 0x6F, 0x80, 0x78, 0x95, 0x7F, 0x60, 0xAA, 0x86,
681 0x8A, 0xFC, 0xDF, 0xC1, 0xCB, 0xDE, 0xBB, 0x25,
682 0x52, 0x20, 0xC6, 0x79, 0xD4, 0x0F, 0x25, 0xE7,
683 0xDB, 0xB2, 0x17, 0xA4, 0x6F, 0x3C, 0x6F, 0x91,
684 0xF6, 0x44, 0x1E, 0xB6, 0x85, 0xBC, 0x7A, 0x14,
685 0x10, 0x72, 0xBD, 0x16, 0x63, 0x39, 0x9E, 0x7B,
686 0x84, 0x5B, 0x17, 0x61, 0xB1, 0x5D, 0x82, 0x0B,
687 0x6D, 0x37, 0xD7, 0x79, 0xB8, 0x24, 0x91, 0x30,
688 0x82, 0x91, 0x02, 0xB1, 0x18, 0x4B, 0xE0, 0xF4,
689 0x13, 0x1B, 0xB2, 0x4C, 0xDA, 0xB8, 0x99, 0x96,
690 0x83, 0x2F, 0xBE, 0x53, 0x8D, 0xDE, 0xFA, 0xAD,
691 0xF6, 0x5C, 0xDB, 0xE5, 0x66, 0x26, 0x8F, 0x13,
692 0x2B, 0x76, 0x47, 0x73, 0xDE, 0x1A, 0x74, 0xA6,
693 0x30, 0xAF, 0x42, 0xA0, 0xE5, 0xD2, 0x8F, 0xC2,
694 0xED, 0x3E, 0x9E, 0x29, 0x54, 0x3C, 0xDE, 0x9F,
695 0x5D, 0x30, 0x2B, 0x63, 0xFB, 0xE3, 0xB1, 0x07,
696 0xEE, 0x74, 0x4A, 0xAF, 0xB1, 0x20, 0x8D, 0xEC,
697 0xE6, 0x78, 0x16, 0x8D, 0xA4, 0x6E, 0x34, 0x7D,
698 0x47, 0xFB, 0x0B, 0xC1, 0x32, 0xD7, 0x0D, 0x6C,
699 0x6F, 0x93, 0x9C, 0x5E, 0xEF, 0x1F, 0x9C, 0x45,
700 0x80, 0x6B, 0x74, 0xA6, 0x81, 0xF2, 0xF6, 0xFA,
701 0xAA, 0x9D, 0x4F, 0xCA, 0xB5, 0x90, 0x59, 0xB0,
702 0x3B, 0xF2, 0xF0, 0x75, 0xFD, 0x8A, 0xD8, 0x97,
703 0x65, 0x88, 0x56, 0x4C, 0x44, 0xDF, 0x73, 0xF7,
704 0x56, 0x9C, 0x48, 0x7E, 0xB0, 0x1F, 0x1D, 0x7D,
705 0x6A, 0x11, 0xF5, 0xC2, 0xF4, 0x17, 0xEF, 0x58,
706 0xD8, 0x2A, 0xAF, 0x56, 0x2F, 0xCF, 0xEC, 0xA4,
707 0x58, 0x8B, 0x60, 0xCE, 0xD4, 0x0F, 0x9C, 0x21,
708 0xEC, 0x3E, 0x74, 0x7B, 0x81, 0x3D, 0x69, 0xC6,
709 0x5E, 0x12, 0x83, 0xE9, 0xEF, 0x81, 0x58, 0x36,
710 0x6A, 0x60, 0x0F, 0x54, 0x28, 0x11, 0xF9, 0x64,
711 0x36, 0xAD, 0x79, 0xF5, 0x1C, 0x74, 0xD0, 0xC3,
712 0x7B, 0x61, 0xE1, 0x92, 0xB0, 0x13, 0x91, 0x87,
713 0x32, 0x1F, 0xF2, 0x5A, 0xDA, 0x25, 0x69, 0xEB,
714 0xD7, 0x32, 0x7F, 0xF5, 0x23, 0x21, 0x54, 0x47,
715 0x7B, 0x1B, 0x33, 0xB0, 0x3D, 0xF6, 0xE2, 0x7E,
716 0x3E, 0xA2, 0x9E, 0xCA, 0x48, 0x0B, 0x4A, 0x29,
717 0x81, 0xD4, 0x4E, 0xD5, 0x69, 0xFB, 0xCD, 0x37,
718 0x8A, 0xC1, 0x5B, 0x50, 0xFF, 0xB5, 0x7D, 0x43,
719 0x0F, 0xAE, 0xA6, 0xC2, 0xE5, 0x8F, 0x45, 0xB2,
720 0x85, 0x99, 0x02, 0xA2, 0x9B, 0xBE, 0x90, 0x43,
721 0x4F, 0x2F, 0x50, 0xE2, 0x77, 0x62, 0xD9, 0xCC
724 /** AES-192-CBC test vector */
725 static const struct blockcipher_test_data aes_test_data_10 = {
726 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
729 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
730 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
731 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
737 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
738 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
743 .data = plaintext_aes_common,
747 .data = ciphertext512_aes192cbc,
752 static const uint8_t ciphertext512_aes256cbc[] = {
753 0xF3, 0xDD, 0xF0, 0x0B, 0xFF, 0xA2, 0x6A, 0x04,
754 0xBE, 0xDA, 0x52, 0xA6, 0xFE, 0x6B, 0xA6, 0xA7,
755 0x48, 0x1D, 0x7D, 0x98, 0x65, 0xDB, 0xEF, 0x06,
756 0x26, 0xB5, 0x8E, 0xEB, 0x05, 0x0E, 0x77, 0x98,
757 0x17, 0x8E, 0xD0, 0xD4, 0x7B, 0x92, 0x8F, 0x5C,
758 0xD0, 0x74, 0x5C, 0xA8, 0x4B, 0x54, 0xB6, 0x2F,
759 0x83, 0x72, 0x2C, 0xFF, 0x72, 0xE9, 0xE4, 0x15,
760 0x4C, 0x32, 0xAF, 0xC8, 0xC9, 0x89, 0x3C, 0x6E,
761 0x31, 0xD5, 0xC0, 0x16, 0xC0, 0x31, 0x7D, 0x11,
762 0xAB, 0xCB, 0xDE, 0xD2, 0xD6, 0xAA, 0x76, 0x5E,
763 0xBA, 0xF6, 0xE2, 0x92, 0xCB, 0x86, 0x07, 0xFA,
764 0xD4, 0x9E, 0x83, 0xED, 0xFD, 0xB8, 0x70, 0x54,
765 0x6B, 0xBE, 0xEC, 0x72, 0xDD, 0x28, 0x5E, 0x95,
766 0x78, 0xA5, 0x28, 0x43, 0x3D, 0x6D, 0xB1, 0xD9,
767 0x69, 0x1F, 0xC9, 0x66, 0x0E, 0x32, 0x44, 0x08,
768 0xD2, 0xAE, 0x2C, 0x43, 0xF2, 0xD0, 0x7D, 0x26,
769 0x70, 0xE5, 0xA1, 0xCA, 0x37, 0xE9, 0x7D, 0xC7,
770 0xA3, 0xFA, 0x81, 0x91, 0x64, 0xAA, 0x64, 0x91,
771 0x9A, 0x95, 0x2D, 0xC9, 0xF9, 0xCE, 0xFE, 0x9F,
772 0xC4, 0xD8, 0x81, 0xBE, 0x57, 0x84, 0xC5, 0x02,
773 0xDB, 0x30, 0xC1, 0xD9, 0x0E, 0xA0, 0xA6, 0x00,
774 0xD6, 0xF3, 0x52, 0x7E, 0x0D, 0x23, 0x6B, 0x2B,
775 0x34, 0x99, 0x1F, 0x70, 0x27, 0x6D, 0x58, 0x84,
776 0x93, 0x77, 0xB8, 0x3E, 0xF1, 0x71, 0x58, 0x42,
777 0x8B, 0x2B, 0xC8, 0x6D, 0x05, 0x84, 0xFF, 0x4E,
778 0x85, 0xEF, 0x4A, 0x9D, 0x91, 0x6A, 0xD5, 0xE1,
779 0xAF, 0x01, 0xEB, 0x83, 0x8F, 0x23, 0x7C, 0x7F,
780 0x12, 0x91, 0x05, 0xF0, 0x4E, 0xD9, 0x17, 0x62,
781 0x75, 0xBB, 0xAC, 0x97, 0xEE, 0x3B, 0x4E, 0xC7,
782 0xE5, 0x92, 0xF8, 0x9D, 0x4C, 0xF9, 0xEE, 0x55,
783 0x18, 0xBB, 0xCC, 0xB4, 0xF2, 0x59, 0xB9, 0xFC,
784 0x7A, 0x0F, 0x98, 0xD4, 0x8B, 0xFE, 0xF7, 0x83,
785 0x46, 0xE2, 0x83, 0x33, 0x3E, 0x95, 0x8D, 0x17,
786 0x1E, 0x85, 0xF8, 0x8C, 0x51, 0xB0, 0x6C, 0xB5,
787 0x5E, 0x95, 0xBA, 0x4B, 0x69, 0x1B, 0x48, 0x69,
788 0x0B, 0x8F, 0xA5, 0x18, 0x13, 0xB9, 0x77, 0xD1,
789 0x80, 0x32, 0x32, 0x6D, 0x53, 0xA1, 0x95, 0x40,
790 0x96, 0x8A, 0xCC, 0xA3, 0x69, 0xF8, 0x9F, 0xB5,
791 0x8E, 0xD2, 0x68, 0x07, 0x4F, 0xA7, 0xEC, 0xF8,
792 0x20, 0x21, 0x58, 0xF8, 0xD8, 0x9E, 0x5F, 0x40,
793 0xBA, 0xB9, 0x76, 0x57, 0x3B, 0x17, 0xAD, 0xEE,
794 0xCB, 0xDF, 0x07, 0xC1, 0xDF, 0x66, 0xA8, 0x0D,
795 0xC2, 0xCE, 0x8F, 0x79, 0xC3, 0x32, 0xE0, 0x8C,
796 0xFE, 0x5A, 0xF3, 0x55, 0x27, 0x73, 0x6F, 0xA1,
797 0x54, 0xC6, 0xFC, 0x28, 0x9D, 0xBE, 0x97, 0xB9,
798 0x54, 0x97, 0x72, 0x3A, 0x61, 0xAF, 0x6F, 0xDE,
799 0xF8, 0x0E, 0xBB, 0x6B, 0x96, 0x84, 0xDD, 0x9B,
800 0x62, 0xBA, 0x47, 0xB5, 0xC9, 0x3B, 0x4E, 0x8C,
801 0x78, 0x2A, 0xCC, 0x0A, 0x69, 0x54, 0x25, 0x5E,
802 0x8B, 0xAC, 0x56, 0xD9, 0xFE, 0x48, 0xBA, 0xCE,
803 0xA9, 0xCE, 0xA6, 0x1D, 0xBF, 0x3E, 0x3C, 0x66,
804 0x40, 0x71, 0x79, 0xAD, 0x5B, 0x26, 0xAD, 0xBE,
805 0x58, 0x13, 0x64, 0x60, 0x7C, 0x05, 0xFC, 0xE3,
806 0x51, 0x7A, 0xF2, 0xCC, 0x54, 0x16, 0x2C, 0xA4,
807 0xCE, 0x5F, 0x59, 0x12, 0x77, 0xEB, 0xD9, 0x23,
808 0xE3, 0x86, 0xFB, 0xD7, 0x48, 0x76, 0x9D, 0xE3,
809 0x89, 0x87, 0x39, 0xFA, 0x7B, 0x21, 0x0B, 0x76,
810 0xB2, 0xED, 0x1C, 0x27, 0x4B, 0xD5, 0x27, 0x05,
811 0x8C, 0x7D, 0x58, 0x6C, 0xCA, 0xA5, 0x54, 0x9A,
812 0x0F, 0xCB, 0xE9, 0x88, 0x31, 0xAD, 0x49, 0xEE,
813 0x38, 0xFB, 0xC9, 0xFB, 0xB4, 0x7A, 0x00, 0x58,
814 0x20, 0x32, 0xD3, 0x53, 0x5A, 0xDD, 0x74, 0x95,
815 0x60, 0x59, 0x09, 0xAE, 0x7E, 0xEC, 0x74, 0xA3,
816 0xB7, 0x1C, 0x6D, 0xF2, 0xAE, 0x79, 0xA4, 0x7C
819 /** AES-256-CBC test vector */
820 static const struct blockcipher_test_data aes_test_data_11 = {
821 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
824 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
825 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
826 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0,
827 0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D
833 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
834 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
839 .data = plaintext_aes_common,
843 .data = ciphertext512_aes256cbc,
848 /** AES-128-CBC SHA256 HMAC test vector (160 bytes) */
849 static const struct blockcipher_test_data aes_test_data_12 = {
850 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
853 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
854 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
860 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
861 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
866 .data = plaintext_aes_common,
870 .data = ciphertext512_aes128cbc,
873 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
876 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
877 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
878 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
879 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
885 0x92, 0xEC, 0x65, 0x9A, 0x52, 0xCC, 0x50, 0xA5,
886 0xEE, 0x0E, 0xDF, 0x1E, 0xA4, 0xC9, 0xC1, 0x04,
887 0xD5, 0xDC, 0x78, 0x90, 0xF4, 0xE3, 0x35, 0x62,
888 0xAD, 0x95, 0x45, 0x28, 0x5C, 0xF8, 0x8C, 0x0B
895 /** AES-128-CBC SHA1 HMAC test vector (160 bytes) */
896 static const struct blockcipher_test_data aes_test_data_13 = {
897 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
900 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
901 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
907 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
908 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
913 .data = plaintext_aes_common,
917 .data = ciphertext512_aes128cbc,
920 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
923 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
924 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
925 0xDE, 0xF4, 0xDE, 0xAD
931 0x4F, 0x16, 0xEA, 0xF7, 0x4A, 0x88, 0xD3, 0xE0,
932 0x0E, 0x12, 0x8B, 0xE7, 0x05, 0xD0, 0x86, 0x48,
933 0x22, 0x43, 0x30, 0xA7
940 /* AES-DOCSIS-BPI test vectors */
942 /* Multiple of AES block size */
943 static const struct blockcipher_test_data aes_test_data_docsis_1 = {
944 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
947 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
948 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
954 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
955 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
960 .data = plaintext_aes_common,
964 .data = ciphertext512_aes128cbc,
969 /* Less than AES block size */
970 static const struct blockcipher_test_data aes_test_data_docsis_2 = {
971 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
974 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
975 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
981 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
982 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
987 .data = plaintext_aes_docsis_bpi_cfb,
991 .data = ciphertext_aes_docsis_bpi_cfb,
996 /* Not multiple of AES block size */
997 static const struct blockcipher_test_data aes_test_data_docsis_3 = {
998 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1001 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
1002 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
1008 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
1009 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
1014 .data = plaintext_aes_docsis_bpi_cbc_cfb,
1018 .data = ciphertext_aes_docsis_bpi_cbc_cfb,
1023 static const struct blockcipher_test_case aes_chain_test_cases[] = {
1025 .test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest",
1026 .test_data = &aes_test_data_1,
1027 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1028 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1029 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1030 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1031 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1034 .test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest "
1036 .test_data = &aes_test_data_1,
1037 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1038 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1039 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1040 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1041 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1044 .test_descr = "AES-192-CTR XCBC Encryption Digest",
1045 .test_data = &aes_test_data_2,
1046 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1047 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1048 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1049 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1052 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify",
1053 .test_data = &aes_test_data_2,
1054 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1055 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1056 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1057 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1060 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
1062 .test_data = &aes_test_data_2,
1063 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1064 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1065 BLOCKCIPHER_TEST_FEATURE_OOP,
1066 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1067 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1068 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1071 .test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest",
1072 .test_data = &aes_test_data_3,
1073 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1074 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1075 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1076 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1077 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1080 .test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest "
1082 .test_data = &aes_test_data_3,
1083 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1084 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1085 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1086 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1087 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1090 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest",
1091 .test_data = &aes_test_data_4,
1092 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1093 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1094 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1095 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1096 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1097 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1100 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1102 .test_data = &aes_test_data_13,
1103 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1104 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8
1107 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1109 .test_data = &aes_test_data_4,
1110 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1111 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1112 BLOCKCIPHER_TEST_FEATURE_OOP,
1113 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1114 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1115 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1116 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1119 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1121 .test_data = &aes_test_data_4,
1122 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1123 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1124 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1125 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1126 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1127 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1130 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1131 "Verify (short buffers)",
1132 .test_data = &aes_test_data_13,
1133 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1134 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8
1137 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest",
1138 .test_data = &aes_test_data_5,
1139 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1140 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1141 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1142 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1143 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1144 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1147 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest "
1149 .test_data = &aes_test_data_12,
1150 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1151 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8
1154 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1156 .test_data = &aes_test_data_5,
1157 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1158 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1159 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1160 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1161 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1162 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1165 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1166 "Verify (short buffers)",
1167 .test_data = &aes_test_data_12,
1168 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1169 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8
1172 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest",
1173 .test_data = &aes_test_data_6,
1174 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1175 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1176 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1177 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1178 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1181 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
1183 .test_data = &aes_test_data_6,
1184 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1185 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1186 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1187 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1190 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
1191 "Scatter Gather Sessionless",
1192 .test_data = &aes_test_data_6,
1193 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1194 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
1195 BLOCKCIPHER_TEST_FEATURE_SG |
1196 BLOCKCIPHER_TEST_FEATURE_OOP,
1197 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1198 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1201 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1203 .test_data = &aes_test_data_6,
1204 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1205 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1206 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1207 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1208 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1211 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1212 "Verify Scatter Gather",
1213 .test_data = &aes_test_data_6,
1214 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1215 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1216 BLOCKCIPHER_TEST_FEATURE_OOP,
1217 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1218 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1219 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1220 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1223 .test_descr = "AES-128-CBC XCBC Encryption Digest",
1224 .test_data = &aes_test_data_7,
1225 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1226 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1227 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1228 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1231 .test_descr = "AES-128-CBC XCBC Decryption Digest Verify",
1232 .test_data = &aes_test_data_7,
1233 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1234 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1235 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1236 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1239 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1241 .test_data = &aes_test_data_4,
1242 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1243 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1244 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1245 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1246 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1249 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1251 .test_data = &aes_test_data_4,
1252 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1253 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1254 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1255 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1256 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1259 .test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest",
1260 .test_data = &aes_test_data_8,
1261 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1262 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1263 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1264 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1265 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1268 .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest "
1270 .test_data = &aes_test_data_8,
1271 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1272 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1273 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1274 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1275 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1278 .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest",
1279 .test_data = &aes_test_data_9,
1280 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1281 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1282 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1283 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1284 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1287 .test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest "
1289 .test_data = &aes_test_data_9,
1290 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1291 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1292 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1293 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1294 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1297 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1299 .test_data = &aes_test_data_4,
1300 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1301 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1302 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1303 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1307 "AES-128-CBC HMAC-SHA1 Decryption Digest "
1308 "Verify Sessionless",
1309 .test_data = &aes_test_data_4,
1310 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1311 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1312 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1313 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1317 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
1319 .test_descr = "AES-128-CBC Encryption",
1320 .test_data = &aes_test_data_4,
1321 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1322 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1323 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1324 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1325 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1328 .test_descr = "AES-128-CBC Decryption",
1329 .test_data = &aes_test_data_4,
1330 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1331 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1332 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1333 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1334 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1337 .test_descr = "AES-192-CBC Encryption",
1338 .test_data = &aes_test_data_10,
1339 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1340 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1341 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1342 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1343 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1346 .test_descr = "AES-192-CBC Encryption Scater gather",
1347 .test_data = &aes_test_data_10,
1348 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1349 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1350 BLOCKCIPHER_TEST_FEATURE_OOP,
1351 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1354 .test_descr = "AES-192-CBC Decryption",
1355 .test_data = &aes_test_data_10,
1356 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1357 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1358 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1359 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1360 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1363 .test_descr = "AES-256-CBC Encryption",
1364 .test_data = &aes_test_data_11,
1365 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1366 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1367 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1368 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1369 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1372 .test_descr = "AES-256-CBC Decryption",
1373 .test_data = &aes_test_data_11,
1374 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1375 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1376 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1377 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1378 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1381 .test_descr = "AES-256-CBC OOP Encryption",
1382 .test_data = &aes_test_data_11,
1383 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1384 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1385 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1386 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1389 .test_descr = "AES-256-CBC OOP Decryption",
1390 .test_data = &aes_test_data_11,
1391 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1392 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1393 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1394 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1397 .test_descr = "AES-128-CTR Encryption",
1398 .test_data = &aes_test_data_1,
1399 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1400 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1401 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1402 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1403 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1406 .test_descr = "AES-128-CTR Decryption",
1407 .test_data = &aes_test_data_1,
1408 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1409 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1410 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1411 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1412 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1415 .test_descr = "AES-192-CTR Encryption",
1416 .test_data = &aes_test_data_2,
1417 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1418 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1419 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1420 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1421 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1424 .test_descr = "AES-192-CTR Decryption",
1425 .test_data = &aes_test_data_2,
1426 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1427 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1428 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1429 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1430 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1433 .test_descr = "AES-256-CTR Encryption",
1434 .test_data = &aes_test_data_3,
1435 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1436 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1437 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1438 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1439 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1442 .test_descr = "AES-256-CTR Decryption",
1443 .test_data = &aes_test_data_3,
1444 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1445 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1446 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1447 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1448 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1452 static const struct blockcipher_test_case aes_docsis_test_cases[] = {
1455 .test_descr = "AES-DOCSIS-BPI Full Block Encryption",
1456 .test_data = &aes_test_data_docsis_1,
1457 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1458 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1459 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1462 .test_descr = "AES-DOCSIS-BPI Runt Block Encryption",
1463 .test_data = &aes_test_data_docsis_2,
1464 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1465 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1466 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1469 .test_descr = "AES-DOCSIS-BPI Uneven Encryption",
1470 .test_data = &aes_test_data_docsis_3,
1471 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1472 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1473 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1476 .test_descr = "AES-DOCSIS-BPI Full Block Decryption",
1477 .test_data = &aes_test_data_docsis_1,
1478 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1479 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1480 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1483 .test_descr = "AES-DOCSIS-BPI Runt Block Decryption",
1484 .test_data = &aes_test_data_docsis_2,
1485 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1486 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1487 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1490 .test_descr = "AES-DOCSIS-BPI Uneven Decryption",
1491 .test_data = &aes_test_data_docsis_3,
1492 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1493 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1494 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1497 .test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption",
1498 .test_data = &aes_test_data_docsis_1,
1499 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1500 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1501 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1504 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption",
1505 .test_data = &aes_test_data_docsis_2,
1506 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1507 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1508 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1511 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption",
1512 .test_data = &aes_test_data_docsis_3,
1513 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1514 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1515 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1518 .test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption",
1519 .test_data = &aes_test_data_docsis_1,
1520 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1521 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1522 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1525 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption",
1526 .test_data = &aes_test_data_docsis_2,
1527 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1528 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1529 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1532 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Decryption",
1533 .test_data = &aes_test_data_docsis_3,
1534 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1535 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1536 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1539 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */