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 ciphertext64_aes128ctr_IV_12bytes[] = {
60 0x28, 0x80, 0x28, 0xC7, 0x15, 0x99, 0xC5, 0xA8,
61 0xDD, 0x53, 0xC2, 0x67, 0x1B, 0x86, 0xB8, 0x13,
62 0xAB, 0x25, 0x39, 0x7A, 0xD2, 0x1F, 0x8B, 0x4B,
63 0x94, 0x89, 0x2B, 0x65, 0xCF, 0x89, 0x1E, 0xDD,
64 0xD4, 0x7C, 0xFD, 0x8D, 0x0E, 0xCD, 0x23, 0xA4,
65 0xEB, 0x8C, 0x05, 0x58, 0x45, 0x4A, 0x63, 0x44,
66 0x11, 0x42, 0x07, 0x17, 0xB4, 0xD2, 0xCC, 0x75,
67 0xB7, 0x23, 0x99, 0xA9, 0xC5, 0x89, 0x7F, 0x66
70 static const uint8_t plaintext_aes_docsis_bpi_cfb[] = {
71 0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E
74 static const uint8_t ciphertext_aes_docsis_bpi_cfb[] = {
75 0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC
78 static const uint8_t plaintext_aes_docsis_bpi_cbc_cfb[] = {
79 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
80 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91,
84 static const uint8_t ciphertext_aes_docsis_bpi_cbc_cfb[] = {
85 0x9D, 0xD1, 0x67, 0x4B, 0xBA, 0x61, 0x10, 0x1B,
86 0x56, 0x75, 0x64, 0x74, 0x36, 0x4F, 0x10, 0x1D,
90 static const uint8_t plaintext_aes192ctr[] = {
91 0x01, 0x0F, 0x10, 0x1F, 0x20, 0x1C, 0x0E, 0xB8,
92 0xFB, 0x5C, 0xCD, 0xCC, 0x1F, 0xF9, 0xAF, 0x0B,
93 0x95, 0x03, 0x74, 0x99, 0x49, 0xE7, 0x62, 0x55,
94 0xDA, 0xEA, 0x13, 0x20, 0x1D, 0xC6, 0xCC, 0xCC,
95 0xD1, 0x70, 0x75, 0x47, 0x02, 0x2F, 0xFB, 0x86,
96 0xBB, 0x6B, 0x23, 0xD2, 0xC9, 0x74, 0xD7, 0x7B,
97 0x08, 0x03, 0x3B, 0x79, 0x39, 0xBB, 0x91, 0x29,
98 0xDA, 0x14, 0x39, 0x8D, 0xFF, 0x81, 0x50, 0x96,
101 static const uint8_t ciphertext64_aes192ctr[] = {
102 0x4A, 0x6C, 0xC8, 0xCC, 0x96, 0x2A, 0x13, 0x84,
103 0x1C, 0x36, 0x88, 0xE9, 0xE5, 0x94, 0x70, 0xB2,
104 0x14, 0x5B, 0x13, 0x80, 0xEA, 0xD8, 0x8D, 0x37,
105 0xFD, 0x70, 0xA8, 0x83, 0xE8, 0x2B, 0x88, 0x1E,
106 0xBA, 0x94, 0x3F, 0xF6, 0xB3, 0x1F, 0xDE, 0x34,
107 0xF3, 0x5B, 0x80, 0xE9, 0xAB, 0xF5, 0x1C, 0x29,
108 0xB6, 0xD9, 0x76, 0x2B, 0x06, 0xC6, 0x74, 0xF1,
109 0x59, 0x5E, 0x9E, 0xA5, 0x7B, 0x2D, 0xD7, 0xF0
112 static const uint8_t ciphertext64_aes192ctr_IV_12bytes[] = {
113 0x67, 0x65, 0xa9, 0xee, 0xfd, 0x31, 0x62, 0xfc,
114 0xad, 0xfd, 0xc7, 0x25, 0xb7, 0x25, 0x16, 0xbe,
115 0x25, 0xce, 0xc0, 0x1d, 0xda, 0xa9, 0xd3, 0xda,
116 0x1b, 0x7d, 0x68, 0x6a, 0x6f, 0x06, 0xea, 0x47,
117 0xa0, 0xe0, 0x15, 0xf4, 0xbd, 0x1b, 0x70, 0x34,
118 0xd4, 0x6d, 0x1c, 0x84, 0x17, 0x91, 0x46, 0x0c,
119 0xe8, 0xbc, 0x7a, 0xfb, 0x9f, 0x2a, 0x8f, 0xb4,
120 0xd4, 0xf3, 0x6e, 0x5b, 0x75, 0xa0, 0xce, 0x32
123 static const uint8_t plaintext_aes256ctr[] = {
124 0x6B, 0xC1, 0xBE, 0xE2, 0x2E, 0x40, 0x9F, 0x96,
125 0xE9, 0x3D, 0x7E, 0x11, 0x73, 0x93, 0x17, 0x2A,
126 0xAE, 0x2D, 0x8A, 0x57, 0x1E, 0x03, 0xAC, 0x9C,
127 0x9E, 0xB7, 0x6F, 0xAC, 0x45, 0xAF, 0x8E, 0x51,
128 0x30, 0xC8, 0x1C, 0x46, 0xA3, 0x5C, 0xE4, 0x11,
129 0xE5, 0xFB, 0xC1, 0x19, 0x1A, 0x0A, 0x52, 0xEF,
130 0xF6, 0x9F, 0x24, 0x45, 0xDF, 0x4F, 0x9B, 0x17,
131 0xAD, 0x2B, 0x41, 0x7B, 0xE6, 0x6C, 0x37, 0x10
134 static const uint8_t ciphertext64_aes256ctr[] = {
135 0x60, 0x1E, 0xC3, 0x13, 0x77, 0x57, 0x89, 0xA5,
136 0xB7, 0xA7, 0xF5, 0x04, 0xBB, 0xF3, 0xD2, 0x28,
137 0xF4, 0x43, 0xE3, 0xCA, 0x4D, 0x62, 0xB5, 0x9A,
138 0xCA, 0x84, 0xE9, 0x90, 0xCA, 0xCA, 0xF5, 0xC5,
139 0x2B, 0x09, 0x30, 0xDA, 0xA2, 0x3D, 0xE9, 0x4C,
140 0xE8, 0x70, 0x17, 0xBA, 0x2D, 0x84, 0x98, 0x8D,
141 0xDF, 0xC9, 0xC5, 0x8D, 0xB6, 0x7A, 0xAD, 0xA6,
142 0x13, 0xC2, 0xDD, 0x08, 0x45, 0x79, 0x41, 0xA6
145 static const uint8_t ciphertext64_aes256ctr_IV_12bytes[] = {
146 0x7B, 0x7A, 0x7D, 0x83, 0x85, 0xF8, 0x81, 0xF3,
147 0x32, 0x33, 0xD9, 0xFB, 0x04, 0x73, 0xD4, 0x2F,
148 0x70, 0xDE, 0x90, 0x3E, 0xD0, 0xA9, 0x93, 0x8A,
149 0x91, 0xF3, 0xB5, 0x29, 0x4D, 0x2A, 0x74, 0xD0,
150 0xDC, 0x4E, 0x5C, 0x9B, 0x97, 0x24, 0xD8, 0x02,
151 0xFE, 0xAB, 0x38, 0xE8, 0x73, 0x51, 0x29, 0x7E,
152 0xF1, 0xF9, 0x40, 0x78, 0xB1, 0x04, 0x7A, 0x78,
153 0x61, 0x07, 0x47, 0xE6, 0x8C, 0x0F, 0xA8, 0x76
156 static const uint8_t plaintext_aes_common[] = {
157 "What a lousy earth! He wondered how many people "
158 "were destitute that same night even in his own "
159 "prosperous country, how many homes were "
160 "shanties, how many husbands were drunk and "
161 "wives socked, and how many children were "
162 "bullied, abused, or abandoned. How many "
163 "families hungered for food they could not "
164 "afford to buy? How many hearts were broken? How "
165 "many suicides would take place that same night, "
166 "how many people would go insane? How many "
167 "cockroaches and landlords would triumph? How "
168 "many winners were losers, successes failures, "
169 "and rich men poor men? How many wise guys were "
170 "stupid? How many happy endings were unhappy "
171 "endings? How many honest men were liars, brave "
172 "men cowards, loyal men traitors, how many "
173 "sainted men were corrupt, how many people in "
174 "positions of trust had sold their souls to "
175 "bodyguards, how many had never had souls? How "
176 "many straight-and-narrow paths were crooked "
177 "paths? How many best families were worst "
178 "families and how many good people were bad "
179 "people? When you added them all up and then "
180 "subtracted, you might be left with only the "
181 "children, and perhaps with Albert Einstein and "
182 "an old violinist or sculptor somewhere."
185 static const uint8_t ciphertext512_aes128cbc[] = {
186 0x8B, 0x4D, 0xDA, 0x1B, 0xCF, 0x04, 0xA0, 0x31,
187 0xB4, 0xBF, 0xBD, 0x68, 0x43, 0x20, 0x7E, 0x76,
188 0xB1, 0x96, 0x8B, 0xA2, 0x7C, 0xA2, 0x83, 0x9E,
189 0x39, 0x5A, 0x2F, 0x7E, 0x92, 0xB4, 0x48, 0x1A,
190 0x3F, 0x6B, 0x5D, 0xDF, 0x52, 0x85, 0x5F, 0x8E,
191 0x42, 0x3C, 0xFB, 0xE9, 0x1A, 0x24, 0xD6, 0x08,
192 0xDD, 0xFD, 0x16, 0xFB, 0xE9, 0x55, 0xEF, 0xF0,
193 0xA0, 0x8D, 0x13, 0xAB, 0x81, 0xC6, 0x90, 0x01,
194 0xB5, 0x18, 0x84, 0xB3, 0xF6, 0xE6, 0x11, 0x57,
195 0xD6, 0x71, 0xC6, 0x3C, 0x3F, 0x2F, 0x33, 0xEE,
196 0x24, 0x42, 0x6E, 0xAC, 0x0B, 0xCA, 0xEC, 0xF9,
197 0x84, 0xF8, 0x22, 0xAA, 0x60, 0xF0, 0x32, 0xA9,
198 0x75, 0x75, 0x3B, 0xCB, 0x70, 0x21, 0x0A, 0x8D,
199 0x0F, 0xE0, 0xC4, 0x78, 0x2B, 0xF8, 0x97, 0xE3,
200 0xE4, 0x26, 0x4B, 0x29, 0xDA, 0x88, 0xCD, 0x46,
201 0xEC, 0xAA, 0xF9, 0x7F, 0xF1, 0x15, 0xEA, 0xC3,
202 0x87, 0xE6, 0x31, 0xF2, 0xCF, 0xDE, 0x4D, 0x80,
203 0x70, 0x91, 0x7E, 0x0C, 0xF7, 0x26, 0x3A, 0x92,
204 0x4F, 0x18, 0x83, 0xC0, 0x8F, 0x59, 0x01, 0xA5,
205 0x88, 0xD1, 0xDB, 0x26, 0x71, 0x27, 0x16, 0xF5,
206 0xEE, 0x10, 0x82, 0xAC, 0x68, 0x26, 0x9B, 0xE2,
207 0x6D, 0xD8, 0x9A, 0x80, 0xDF, 0x04, 0x31, 0xD5,
208 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
209 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
210 0x73, 0x02, 0x42, 0xC9, 0x23, 0x18, 0x8E, 0xB4,
211 0x6F, 0xB4, 0xA3, 0x54, 0x6E, 0x88, 0x3B, 0x62,
212 0x7C, 0x02, 0x8D, 0x4C, 0x9F, 0xC8, 0x45, 0xF4,
213 0xC9, 0xDE, 0x4F, 0xEB, 0x22, 0x83, 0x1B, 0xE4,
214 0x49, 0x37, 0xE4, 0xAD, 0xE7, 0xCD, 0x21, 0x54,
215 0xBC, 0x1C, 0xC2, 0x04, 0x97, 0xB4, 0x10, 0x61,
216 0xF0, 0xE4, 0xEF, 0x27, 0x63, 0x3A, 0xDA, 0x91,
217 0x41, 0x25, 0x62, 0x1C, 0x5C, 0xB6, 0x38, 0x4A,
218 0x88, 0x71, 0x59, 0x5A, 0x8D, 0xA0, 0x09, 0xAF,
219 0x72, 0x94, 0xD7, 0x79, 0x5C, 0x60, 0x7C, 0x8F,
220 0x4C, 0xF5, 0xD9, 0xA1, 0x39, 0x6D, 0x81, 0x28,
221 0xEF, 0x13, 0x28, 0xDF, 0xF5, 0x3E, 0xF7, 0x8E,
222 0x09, 0x9C, 0x78, 0x18, 0x79, 0xB8, 0x68, 0xD7,
223 0xA8, 0x29, 0x62, 0xAD, 0xDE, 0xE1, 0x61, 0x76,
224 0x1B, 0x05, 0x16, 0xCD, 0xBF, 0x02, 0x8E, 0xA6,
225 0x43, 0x6E, 0x92, 0x55, 0x4F, 0x60, 0x9C, 0x03,
226 0xB8, 0x4F, 0xA3, 0x02, 0xAC, 0xA8, 0xA7, 0x0C,
227 0x1E, 0xB5, 0x6B, 0xF8, 0xC8, 0x4D, 0xDE, 0xD2,
228 0xB0, 0x29, 0x6E, 0x40, 0xE6, 0xD6, 0xC9, 0xE6,
229 0xB9, 0x0F, 0xB6, 0x63, 0xF5, 0xAA, 0x2B, 0x96,
230 0xA7, 0x16, 0xAC, 0x4E, 0x0A, 0x33, 0x1C, 0xA6,
231 0xE6, 0xBD, 0x8A, 0xCF, 0x40, 0xA9, 0xB2, 0xFA,
232 0x63, 0x27, 0xFD, 0x9B, 0xD9, 0xFC, 0xD5, 0x87,
233 0x8D, 0x4C, 0xB6, 0xA4, 0xCB, 0xE7, 0x74, 0x55,
234 0xF4, 0xFB, 0x41, 0x25, 0xB5, 0x4B, 0x0A, 0x1B,
235 0xB1, 0xD6, 0xB7, 0xD9, 0x47, 0x2A, 0xC3, 0x98,
236 0x6A, 0xC4, 0x03, 0x73, 0x1F, 0x93, 0x6E, 0x53,
237 0x19, 0x25, 0x64, 0x15, 0x83, 0xF9, 0x73, 0x2A,
238 0x74, 0xB4, 0x93, 0x69, 0xC4, 0x72, 0xFC, 0x26,
239 0xA2, 0x9F, 0x43, 0x45, 0xDD, 0xB9, 0xEF, 0x36,
240 0xC8, 0x3A, 0xCD, 0x99, 0x9B, 0x54, 0x1A, 0x36,
241 0xC1, 0x59, 0xF8, 0x98, 0xA8, 0xCC, 0x28, 0x0D,
242 0x73, 0x4C, 0xEE, 0x98, 0xCB, 0x7C, 0x58, 0x7E,
243 0x20, 0x75, 0x1E, 0xB7, 0xC9, 0xF8, 0xF2, 0x0E,
244 0x63, 0x9E, 0x05, 0x78, 0x1A, 0xB6, 0xA8, 0x7A,
245 0xF9, 0x98, 0x6A, 0xA6, 0x46, 0x84, 0x2E, 0xF6,
246 0x4B, 0xDC, 0x9B, 0x8F, 0x9B, 0x8F, 0xEE, 0xB4,
247 0xAA, 0x3F, 0xEE, 0xC0, 0x37, 0x27, 0x76, 0xC7,
248 0x95, 0xBB, 0x26, 0x74, 0x69, 0x12, 0x7F, 0xF1,
249 0xBB, 0xFF, 0xAE, 0xB5, 0x99, 0x6E, 0xCB, 0x0C
252 /* AES128-CTR-SHA1 test vector */
253 static const struct blockcipher_test_data aes_test_data_1 = {
254 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
257 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
258 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
264 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
265 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
270 .data = plaintext_aes128ctr,
274 .data = ciphertext64_aes128ctr,
277 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
280 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
281 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
282 0xDE, 0xF4, 0xDE, 0xAD
288 0x9B, 0x6F, 0x0C, 0x43, 0xF5, 0xC1, 0x3E, 0xB0,
289 0xB1, 0x70, 0xB8, 0x2B, 0x33, 0x09, 0xD2, 0xB2,
290 0x56, 0x20, 0xFB, 0xFE
297 /** AES-192-CTR XCBC test vector */
298 static const struct blockcipher_test_data aes_test_data_2 = {
299 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
302 0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
303 0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
304 0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
310 0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
311 0xB8, 0x7A, 0x4B, 0xED, 0x2B, 0xAF, 0xBF, 0x57
316 .data = plaintext_aes192ctr,
320 .data = ciphertext64_aes192ctr,
323 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
326 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
327 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
333 0xCA, 0x33, 0xB3, 0x3B, 0x16, 0x94, 0xAA, 0x55,
334 0x36, 0x6B, 0x45, 0x46
341 /** AES-256-CTR SHA1 test vector */
342 static const struct blockcipher_test_data aes_test_data_3 = {
343 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
346 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
347 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
348 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
349 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
355 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
356 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
361 .data = plaintext_aes256ctr,
365 .data = ciphertext64_aes256ctr,
368 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
371 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
372 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
373 0xDE, 0xF4, 0xDE, 0xAD
379 0x3B, 0x1A, 0x9D, 0x82, 0x35, 0xD5, 0xDD, 0x64,
380 0xCC, 0x1B, 0xA9, 0xC0, 0xEB, 0xE9, 0x42, 0x16,
381 0xE7, 0x87, 0xA3, 0xEF
388 /* AES128-CTR-SHA1 test vector (12-byte IV) */
389 static const struct blockcipher_test_data aes_test_data_1_IV_12_bytes = {
390 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
393 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
394 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
400 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
401 0xF8, 0xF9, 0xFA, 0xFB
406 .data = plaintext_aes128ctr,
410 .data = ciphertext64_aes128ctr_IV_12bytes,
413 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
416 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
417 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
418 0xDE, 0xF4, 0xDE, 0xAD
424 0x5C, 0x34, 0x6B, 0xE4, 0x9A, 0x7F, 0x4A, 0xC3,
425 0x82, 0xBE, 0xA0, 0x12, 0xD1, 0xF0, 0x15, 0xFA,
426 0xCF, 0xC8, 0x7F, 0x60
433 /** AES-192-CTR XCBC test vector (12-byte IV) */
434 static const struct blockcipher_test_data aes_test_data_2_IV_12_bytes = {
435 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
438 0xCB, 0xC5, 0xED, 0x5B, 0xE7, 0x7C, 0xBD, 0x8C,
439 0x50, 0xD9, 0x30, 0xF2, 0xB5, 0x6A, 0x0E, 0x5F,
440 0xAA, 0xAE, 0xAD, 0xA2, 0x1F, 0x49, 0x52, 0xD4
446 0x3F, 0x69, 0xA8, 0xCD, 0xE8, 0xF0, 0xEF, 0x40,
447 0xB8, 0x7A, 0x4B, 0xED
452 .data = plaintext_aes192ctr,
456 .data = ciphertext64_aes192ctr_IV_12bytes,
459 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
462 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
463 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
469 0x0C, 0xA1, 0xA5, 0xAF, 0x3E, 0x41, 0xD2, 0xF4,
470 0x4C, 0x4C, 0xAB, 0x13
477 /** AES-256-CTR SHA1 test vector (12-byte IV) */
478 static const struct blockcipher_test_data aes_test_data_3_IV_12_bytes = {
479 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CTR,
482 0x60, 0x3D, 0xEB, 0x10, 0x15, 0xCA, 0x71, 0xBE,
483 0x2B, 0x73, 0xAE, 0xF0, 0x85, 0x7D, 0x77, 0x81,
484 0x1F, 0x35, 0x2C, 0x07, 0x3B, 0x61, 0x08, 0xD7,
485 0x2D, 0x98, 0x10, 0xA3, 0x09, 0x14, 0xDF, 0xF4
491 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
492 0xF8, 0xF9, 0xFA, 0xFB
497 .data = plaintext_aes256ctr,
501 .data = ciphertext64_aes256ctr_IV_12bytes,
504 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
507 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
508 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
509 0xDE, 0xF4, 0xDE, 0xAD
515 0x57, 0x9A, 0x52, 0x6E, 0x31, 0x17, 0x57, 0x49,
516 0xE7, 0xA1, 0x88, 0x6C, 0x2E, 0x36, 0x67, 0x63,
517 0x3F, 0x2D, 0xA3, 0xEF
523 /** AES-128-CBC SHA1 test vector */
524 static const struct blockcipher_test_data aes_test_data_4 = {
525 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
528 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
529 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
535 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
536 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
541 .data = plaintext_aes_common,
545 .data = ciphertext512_aes128cbc,
548 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
551 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
552 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
553 0xDE, 0xF4, 0xDE, 0xAD
559 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60,
560 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
561 0x18, 0x8C, 0x1D, 0x32
568 /** AES-128-CBC SHA256 test vector */
569 static const struct blockcipher_test_data aes_test_data_5 = {
570 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
573 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
574 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
580 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
581 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
586 .data = plaintext_aes_common,
590 .data = ciphertext512_aes128cbc,
593 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
596 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
597 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
598 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
599 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
605 0xC8, 0x57, 0x57, 0x31, 0x03, 0xE0, 0x03, 0x55,
606 0x07, 0xC8, 0x9E, 0x7F, 0x48, 0x9A, 0x61, 0x9A,
607 0x68, 0xEE, 0x03, 0x0E, 0x71, 0x75, 0xC7, 0xF4,
608 0x2E, 0x45, 0x26, 0x32, 0x7C, 0x12, 0x15, 0x15
615 /** AES-128-CBC SHA512 test vector */
616 static const struct blockcipher_test_data aes_test_data_6 = {
617 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
620 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
621 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
627 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
628 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
633 .data = plaintext_aes_common,
637 .data = ciphertext512_aes128cbc,
640 .auth_algo = RTE_CRYPTO_AUTH_SHA512_HMAC,
643 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
644 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
645 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
646 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
647 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
648 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
649 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
650 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
656 0x5D, 0x54, 0x66, 0xC1, 0x6E, 0xBC, 0x04, 0xB8,
657 0x46, 0xB8, 0x08, 0x6E, 0xE0, 0xF0, 0x43, 0x48,
658 0x37, 0x96, 0x9C, 0xC6, 0x9C, 0xC2, 0x1E, 0xE8,
659 0xF2, 0x0C, 0x0B, 0xEF, 0x86, 0xA2, 0xE3, 0x70,
660 0x95, 0xC8, 0xB3, 0x06, 0x47, 0xA9, 0x90, 0xE8,
661 0xA0, 0xC6, 0x72, 0x69, 0x05, 0xC0, 0x0D, 0x0E,
662 0x21, 0x96, 0x65, 0x93, 0x74, 0x43, 0x2A, 0x1D,
663 0x2E, 0xBF, 0xC2, 0xC2, 0xEE, 0xCC, 0x2F, 0x0A
670 /** AES-128-CBC XCBC test vector */
671 static const struct blockcipher_test_data aes_test_data_7 = {
672 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
675 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
676 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
682 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
683 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
688 .data = plaintext_aes_common,
692 .data = ciphertext512_aes128cbc,
695 .auth_algo = RTE_CRYPTO_AUTH_AES_XCBC_MAC,
698 0x87, 0x61, 0x54, 0x53, 0xC4, 0x6D, 0xDD, 0x51,
699 0xE1, 0x9F, 0x86, 0x64, 0x39, 0x0A, 0xE6, 0x59
705 0xE0, 0xAC, 0x9A, 0xC4, 0x22, 0x64, 0x35, 0x89,
706 0x77, 0x1D, 0x8B, 0x75
713 /** AES-128-CBC SHA224 test vector */
714 static const struct blockcipher_test_data aes_test_data_8 = {
715 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
718 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
719 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
725 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
726 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
731 .data = plaintext_aes_common,
735 .data = ciphertext512_aes128cbc,
738 .auth_algo = RTE_CRYPTO_AUTH_SHA224_HMAC,
741 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
742 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
743 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
744 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
745 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
746 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
747 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
748 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
754 0xA3, 0xCA, 0xC7, 0x1D, 0xA8, 0x61, 0x30, 0x98,
755 0x3B, 0x8F, 0x01, 0x19, 0xAE, 0x8D, 0xBD, 0x34,
756 0x40, 0x63, 0xA8, 0x2F, 0xDF, 0x85, 0x2B, 0x7F,
757 0x63, 0x7C, 0xDD, 0xB7
764 /** AES-128-CBC SHA384 test vector */
765 static const struct blockcipher_test_data aes_test_data_9 = {
766 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
769 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
770 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
776 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
777 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
782 .data = plaintext_aes_common,
786 .data = ciphertext512_aes128cbc,
789 .auth_algo = RTE_CRYPTO_AUTH_SHA384_HMAC,
792 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
793 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
794 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
795 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
796 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
797 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
798 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
799 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60,
800 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
801 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
802 0x58, 0x34, 0x85, 0x65, 0x1C, 0x42, 0x50, 0x76,
803 0x9A, 0xAF, 0x88, 0x1B, 0xB6, 0x8F, 0xF8, 0x60,
804 0xA2, 0x5A, 0x7F, 0x3F, 0xF4, 0x72, 0x70, 0xF1,
805 0xF5, 0x35, 0x4C, 0x3B, 0xDD, 0x90, 0x65, 0xB0,
806 0x47, 0x3A, 0x75, 0x61, 0x5C, 0xA2, 0x10, 0x76,
807 0x9A, 0xAF, 0x77, 0x5B, 0xB6, 0x7F, 0xF7, 0x60
813 0x23, 0x60, 0xC8, 0xB1, 0x2D, 0x6C, 0x1E, 0x72,
814 0x25, 0xAB, 0xF9, 0xC3, 0x9A, 0xA9, 0x4F, 0x8C,
815 0x56, 0x38, 0x65, 0x0E, 0x74, 0xD5, 0x45, 0x9D,
816 0xA3, 0xFD, 0x7E, 0x6D, 0x9E, 0x74, 0x88, 0x9D,
817 0xA7, 0x12, 0x9D, 0xD8, 0x81, 0x3C, 0x86, 0x2F,
818 0x4D, 0xF9, 0x6F, 0x0A, 0xB0, 0xC9, 0xEB, 0x0B
825 static const uint8_t ciphertext512_aes192cbc[] = {
826 0x45, 0xEE, 0x9A, 0xEA, 0x3C, 0x03, 0xFC, 0x4C,
827 0x84, 0x36, 0xB0, 0xDA, 0xB0, 0xDC, 0xF3, 0x5B,
828 0x75, 0xA7, 0xBE, 0x0E, 0xC0, 0x8D, 0x6C, 0xF8,
829 0xC1, 0x0F, 0xD0, 0x35, 0x1D, 0x82, 0xAE, 0x7C,
830 0x57, 0xC5, 0x7A, 0x55, 0x87, 0x1B, 0xD4, 0x03,
831 0x0A, 0x64, 0xC9, 0xE0, 0xF4, 0xC7, 0x6F, 0x57,
832 0x52, 0xC6, 0x73, 0xBA, 0x84, 0x0B, 0x5B, 0x89,
833 0x21, 0xD2, 0x9B, 0x88, 0x68, 0xF5, 0xA9, 0x7F,
834 0x3F, 0x49, 0xEB, 0xF4, 0xD4, 0x52, 0xD2, 0x64,
835 0x80, 0xB2, 0x53, 0xDA, 0x19, 0xF6, 0x10, 0x24,
836 0x23, 0x26, 0x7A, 0x7C, 0x07, 0x57, 0x4B, 0x0E,
837 0x58, 0x49, 0x61, 0xD1, 0xDC, 0x9A, 0x32, 0x6B,
838 0x0F, 0x43, 0x9E, 0x4D, 0xB4, 0x07, 0x4E, 0xB3,
839 0x51, 0x74, 0xDE, 0x29, 0xBC, 0x98, 0xF9, 0xDF,
840 0x78, 0x9A, 0x18, 0x9C, 0xD6, 0x7A, 0x55, 0x7C,
841 0xE6, 0x1D, 0x5C, 0x1A, 0x99, 0xD2, 0xC3, 0x7B,
842 0x9F, 0x96, 0x74, 0x2D, 0xE0, 0xEF, 0xD1, 0xE3,
843 0x08, 0x9F, 0xAF, 0xE6, 0xED, 0xCA, 0xE1, 0xEA,
844 0x23, 0x6F, 0x7C, 0x81, 0xA8, 0xC0, 0x5B, 0x8B,
845 0x53, 0x90, 0x51, 0x2D, 0x0F, 0xF6, 0x7D, 0xA7,
846 0x1C, 0xBD, 0x83, 0x84, 0x54, 0xA4, 0x15, 0xFB,
847 0x3E, 0x25, 0xA7, 0x3A, 0x0A, 0x73, 0xD9, 0x88,
848 0x6F, 0x80, 0x78, 0x95, 0x7F, 0x60, 0xAA, 0x86,
849 0x8A, 0xFC, 0xDF, 0xC1, 0xCB, 0xDE, 0xBB, 0x25,
850 0x52, 0x20, 0xC6, 0x79, 0xD4, 0x0F, 0x25, 0xE7,
851 0xDB, 0xB2, 0x17, 0xA4, 0x6F, 0x3C, 0x6F, 0x91,
852 0xF6, 0x44, 0x1E, 0xB6, 0x85, 0xBC, 0x7A, 0x14,
853 0x10, 0x72, 0xBD, 0x16, 0x63, 0x39, 0x9E, 0x7B,
854 0x84, 0x5B, 0x17, 0x61, 0xB1, 0x5D, 0x82, 0x0B,
855 0x6D, 0x37, 0xD7, 0x79, 0xB8, 0x24, 0x91, 0x30,
856 0x82, 0x91, 0x02, 0xB1, 0x18, 0x4B, 0xE0, 0xF4,
857 0x13, 0x1B, 0xB2, 0x4C, 0xDA, 0xB8, 0x99, 0x96,
858 0x83, 0x2F, 0xBE, 0x53, 0x8D, 0xDE, 0xFA, 0xAD,
859 0xF6, 0x5C, 0xDB, 0xE5, 0x66, 0x26, 0x8F, 0x13,
860 0x2B, 0x76, 0x47, 0x73, 0xDE, 0x1A, 0x74, 0xA6,
861 0x30, 0xAF, 0x42, 0xA0, 0xE5, 0xD2, 0x8F, 0xC2,
862 0xED, 0x3E, 0x9E, 0x29, 0x54, 0x3C, 0xDE, 0x9F,
863 0x5D, 0x30, 0x2B, 0x63, 0xFB, 0xE3, 0xB1, 0x07,
864 0xEE, 0x74, 0x4A, 0xAF, 0xB1, 0x20, 0x8D, 0xEC,
865 0xE6, 0x78, 0x16, 0x8D, 0xA4, 0x6E, 0x34, 0x7D,
866 0x47, 0xFB, 0x0B, 0xC1, 0x32, 0xD7, 0x0D, 0x6C,
867 0x6F, 0x93, 0x9C, 0x5E, 0xEF, 0x1F, 0x9C, 0x45,
868 0x80, 0x6B, 0x74, 0xA6, 0x81, 0xF2, 0xF6, 0xFA,
869 0xAA, 0x9D, 0x4F, 0xCA, 0xB5, 0x90, 0x59, 0xB0,
870 0x3B, 0xF2, 0xF0, 0x75, 0xFD, 0x8A, 0xD8, 0x97,
871 0x65, 0x88, 0x56, 0x4C, 0x44, 0xDF, 0x73, 0xF7,
872 0x56, 0x9C, 0x48, 0x7E, 0xB0, 0x1F, 0x1D, 0x7D,
873 0x6A, 0x11, 0xF5, 0xC2, 0xF4, 0x17, 0xEF, 0x58,
874 0xD8, 0x2A, 0xAF, 0x56, 0x2F, 0xCF, 0xEC, 0xA4,
875 0x58, 0x8B, 0x60, 0xCE, 0xD4, 0x0F, 0x9C, 0x21,
876 0xEC, 0x3E, 0x74, 0x7B, 0x81, 0x3D, 0x69, 0xC6,
877 0x5E, 0x12, 0x83, 0xE9, 0xEF, 0x81, 0x58, 0x36,
878 0x6A, 0x60, 0x0F, 0x54, 0x28, 0x11, 0xF9, 0x64,
879 0x36, 0xAD, 0x79, 0xF5, 0x1C, 0x74, 0xD0, 0xC3,
880 0x7B, 0x61, 0xE1, 0x92, 0xB0, 0x13, 0x91, 0x87,
881 0x32, 0x1F, 0xF2, 0x5A, 0xDA, 0x25, 0x69, 0xEB,
882 0xD7, 0x32, 0x7F, 0xF5, 0x23, 0x21, 0x54, 0x47,
883 0x7B, 0x1B, 0x33, 0xB0, 0x3D, 0xF6, 0xE2, 0x7E,
884 0x3E, 0xA2, 0x9E, 0xCA, 0x48, 0x0B, 0x4A, 0x29,
885 0x81, 0xD4, 0x4E, 0xD5, 0x69, 0xFB, 0xCD, 0x37,
886 0x8A, 0xC1, 0x5B, 0x50, 0xFF, 0xB5, 0x7D, 0x43,
887 0x0F, 0xAE, 0xA6, 0xC2, 0xE5, 0x8F, 0x45, 0xB2,
888 0x85, 0x99, 0x02, 0xA2, 0x9B, 0xBE, 0x90, 0x43,
889 0x4F, 0x2F, 0x50, 0xE2, 0x77, 0x62, 0xD9, 0xCC
892 /** AES-192-CBC test vector */
893 static const struct blockcipher_test_data aes_test_data_10 = {
894 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
897 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
898 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
899 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
905 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
906 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
911 .data = plaintext_aes_common,
915 .data = ciphertext512_aes192cbc,
920 static const uint8_t ciphertext512_aes256cbc[] = {
921 0xF3, 0xDD, 0xF0, 0x0B, 0xFF, 0xA2, 0x6A, 0x04,
922 0xBE, 0xDA, 0x52, 0xA6, 0xFE, 0x6B, 0xA6, 0xA7,
923 0x48, 0x1D, 0x7D, 0x98, 0x65, 0xDB, 0xEF, 0x06,
924 0x26, 0xB5, 0x8E, 0xEB, 0x05, 0x0E, 0x77, 0x98,
925 0x17, 0x8E, 0xD0, 0xD4, 0x7B, 0x92, 0x8F, 0x5C,
926 0xD0, 0x74, 0x5C, 0xA8, 0x4B, 0x54, 0xB6, 0x2F,
927 0x83, 0x72, 0x2C, 0xFF, 0x72, 0xE9, 0xE4, 0x15,
928 0x4C, 0x32, 0xAF, 0xC8, 0xC9, 0x89, 0x3C, 0x6E,
929 0x31, 0xD5, 0xC0, 0x16, 0xC0, 0x31, 0x7D, 0x11,
930 0xAB, 0xCB, 0xDE, 0xD2, 0xD6, 0xAA, 0x76, 0x5E,
931 0xBA, 0xF6, 0xE2, 0x92, 0xCB, 0x86, 0x07, 0xFA,
932 0xD4, 0x9E, 0x83, 0xED, 0xFD, 0xB8, 0x70, 0x54,
933 0x6B, 0xBE, 0xEC, 0x72, 0xDD, 0x28, 0x5E, 0x95,
934 0x78, 0xA5, 0x28, 0x43, 0x3D, 0x6D, 0xB1, 0xD9,
935 0x69, 0x1F, 0xC9, 0x66, 0x0E, 0x32, 0x44, 0x08,
936 0xD2, 0xAE, 0x2C, 0x43, 0xF2, 0xD0, 0x7D, 0x26,
937 0x70, 0xE5, 0xA1, 0xCA, 0x37, 0xE9, 0x7D, 0xC7,
938 0xA3, 0xFA, 0x81, 0x91, 0x64, 0xAA, 0x64, 0x91,
939 0x9A, 0x95, 0x2D, 0xC9, 0xF9, 0xCE, 0xFE, 0x9F,
940 0xC4, 0xD8, 0x81, 0xBE, 0x57, 0x84, 0xC5, 0x02,
941 0xDB, 0x30, 0xC1, 0xD9, 0x0E, 0xA0, 0xA6, 0x00,
942 0xD6, 0xF3, 0x52, 0x7E, 0x0D, 0x23, 0x6B, 0x2B,
943 0x34, 0x99, 0x1F, 0x70, 0x27, 0x6D, 0x58, 0x84,
944 0x93, 0x77, 0xB8, 0x3E, 0xF1, 0x71, 0x58, 0x42,
945 0x8B, 0x2B, 0xC8, 0x6D, 0x05, 0x84, 0xFF, 0x4E,
946 0x85, 0xEF, 0x4A, 0x9D, 0x91, 0x6A, 0xD5, 0xE1,
947 0xAF, 0x01, 0xEB, 0x83, 0x8F, 0x23, 0x7C, 0x7F,
948 0x12, 0x91, 0x05, 0xF0, 0x4E, 0xD9, 0x17, 0x62,
949 0x75, 0xBB, 0xAC, 0x97, 0xEE, 0x3B, 0x4E, 0xC7,
950 0xE5, 0x92, 0xF8, 0x9D, 0x4C, 0xF9, 0xEE, 0x55,
951 0x18, 0xBB, 0xCC, 0xB4, 0xF2, 0x59, 0xB9, 0xFC,
952 0x7A, 0x0F, 0x98, 0xD4, 0x8B, 0xFE, 0xF7, 0x83,
953 0x46, 0xE2, 0x83, 0x33, 0x3E, 0x95, 0x8D, 0x17,
954 0x1E, 0x85, 0xF8, 0x8C, 0x51, 0xB0, 0x6C, 0xB5,
955 0x5E, 0x95, 0xBA, 0x4B, 0x69, 0x1B, 0x48, 0x69,
956 0x0B, 0x8F, 0xA5, 0x18, 0x13, 0xB9, 0x77, 0xD1,
957 0x80, 0x32, 0x32, 0x6D, 0x53, 0xA1, 0x95, 0x40,
958 0x96, 0x8A, 0xCC, 0xA3, 0x69, 0xF8, 0x9F, 0xB5,
959 0x8E, 0xD2, 0x68, 0x07, 0x4F, 0xA7, 0xEC, 0xF8,
960 0x20, 0x21, 0x58, 0xF8, 0xD8, 0x9E, 0x5F, 0x40,
961 0xBA, 0xB9, 0x76, 0x57, 0x3B, 0x17, 0xAD, 0xEE,
962 0xCB, 0xDF, 0x07, 0xC1, 0xDF, 0x66, 0xA8, 0x0D,
963 0xC2, 0xCE, 0x8F, 0x79, 0xC3, 0x32, 0xE0, 0x8C,
964 0xFE, 0x5A, 0xF3, 0x55, 0x27, 0x73, 0x6F, 0xA1,
965 0x54, 0xC6, 0xFC, 0x28, 0x9D, 0xBE, 0x97, 0xB9,
966 0x54, 0x97, 0x72, 0x3A, 0x61, 0xAF, 0x6F, 0xDE,
967 0xF8, 0x0E, 0xBB, 0x6B, 0x96, 0x84, 0xDD, 0x9B,
968 0x62, 0xBA, 0x47, 0xB5, 0xC9, 0x3B, 0x4E, 0x8C,
969 0x78, 0x2A, 0xCC, 0x0A, 0x69, 0x54, 0x25, 0x5E,
970 0x8B, 0xAC, 0x56, 0xD9, 0xFE, 0x48, 0xBA, 0xCE,
971 0xA9, 0xCE, 0xA6, 0x1D, 0xBF, 0x3E, 0x3C, 0x66,
972 0x40, 0x71, 0x79, 0xAD, 0x5B, 0x26, 0xAD, 0xBE,
973 0x58, 0x13, 0x64, 0x60, 0x7C, 0x05, 0xFC, 0xE3,
974 0x51, 0x7A, 0xF2, 0xCC, 0x54, 0x16, 0x2C, 0xA4,
975 0xCE, 0x5F, 0x59, 0x12, 0x77, 0xEB, 0xD9, 0x23,
976 0xE3, 0x86, 0xFB, 0xD7, 0x48, 0x76, 0x9D, 0xE3,
977 0x89, 0x87, 0x39, 0xFA, 0x7B, 0x21, 0x0B, 0x76,
978 0xB2, 0xED, 0x1C, 0x27, 0x4B, 0xD5, 0x27, 0x05,
979 0x8C, 0x7D, 0x58, 0x6C, 0xCA, 0xA5, 0x54, 0x9A,
980 0x0F, 0xCB, 0xE9, 0x88, 0x31, 0xAD, 0x49, 0xEE,
981 0x38, 0xFB, 0xC9, 0xFB, 0xB4, 0x7A, 0x00, 0x58,
982 0x20, 0x32, 0xD3, 0x53, 0x5A, 0xDD, 0x74, 0x95,
983 0x60, 0x59, 0x09, 0xAE, 0x7E, 0xEC, 0x74, 0xA3,
984 0xB7, 0x1C, 0x6D, 0xF2, 0xAE, 0x79, 0xA4, 0x7C
987 /** AES-256-CBC test vector */
988 static const struct blockcipher_test_data aes_test_data_11 = {
989 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
992 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
993 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
994 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0,
995 0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D
1001 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1002 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1007 .data = plaintext_aes_common,
1011 .data = ciphertext512_aes256cbc,
1016 /** AES-128-CBC SHA256 HMAC test vector (160 bytes) */
1017 static const struct blockcipher_test_data aes_test_data_12 = {
1018 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1021 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1022 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1028 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1029 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1034 .data = plaintext_aes_common,
1038 .data = ciphertext512_aes128cbc,
1041 .auth_algo = RTE_CRYPTO_AUTH_SHA256_HMAC,
1044 0x42, 0x1A, 0x7D, 0x3D, 0xF5, 0x82, 0x80, 0xF1,
1045 0xF1, 0x35, 0x5C, 0x3B, 0xDD, 0x9A, 0x65, 0xBA,
1046 0x58, 0x34, 0x85, 0x61, 0x1C, 0x42, 0x10, 0x76,
1047 0x9A, 0x4F, 0x88, 0x1B, 0xB6, 0x8F, 0xD8, 0x60
1053 0x92, 0xEC, 0x65, 0x9A, 0x52, 0xCC, 0x50, 0xA5,
1054 0xEE, 0x0E, 0xDF, 0x1E, 0xA4, 0xC9, 0xC1, 0x04,
1055 0xD5, 0xDC, 0x78, 0x90, 0xF4, 0xE3, 0x35, 0x62,
1056 0xAD, 0x95, 0x45, 0x28, 0x5C, 0xF8, 0x8C, 0x0B
1063 /** AES-128-CBC SHA1 HMAC test vector (160 bytes) */
1064 static const struct blockcipher_test_data aes_test_data_13 = {
1065 .crypto_algo = RTE_CRYPTO_CIPHER_AES_CBC,
1068 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1069 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1075 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1076 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1081 .data = plaintext_aes_common,
1085 .data = ciphertext512_aes128cbc,
1088 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
1091 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
1092 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
1093 0xDE, 0xF4, 0xDE, 0xAD
1099 0x4F, 0x16, 0xEA, 0xF7, 0x4A, 0x88, 0xD3, 0xE0,
1100 0x0E, 0x12, 0x8B, 0xE7, 0x05, 0xD0, 0x86, 0x48,
1101 0x22, 0x43, 0x30, 0xA7
1108 /* AES-DOCSIS-BPI test vectors */
1110 /* Multiple of AES block size */
1111 static const struct blockcipher_test_data aes_test_data_docsis_1 = {
1112 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1115 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
1116 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
1122 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
1123 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
1128 .data = plaintext_aes_common,
1132 .data = ciphertext512_aes128cbc,
1137 /* Less than AES block size */
1138 static const struct blockcipher_test_data aes_test_data_docsis_2 = {
1139 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1142 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
1143 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
1149 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
1150 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
1155 .data = plaintext_aes_docsis_bpi_cfb,
1159 .data = ciphertext_aes_docsis_bpi_cfb,
1164 /* Not multiple of AES block size */
1165 static const struct blockcipher_test_data aes_test_data_docsis_3 = {
1166 .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI,
1169 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB,
1170 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
1176 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A,
1177 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
1182 .data = plaintext_aes_docsis_bpi_cbc_cfb,
1186 .data = ciphertext_aes_docsis_bpi_cbc_cfb,
1191 static const struct blockcipher_test_case aes_chain_test_cases[] = {
1193 .test_descr = "AES-128-CTR HMAC-SHA1 Encryption Digest",
1194 .test_data = &aes_test_data_1,
1195 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1196 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1197 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1198 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1199 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1200 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1203 .test_descr = "AES-128-CTR HMAC-SHA1 Decryption Digest "
1205 .test_data = &aes_test_data_1,
1206 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1207 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1208 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1209 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1210 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1211 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1214 .test_descr = "AES-192-CTR XCBC Encryption Digest",
1215 .test_data = &aes_test_data_2,
1216 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1217 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1218 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1219 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1222 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify",
1223 .test_data = &aes_test_data_2,
1224 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1225 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1226 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1227 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1230 .test_descr = "AES-192-CTR XCBC Decryption Digest Verify "
1232 .test_data = &aes_test_data_2,
1233 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1234 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1235 BLOCKCIPHER_TEST_FEATURE_OOP,
1236 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1237 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1238 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1241 .test_descr = "AES-256-CTR HMAC-SHA1 Encryption Digest",
1242 .test_data = &aes_test_data_3,
1243 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1244 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1245 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1246 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1247 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1248 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1251 .test_descr = "AES-256-CTR HMAC-SHA1 Decryption Digest "
1253 .test_data = &aes_test_data_3,
1254 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1255 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1256 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1257 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1258 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1259 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1262 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest",
1263 .test_data = &aes_test_data_4,
1264 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1265 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1266 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1267 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1268 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1269 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1270 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1273 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1275 .test_data = &aes_test_data_13,
1276 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1277 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8
1280 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1282 .test_data = &aes_test_data_4,
1283 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1284 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1285 BLOCKCIPHER_TEST_FEATURE_OOP,
1286 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1287 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1288 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1289 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1292 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1294 .test_data = &aes_test_data_4,
1295 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1296 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1297 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1298 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1299 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1300 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1301 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1304 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1305 "Verify (short buffers)",
1306 .test_data = &aes_test_data_13,
1307 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1308 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8
1311 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest",
1312 .test_data = &aes_test_data_5,
1313 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1314 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1315 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1316 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1317 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1318 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1319 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1322 .test_descr = "AES-128-CBC HMAC-SHA256 Encryption Digest "
1324 .test_data = &aes_test_data_12,
1325 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1326 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8
1329 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1331 .test_data = &aes_test_data_5,
1332 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1333 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1334 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1335 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1336 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1337 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1338 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1341 .test_descr = "AES-128-CBC HMAC-SHA256 Decryption Digest "
1342 "Verify (short buffers)",
1343 .test_data = &aes_test_data_12,
1344 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1345 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8
1348 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest",
1349 .test_data = &aes_test_data_6,
1350 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1351 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1352 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1353 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1354 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1355 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1358 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
1360 .test_data = &aes_test_data_6,
1361 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1362 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1363 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1364 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1367 .test_descr = "AES-128-CBC HMAC-SHA512 Encryption Digest "
1368 "Scatter Gather Sessionless",
1369 .test_data = &aes_test_data_6,
1370 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1371 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS |
1372 BLOCKCIPHER_TEST_FEATURE_SG |
1373 BLOCKCIPHER_TEST_FEATURE_OOP,
1374 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1375 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1378 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1380 .test_data = &aes_test_data_6,
1381 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1382 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1383 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1384 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1385 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1386 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1389 .test_descr = "AES-128-CBC HMAC-SHA512 Decryption Digest "
1390 "Verify Scatter Gather",
1391 .test_data = &aes_test_data_6,
1392 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1393 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1394 BLOCKCIPHER_TEST_FEATURE_OOP,
1395 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1396 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1397 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1398 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1401 .test_descr = "AES-128-CBC XCBC Encryption Digest",
1402 .test_data = &aes_test_data_7,
1403 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1404 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1405 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1406 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1409 .test_descr = "AES-128-CBC XCBC Decryption Digest Verify",
1410 .test_data = &aes_test_data_7,
1411 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1412 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1413 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1414 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER
1417 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1419 .test_data = &aes_test_data_4,
1420 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1421 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1422 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1423 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1424 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1427 .test_descr = "AES-128-CBC HMAC-SHA1 Decryption Digest "
1429 .test_data = &aes_test_data_4,
1430 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1431 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1432 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1433 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1434 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1437 .test_descr = "AES-128-CBC HMAC-SHA224 Encryption Digest",
1438 .test_data = &aes_test_data_8,
1439 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1440 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1441 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1442 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1443 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1444 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1447 .test_descr = "AES-128-CBC HMAC-SHA224 Decryption Digest "
1449 .test_data = &aes_test_data_8,
1450 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1451 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1452 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1453 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1454 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1455 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1458 .test_descr = "AES-128-CBC HMAC-SHA384 Encryption Digest",
1459 .test_data = &aes_test_data_9,
1460 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1461 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1462 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1463 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1464 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1465 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1468 .test_descr = "AES-128-CBC HMAC-SHA384 Decryption Digest "
1470 .test_data = &aes_test_data_9,
1471 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1472 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1473 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1474 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1475 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1476 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1479 .test_descr = "AES-128-CBC HMAC-SHA1 Encryption Digest "
1481 .test_data = &aes_test_data_4,
1482 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1483 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1484 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1485 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1489 "AES-128-CBC HMAC-SHA1 Decryption Digest "
1490 "Verify Sessionless",
1491 .test_data = &aes_test_data_4,
1492 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1493 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1494 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_ARMV8 |
1495 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1499 static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
1501 .test_descr = "AES-128-CBC Encryption",
1502 .test_data = &aes_test_data_4,
1503 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1504 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1505 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1506 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1507 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1508 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1511 .test_descr = "AES-128-CBC Decryption",
1512 .test_data = &aes_test_data_4,
1513 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1514 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1515 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1516 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1517 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1518 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1521 .test_descr = "AES-192-CBC Encryption",
1522 .test_data = &aes_test_data_10,
1523 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1524 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1525 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1526 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1527 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1528 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1531 .test_descr = "AES-192-CBC Encryption Scater gather",
1532 .test_data = &aes_test_data_10,
1533 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1534 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SG |
1535 BLOCKCIPHER_TEST_FEATURE_OOP,
1536 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1539 .test_descr = "AES-192-CBC Decryption",
1540 .test_data = &aes_test_data_10,
1541 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1542 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1543 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1544 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1545 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1546 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1549 .test_descr = "AES-256-CBC Encryption",
1550 .test_data = &aes_test_data_11,
1551 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1552 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1553 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1554 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1555 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1556 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1559 .test_descr = "AES-256-CBC Decryption",
1560 .test_data = &aes_test_data_11,
1561 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1562 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1563 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1564 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1565 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1566 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1569 .test_descr = "AES-256-CBC OOP Encryption",
1570 .test_data = &aes_test_data_11,
1571 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1572 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1573 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1574 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1577 .test_descr = "AES-256-CBC OOP Decryption",
1578 .test_data = &aes_test_data_11,
1579 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1580 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1581 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1582 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1585 .test_descr = "AES-128-CTR Encryption",
1586 .test_data = &aes_test_data_1,
1587 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1588 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1589 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1590 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1591 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1592 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1595 .test_descr = "AES-128-CTR Decryption",
1596 .test_data = &aes_test_data_1,
1597 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1598 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1599 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1600 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1601 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1602 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1605 .test_descr = "AES-192-CTR Encryption",
1606 .test_data = &aes_test_data_2,
1607 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1608 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1609 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1610 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1611 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1612 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1615 .test_descr = "AES-192-CTR Decryption",
1616 .test_data = &aes_test_data_2,
1617 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1618 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1619 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1620 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1621 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1622 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1625 .test_descr = "AES-256-CTR Encryption",
1626 .test_data = &aes_test_data_3,
1627 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1628 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1629 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1630 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1631 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1632 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1635 .test_descr = "AES-256-CTR Decryption",
1636 .test_data = &aes_test_data_3,
1637 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1638 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1639 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1640 BLOCKCIPHER_TEST_TARGET_PMD_MB |
1641 BLOCKCIPHER_TEST_TARGET_PMD_SCHEDULER |
1642 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC
1645 .test_descr = "AES-128-CTR Encryption (12-byte IV)",
1646 .test_data = &aes_test_data_1_IV_12_bytes,
1647 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1648 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB
1651 .test_descr = "AES-192-CTR Encryption (12-byte IV)",
1652 .test_data = &aes_test_data_2_IV_12_bytes,
1653 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1654 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB
1657 .test_descr = "AES-256-CTR Encryption (12-byte IV)",
1658 .test_data = &aes_test_data_3_IV_12_bytes,
1659 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1660 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB
1664 static const struct blockcipher_test_case aes_docsis_test_cases[] = {
1667 .test_descr = "AES-DOCSIS-BPI Full Block Encryption",
1668 .test_data = &aes_test_data_docsis_1,
1669 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1670 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1671 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1674 .test_descr = "AES-DOCSIS-BPI Runt Block Encryption",
1675 .test_data = &aes_test_data_docsis_2,
1676 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1677 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1678 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1681 .test_descr = "AES-DOCSIS-BPI Uneven Encryption",
1682 .test_data = &aes_test_data_docsis_3,
1683 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1684 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1685 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1688 .test_descr = "AES-DOCSIS-BPI Full Block Decryption",
1689 .test_data = &aes_test_data_docsis_1,
1690 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1691 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1692 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1695 .test_descr = "AES-DOCSIS-BPI Runt Block Decryption",
1696 .test_data = &aes_test_data_docsis_2,
1697 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1698 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1699 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1702 .test_descr = "AES-DOCSIS-BPI Uneven Decryption",
1703 .test_data = &aes_test_data_docsis_3,
1704 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1705 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1706 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1709 .test_descr = "AES-DOCSIS-BPI OOP Full Block Encryption",
1710 .test_data = &aes_test_data_docsis_1,
1711 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1712 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1713 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1716 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Encryption",
1717 .test_data = &aes_test_data_docsis_2,
1718 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1719 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1720 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1723 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Encryption",
1724 .test_data = &aes_test_data_docsis_3,
1725 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1726 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1727 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1730 .test_descr = "AES-DOCSIS-BPI OOP Full Block Decryption",
1731 .test_data = &aes_test_data_docsis_1,
1732 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1733 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1734 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1737 .test_descr = "AES-DOCSIS-BPI OOP Runt Block Decryption",
1738 .test_data = &aes_test_data_docsis_2,
1739 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1740 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1741 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1744 .test_descr = "AES-DOCSIS-BPI OOP Uneven Block Decryption",
1745 .test_data = &aes_test_data_docsis_3,
1746 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1747 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1748 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT
1751 #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */