1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2016 Intel Corporation
5 #ifndef TEST_CRYPTODEV_DES_TEST_VECTORS_H_
6 #define TEST_CRYPTODEV_DES_TEST_VECTORS_H_
8 static const uint8_t plaintext_des[] = {
9 "What a lousy earth! He wondered how many people "
10 "were destitute that same night even in his own "
11 "prosperous country, how many homes were "
12 "shanties, how many husbands were drunk and "
13 "wives socked, and how many children were "
14 "bullied, abused, or abandoned. How many "
15 "families hungered for food they could not "
16 "afford to buy? How many hearts were broken? How "
17 "many suicides would take place that same night, "
18 "how many people would go insane? How many "
19 "cockroaches and landlords would triumph? How "
20 "many winners were losers, successes failures, "
21 "and rich men poor men? How many wise guys were "
22 "stupid? How many happy endings were unhappy "
23 "endings? How many honest men were liars, brave "
24 "men cowards, loyal men traitors, how many "
25 "sainted men were corrupt, how many people in "
26 "positions of trust had sold their souls to "
27 "bodyguards, how many had never had souls? How "
28 "many straight-and-narrow paths were crooked "
29 "paths? How many best families were worst "
30 "families and how many good people were bad "
31 "people? When you added them all up and then "
32 "subtracted, you might be left with only the "
33 "children, and perhaps with Albert Einstein and "
34 "an old violinist or sculptor somewhere."
37 static const uint8_t ciphertext512_des128ctr[] = {
38 0x13, 0x39, 0x3B, 0xBC, 0x1D, 0xE3, 0x23, 0x09,
39 0x9B, 0x08, 0xD1, 0x09, 0x52, 0x93, 0x78, 0x29,
40 0x11, 0x21, 0xBA, 0x01, 0x15, 0xCD, 0xEC, 0xAA,
41 0x79, 0x77, 0x58, 0xAE, 0xAE, 0xBC, 0x97, 0x33,
42 0x94, 0xA9, 0x2D, 0xC0, 0x0A, 0xA9, 0xA4, 0x4B,
43 0x19, 0x07, 0x88, 0x06, 0x7E, 0x81, 0x0F, 0xB5,
44 0x60, 0xCF, 0xA7, 0xC3, 0x2A, 0x43, 0xFF, 0x16,
45 0x3A, 0x5F, 0x11, 0x2D, 0x11, 0x38, 0x37, 0x94,
46 0x2A, 0xC8, 0x3D, 0x20, 0xBB, 0x93, 0x95, 0x54,
47 0x12, 0xFF, 0x0C, 0x47, 0x89, 0x7D, 0x73, 0xD1,
48 0x2E, 0x3A, 0x80, 0x52, 0xA8, 0x92, 0x93, 0x99,
49 0x16, 0xB8, 0x12, 0x1B, 0x8B, 0xA8, 0xC1, 0x81,
50 0x95, 0x18, 0x82, 0xD6, 0x5A, 0xA7, 0xFE, 0xCF,
51 0xC4, 0xAC, 0x85, 0x91, 0x0C, 0x2F, 0x1D, 0x10,
52 0x9A, 0x65, 0x07, 0xB0, 0x2E, 0x5A, 0x2D, 0x48,
53 0x26, 0xF8, 0x17, 0x7A, 0x53, 0xD6, 0xB8, 0xDF,
54 0xB1, 0x10, 0x48, 0x7E, 0x8F, 0xBE, 0x2E, 0xA1,
55 0x0D, 0x9E, 0xA9, 0xF1, 0x3B, 0x3B, 0x33, 0xCD,
56 0xDC, 0x52, 0x7E, 0xC0, 0x0E, 0xA0, 0xD8, 0xA7,
57 0xC6, 0x34, 0x5A, 0xAA, 0x29, 0x8B, 0xA9, 0xAC,
58 0x1F, 0x78, 0xAD, 0xEE, 0x34, 0x59, 0x30, 0xFB,
59 0x2A, 0x20, 0x3D, 0x4D, 0x30, 0xA7, 0x7D, 0xD8,
60 0xA0, 0xC6, 0xA2, 0xD3, 0x9A, 0xFB, 0x50, 0x97,
61 0x4D, 0x25, 0xA2, 0x37, 0x51, 0x54, 0xB7, 0xEB,
62 0xED, 0x77, 0xDB, 0x94, 0x35, 0x8B, 0x70, 0x95,
63 0x4A, 0x00, 0xA7, 0xF1, 0x8A, 0x66, 0x0E, 0xC6,
64 0x05, 0x7B, 0x69, 0x05, 0x42, 0x03, 0x96, 0x2C,
65 0x55, 0x00, 0x1B, 0xC0, 0x19, 0x4D, 0x0D, 0x2E,
66 0xF5, 0x81, 0x11, 0x64, 0xCA, 0xBB, 0xF2, 0x0F,
67 0x9C, 0x60, 0xE2, 0xCC, 0x02, 0x6E, 0x83, 0xD5,
68 0x24, 0xF4, 0x12, 0x0E, 0x6A, 0xEA, 0x4F, 0x6C,
69 0x79, 0x69, 0x65, 0x67, 0xDB, 0xF7, 0xEA, 0x98,
70 0x5D, 0x56, 0x98, 0xB7, 0x88, 0xE7, 0x23, 0xC9,
71 0x17, 0x32, 0x92, 0x33, 0x5A, 0x0C, 0x15, 0x20,
72 0x3B, 0x1C, 0xF9, 0x0F, 0x4D, 0xD1, 0xE8, 0xE6,
73 0x9E, 0x5E, 0x24, 0x1B, 0xA4, 0xB8, 0xB9, 0xE9,
74 0x2F, 0xFC, 0x89, 0xB4, 0xB9, 0xF4, 0xA6, 0xAD,
75 0x55, 0xF4, 0xDF, 0x58, 0x63, 0x25, 0xE3, 0x41,
76 0x70, 0xDF, 0x10, 0xE7, 0x13, 0x87, 0x8D, 0xB3,
77 0x62, 0x4F, 0xF5, 0x86, 0x85, 0x8F, 0x59, 0xF0,
78 0x21, 0x0E, 0x8F, 0x11, 0xAD, 0xBF, 0xDD, 0x61,
79 0x68, 0x3F, 0x54, 0x57, 0x49, 0x38, 0xC8, 0x24,
80 0x8E, 0x0A, 0xAC, 0xCA, 0x2C, 0x36, 0x3E, 0x5F,
81 0x0A, 0xCE, 0xFD, 0x1A, 0x60, 0x63, 0x5A, 0xE6,
82 0x06, 0x64, 0xB5, 0x94, 0x3C, 0xC9, 0xAF, 0x7C,
83 0xCD, 0x49, 0x10, 0xCF, 0xAF, 0x0E, 0x2E, 0x79,
84 0x27, 0xB2, 0x67, 0x02, 0xED, 0xEE, 0x80, 0x77,
85 0x7C, 0x6D, 0x4B, 0xDB, 0xCF, 0x8D, 0x68, 0x00,
86 0x2E, 0xD9, 0xF0, 0x8E, 0x08, 0xBF, 0xA6, 0x9B,
87 0xFE, 0xA4, 0xFB, 0x19, 0x46, 0xAF, 0x1B, 0xA9,
88 0xF8, 0x22, 0x81, 0x21, 0x97, 0xFC, 0xC0, 0x8A,
89 0x26, 0x58, 0x13, 0x29, 0xB6, 0x69, 0x94, 0x4B,
90 0xAB, 0xB3, 0x88, 0x0D, 0xA9, 0x48, 0x0E, 0xE8,
91 0x70, 0xFC, 0xA1, 0x21, 0xC4, 0x2C, 0xE5, 0x99,
92 0xB4, 0xF1, 0x6F, 0xB2, 0x4B, 0x4B, 0xCD, 0x48,
93 0x15, 0x47, 0x2D, 0x72, 0x39, 0x99, 0x9D, 0x24,
94 0x0C, 0x8B, 0xDC, 0xA1, 0xEE, 0xF6, 0xF4, 0x73,
95 0xC3, 0xB8, 0x0C, 0x23, 0x0D, 0xA7, 0xC4, 0x7D,
96 0x27, 0xE2, 0x14, 0x11, 0x53, 0x19, 0xE7, 0xCA,
97 0x94, 0x4E, 0x0D, 0x2C, 0xF7, 0x36, 0x47, 0xDB,
98 0x77, 0x3C, 0x22, 0xAC, 0xBE, 0xE1, 0x06, 0x55,
99 0xE5, 0xDD, 0x8B, 0x65, 0xE8, 0xE9, 0x91, 0x52,
100 0x59, 0x97, 0xFC, 0x8C, 0xEE, 0x96, 0x22, 0x60,
101 0xEE, 0xBF, 0x82, 0xF0, 0xCA, 0x14, 0xF9, 0xD3
104 static const struct blockcipher_test_data
105 triple_des128ctr_test_vector = {
106 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
109 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
110 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
116 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
121 .data = plaintext_des,
125 .data = ciphertext512_des128ctr,
130 static const struct blockcipher_test_data
131 triple_des128ctr_sha1_test_vector = {
132 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
135 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
136 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
142 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
147 .data = plaintext_des,
151 .data = ciphertext512_des128ctr,
154 .auth_algo = RTE_CRYPTO_AUTH_SHA1,
157 0xC3, 0x40, 0xD5, 0xD9, 0x8F, 0x8A, 0xC0, 0xF0,
158 0x46, 0x28, 0x02, 0x01, 0xB5, 0xC1, 0x87, 0x4D,
159 0xAC, 0xFE, 0x48, 0x76
165 static const struct blockcipher_test_data
166 triple_des128ctr_hmac_sha1_test_vector = {
167 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
170 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
171 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
177 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
182 .data = plaintext_des,
186 .data = ciphertext512_des128ctr,
189 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
192 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
193 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
194 0xDE, 0xF4, 0xDE, 0xAD
200 0xF1, 0xC1, 0xDB, 0x4D, 0xFA, 0x7F, 0x2F, 0xE5,
201 0xF8, 0x49, 0xEA, 0x1D, 0x7F, 0xCB, 0x42, 0x59,
202 0xC4, 0x1E, 0xB1, 0x18
208 static const uint8_t ciphertext512_des192ctr[] = {
209 0xFF, 0x32, 0x52, 0x97, 0x10, 0xBF, 0x0B, 0x10,
210 0x68, 0x0F, 0x4F, 0x56, 0x8B, 0x2C, 0x7B, 0x8E,
211 0x39, 0x1E, 0x1A, 0x2F, 0x83, 0xDE, 0x5E, 0x35,
212 0xC8, 0x4B, 0xDF, 0xD5, 0xBC, 0x84, 0x50, 0x1A,
213 0x02, 0xDF, 0xB3, 0x11, 0xE4, 0xDA, 0xB8, 0x0E,
214 0x47, 0xC6, 0x0C, 0x51, 0x09, 0x62, 0x9C, 0x5D,
215 0x71, 0x40, 0x49, 0xD8, 0x55, 0xBD, 0x7D, 0x90,
216 0x71, 0xC5, 0xF7, 0x07, 0x6F, 0x08, 0x71, 0x2A,
217 0xB1, 0x77, 0x9B, 0x0F, 0xA1, 0xB0, 0xD6, 0x10,
218 0xB2, 0xE5, 0x31, 0xEC, 0x21, 0x13, 0x89, 0x2A,
219 0x09, 0x7E, 0x30, 0xDB, 0xA0, 0xF0, 0xDC, 0xE4,
220 0x74, 0x64, 0x39, 0xA3, 0xB0, 0xB1, 0x80, 0x66,
221 0x52, 0xD4, 0x4E, 0xC9, 0x5A, 0x52, 0x6A, 0xC7,
222 0xB5, 0x2B, 0x61, 0xD5, 0x17, 0xD5, 0xF3, 0xCC,
223 0x41, 0x61, 0xD2, 0xA6, 0xF4, 0x51, 0x24, 0x3A,
224 0x63, 0x5D, 0x23, 0xB1, 0xF0, 0x22, 0xE7, 0x45,
225 0xFA, 0x5F, 0x7E, 0x99, 0x00, 0x11, 0x28, 0x35,
226 0xA3, 0xF4, 0x61, 0x94, 0x0E, 0x98, 0xCE, 0x35,
227 0xDD, 0x91, 0x1B, 0x0B, 0x4D, 0xEE, 0xFF, 0xFF,
228 0x0B, 0xD4, 0xDC, 0x56, 0xFC, 0x71, 0xE9, 0xEC,
229 0xE8, 0x36, 0x51, 0xF8, 0x8B, 0x6A, 0xE1, 0x8C,
230 0x2B, 0x25, 0x91, 0x91, 0x9B, 0x92, 0x76, 0xB5,
231 0x3D, 0x26, 0xA8, 0x53, 0xEA, 0x30, 0x5B, 0x4D,
232 0xDA, 0x16, 0xDA, 0x7D, 0x04, 0x88, 0xF5, 0x22,
233 0xA8, 0x0C, 0xB9, 0x41, 0xC7, 0x91, 0x64, 0x86,
234 0x99, 0x7D, 0x18, 0xB9, 0x67, 0xA2, 0x6E, 0x05,
235 0x1A, 0x82, 0x8F, 0xA2, 0xEB, 0x4D, 0x0B, 0x8C,
236 0x88, 0x2D, 0xBA, 0x77, 0x87, 0x32, 0x50, 0x3C,
237 0x4C, 0xD8, 0xD3, 0x50, 0x39, 0xFA, 0xDF, 0x48,
238 0x3E, 0x30, 0xF5, 0x76, 0x06, 0xB0, 0x1A, 0x05,
239 0x60, 0x2C, 0xD3, 0xA0, 0x63, 0x1A, 0x19, 0x2D,
240 0x6B, 0x76, 0xF2, 0x31, 0x4C, 0xA7, 0xE6, 0x5C,
241 0x1B, 0x23, 0x20, 0x41, 0x32, 0xE5, 0x83, 0x47,
242 0x04, 0xB6, 0x3E, 0xE0, 0xFD, 0x49, 0x1E, 0x1B,
243 0x75, 0x10, 0x11, 0x46, 0xE9, 0xF9, 0x96, 0x9A,
244 0xD7, 0x59, 0xFE, 0x38, 0x31, 0xFE, 0x79, 0xC4,
245 0xC8, 0x46, 0x88, 0xDE, 0x2E, 0xAE, 0x20, 0xED,
246 0x77, 0x50, 0x40, 0x38, 0x26, 0xD3, 0x35, 0xF6,
247 0x29, 0x55, 0x6A, 0x6B, 0x38, 0x69, 0xFE, 0x90,
248 0x5B, 0xA7, 0xFA, 0x6B, 0x73, 0x4F, 0xB9, 0x5D,
249 0xDC, 0x6F, 0x98, 0xC3, 0x6A, 0xC4, 0xB5, 0x09,
250 0xC5, 0x84, 0xA5, 0x6A, 0x84, 0xA4, 0xB3, 0x8A,
251 0x5F, 0xCA, 0x92, 0x64, 0x9E, 0xC3, 0x0F, 0x84,
252 0x8B, 0x2D, 0x48, 0xC6, 0x67, 0xAE, 0x07, 0xE0,
253 0x28, 0x38, 0x6D, 0xC4, 0x4D, 0x13, 0x87, 0xE0,
254 0xB2, 0x2F, 0xAA, 0xC0, 0xCF, 0x68, 0xD7, 0x9C,
255 0xB8, 0x07, 0xE4, 0x51, 0xD7, 0x75, 0x86, 0xFA,
256 0x0C, 0x50, 0x74, 0x68, 0x00, 0x64, 0x2A, 0x27,
257 0x59, 0xE9, 0x80, 0xEB, 0xC2, 0xA3, 0xFA, 0x58,
258 0xCC, 0x03, 0xE7, 0x7B, 0x66, 0x53, 0xFF, 0x90,
259 0xA0, 0x85, 0xE2, 0xF8, 0x82, 0xFE, 0xC6, 0x2B,
260 0xFF, 0x5E, 0x70, 0x85, 0x34, 0xB7, 0x22, 0x38,
261 0xDB, 0xBC, 0x15, 0x30, 0x59, 0xC1, 0x48, 0x42,
262 0xE5, 0x38, 0x8D, 0x37, 0x59, 0xDB, 0xA3, 0x20,
263 0x17, 0x36, 0x1D, 0x4B, 0xBF, 0x4E, 0xA4, 0x35,
264 0xCC, 0xFE, 0xF5, 0x7A, 0x73, 0xB4, 0x6D, 0x20,
265 0x1D, 0xC0, 0xE5, 0x21, 0x5C, 0xD2, 0x8A, 0x65,
266 0x08, 0xB6, 0x63, 0xAC, 0x9A, 0x1E, 0x3F, 0x3C,
267 0xAB, 0xB6, 0x6D, 0x34, 0xB2, 0x3A, 0x08, 0xDA,
268 0x29, 0x63, 0xD1, 0xA4, 0x83, 0x52, 0xB0, 0x63,
269 0x1B, 0x89, 0x35, 0x57, 0x59, 0x2C, 0x0F, 0x72,
270 0x72, 0xFD, 0xA0, 0xAC, 0xDB, 0xB4, 0xA3, 0xA1,
271 0x18, 0x10, 0x12, 0x97, 0x99, 0x63, 0x38, 0x98,
272 0x96, 0xB5, 0x16, 0x07, 0x4E, 0xE9, 0x2C, 0x97
275 static const struct blockcipher_test_data
276 triple_des192ctr_test_vector = {
277 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
280 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
281 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
282 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
288 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
293 .data = plaintext_des,
297 .data = ciphertext512_des192ctr,
302 static const struct blockcipher_test_data
303 triple_des192ctr_sha1_test_vector = {
304 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
307 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
308 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
309 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
315 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
320 .data = plaintext_des,
324 .data = ciphertext512_des192ctr,
327 .auth_algo = RTE_CRYPTO_AUTH_SHA1,
330 0xEA, 0x62, 0xB9, 0xB2, 0x78, 0x6C, 0x8E, 0xDB,
331 0xA3, 0xB6, 0xFF, 0x23, 0x3A, 0x47, 0xD8, 0xC8,
332 0xED, 0x5E, 0x20, 0x1D
338 static const struct blockcipher_test_data
339 triple_des192ctr_hmac_sha1_test_vector = {
340 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
343 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
344 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
345 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
351 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
356 .data = plaintext_des,
360 .data = ciphertext512_des192ctr,
363 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
366 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
367 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
368 0xDE, 0xF4, 0xDE, 0xAD
374 0x32, 0xD5, 0x19, 0x8F, 0x79, 0x3A, 0xAA, 0x7B,
375 0x70, 0x67, 0x4E, 0x63, 0x88, 0xA3, 0x9A, 0x82,
376 0x07, 0x33, 0x12, 0x94
382 static const uint8_t ciphertext512_des128cbc[] = {
383 0x28, 0x2a, 0xff, 0x15, 0x5c, 0xdf, 0xd9, 0x6b,
384 0x54, 0xbc, 0x7b, 0xfb, 0xc5, 0x64, 0x4d, 0xdd,
385 0x3e, 0xf2, 0x9e, 0xb7, 0x53, 0x65, 0x37, 0x05,
386 0xe0, 0xdf, 0xae, 0xf7, 0xc9, 0x27, 0xe4, 0xec,
387 0x11, 0x27, 0xc2, 0x9e, 0x02, 0x4e, 0x03, 0x3b,
388 0x33, 0xf2, 0x66, 0x08, 0x24, 0x5f, 0xab, 0xc2,
389 0x7e, 0x21, 0x19, 0x5d, 0x51, 0xc3, 0xe2, 0x97,
390 0x6f, 0x2e, 0xb4, 0xaa, 0x34, 0x70, 0x88, 0x78,
391 0x4e, 0xe7, 0x3d, 0xe1, 0x9f, 0x87, 0x1c, 0x8b,
392 0xac, 0x8d, 0xa1, 0x1a, 0xcd, 0xb0, 0xf8, 0xb6,
393 0x24, 0x36, 0xe3, 0x8c, 0x07, 0xe7, 0xe4, 0x92,
394 0x13, 0x86, 0x6f, 0x13, 0xec, 0x04, 0x5c, 0xe9,
395 0xb9, 0xca, 0x45, 0x8a, 0x2c, 0x46, 0xda, 0x54,
396 0x1d, 0xb5, 0x81, 0xb1, 0xcd, 0xf3, 0x7d, 0x11,
397 0x6b, 0xb3, 0x0a, 0x45, 0xe5, 0x6e, 0x51, 0x3e,
398 0x2c, 0xac, 0x7c, 0xbc, 0xa7, 0x7e, 0x22, 0x4d,
399 0xe6, 0x02, 0xe3, 0x3f, 0x77, 0xd7, 0x73, 0x72,
400 0x0e, 0xfb, 0x42, 0x85, 0x80, 0xdf, 0xa8, 0x91,
401 0x60, 0x40, 0x48, 0xcd, 0x1b, 0xd9, 0xbf, 0x2f,
402 0xf2, 0xdf, 0xd0, 0xbd, 0x3f, 0x82, 0xce, 0x15,
403 0x9d, 0x6e, 0xc6, 0x59, 0x6f, 0x27, 0x0d, 0xf9,
404 0x26, 0xe2, 0x11, 0x29, 0x50, 0xc3, 0x0a, 0xb7,
405 0xde, 0x9d, 0xe9, 0x55, 0xa1, 0xe9, 0x01, 0x33,
406 0x56, 0x51, 0xa7, 0x3a, 0x9e, 0x63, 0xc5, 0x08,
407 0x01, 0x3b, 0x03, 0x4b, 0xc6, 0xc4, 0xa1, 0xc0,
408 0xc0, 0xd0, 0x0e, 0x48, 0xe5, 0x4c, 0x55, 0x6b,
409 0x4a, 0xc1, 0x0a, 0x24, 0x4b, 0xd0, 0x02, 0xf4,
410 0x31, 0x63, 0x11, 0xbd, 0xa6, 0x1f, 0xf4, 0xae,
411 0x23, 0x5a, 0x40, 0x7e, 0x0e, 0x4e, 0x63, 0x8b,
412 0x66, 0x3d, 0x55, 0x46, 0x6e, 0x5c, 0x76, 0xa7,
413 0x68, 0x31, 0xce, 0x5d, 0xca, 0xe2, 0xb4, 0xb0,
414 0xc1, 0x1f, 0x66, 0x18, 0x75, 0x64, 0x73, 0xa9,
415 0x9e, 0xd5, 0x0e, 0x0e, 0xf7, 0x77, 0x61, 0xf8,
416 0x89, 0xc6, 0xcf, 0x0c, 0x41, 0xd3, 0x8f, 0xfd,
417 0x22, 0x52, 0x4f, 0x94, 0x5c, 0x19, 0x11, 0x3a,
418 0xb5, 0x63, 0xe8, 0x81, 0x33, 0x13, 0x54, 0x3c,
419 0x93, 0x36, 0xb5, 0x5b, 0x51, 0xaf, 0x51, 0xa2,
420 0x08, 0xae, 0x83, 0x15, 0x77, 0x07, 0x28, 0x0d,
421 0x98, 0xe1, 0x2f, 0x69, 0x0e, 0xfb, 0x9a, 0x2e,
422 0x27, 0x27, 0xb0, 0xd5, 0xce, 0xf8, 0x16, 0x55,
423 0xfd, 0xaa, 0xd7, 0x1a, 0x1b, 0x2e, 0x4c, 0x86,
424 0x7a, 0x6a, 0x90, 0xf7, 0x0a, 0x07, 0xd3, 0x81,
425 0x4b, 0x75, 0x6a, 0x79, 0xdb, 0x63, 0x45, 0x0f,
426 0x31, 0x7e, 0xd0, 0x2a, 0x14, 0xff, 0xee, 0xcc,
427 0x97, 0x8a, 0x7d, 0x74, 0xbd, 0x9d, 0xaf, 0x00,
428 0xdb, 0x7e, 0xf3, 0xe6, 0x22, 0x76, 0x77, 0x58,
429 0xba, 0x1c, 0x06, 0x96, 0xfb, 0x6f, 0x41, 0x71,
430 0x66, 0x98, 0xae, 0x31, 0x7d, 0x29, 0x18, 0x71,
431 0x0e, 0xe4, 0x98, 0x7e, 0x59, 0x5a, 0xc9, 0x78,
432 0x9c, 0xfb, 0x6c, 0x81, 0x44, 0xb4, 0x0f, 0x5e,
433 0x18, 0x53, 0xb8, 0x6f, 0xbc, 0x3b, 0x15, 0xf0,
434 0x10, 0xdd, 0x0d, 0x4b, 0x0a, 0x36, 0x0e, 0xb4,
435 0x76, 0x0f, 0x16, 0xa7, 0x5c, 0x9d, 0xcf, 0xb0,
436 0x6d, 0x38, 0x02, 0x07, 0x05, 0xe9, 0xe9, 0x46,
437 0x08, 0xb8, 0x52, 0xd6, 0xd9, 0x4c, 0x81, 0x63,
438 0x1d, 0xe2, 0x5b, 0xd0, 0xf6, 0x5e, 0x1e, 0x81,
439 0x48, 0x08, 0x66, 0x3a, 0x85, 0xed, 0x65, 0xfe,
440 0xe8, 0x05, 0x7a, 0xe1, 0xe6, 0x12, 0xf2, 0x52,
441 0x83, 0xdd, 0x82, 0xbe, 0xf6, 0x34, 0x8a, 0x6f,
442 0xc5, 0x83, 0xcd, 0x3f, 0xbe, 0x58, 0x8b, 0x11,
443 0x78, 0xdc, 0x0c, 0x83, 0x72, 0x5d, 0x05, 0x2a,
444 0x01, 0x29, 0xee, 0x48, 0x9a, 0x67, 0x00, 0x6e,
445 0x14, 0x60, 0x2d, 0x00, 0x52, 0x87, 0x98, 0x5e,
446 0x43, 0xfe, 0xf1, 0x10, 0x14, 0xf1, 0x91, 0xcc
450 static const uint8_t ciphertext512_des[] = {
451 0x1A, 0x46, 0xDB, 0x69, 0x43, 0x45, 0x0F, 0x2F,
452 0xDC, 0x27, 0xF9, 0x41, 0x0E, 0x01, 0x58, 0xB4,
453 0x5E, 0xCC, 0x13, 0xF5, 0x92, 0x99, 0xE4, 0xF2,
454 0xD5, 0xF9, 0x16, 0xFE, 0x0F, 0x7E, 0xDE, 0xA0,
455 0xF5, 0x32, 0xFE, 0x20, 0x67, 0x93, 0xCA, 0xE1,
456 0x8E, 0x4D, 0x72, 0xA3, 0x50, 0x72, 0x14, 0x15,
457 0x70, 0xE7, 0xAB, 0x49, 0x25, 0x88, 0x0E, 0x01,
458 0x5C, 0x52, 0x87, 0xE2, 0x27, 0xDC, 0xD4, 0xD1,
459 0x14, 0x1B, 0x08, 0x9F, 0x42, 0x48, 0x93, 0xA9,
460 0xD1, 0x2F, 0x2C, 0x69, 0x48, 0x16, 0x59, 0xCF,
461 0x8B, 0xF6, 0x8B, 0xD9, 0x34, 0xD4, 0xD7, 0xE4,
462 0xAE, 0x35, 0xFD, 0xDA, 0x73, 0xBE, 0xDC, 0x6B,
463 0x10, 0x90, 0x75, 0x2D, 0x4C, 0x14, 0x37, 0x8B,
464 0xC8, 0xC7, 0xDF, 0x6E, 0x6F, 0xED, 0xF3, 0xE3,
465 0xD3, 0x21, 0x29, 0xCD, 0x06, 0xB6, 0x5B, 0xF4,
466 0xB9, 0xBD, 0x77, 0xA2, 0xF7, 0x91, 0xF4, 0x95,
467 0xF0, 0xE0, 0x62, 0x03, 0x46, 0xAE, 0x1B, 0xEB,
468 0xE2, 0xA9, 0xCF, 0xB9, 0x0E, 0x3B, 0xB9, 0xDA,
469 0x5C, 0x1B, 0x45, 0x3F, 0xDD, 0xCC, 0xCC, 0xB3,
470 0xF0, 0xDD, 0x36, 0x26, 0x11, 0x57, 0x97, 0xA7,
471 0xF6, 0xF4, 0xE1, 0x4F, 0xBB, 0x31, 0xBB, 0x07,
472 0x4B, 0xA3, 0xB4, 0x83, 0xF9, 0x23, 0xA1, 0xCD,
473 0x8C, 0x1C, 0x76, 0x92, 0x45, 0xA5, 0xEB, 0x7D,
474 0xEB, 0x22, 0x88, 0xB1, 0x9F, 0xFB, 0xE9, 0x06,
475 0x8F, 0x67, 0xA6, 0x8A, 0xB7, 0x0B, 0xCD, 0x8F,
476 0x34, 0x40, 0x4F, 0x4F, 0xAD, 0xA0, 0xF2, 0xDC,
477 0x2C, 0x53, 0xE1, 0xCA, 0xA5, 0x7A, 0x03, 0xEF,
478 0x08, 0x00, 0xCC, 0x52, 0xA6, 0xAB, 0x56, 0xD2,
479 0xF1, 0xCD, 0xC7, 0xED, 0xBE, 0xCB, 0x78, 0x37,
480 0x4B, 0x61, 0xA9, 0xD2, 0x3C, 0x8D, 0xCC, 0xFD,
481 0x21, 0xFD, 0x0F, 0xE4, 0x4E, 0x3D, 0x6F, 0x8F,
482 0x2A, 0xEC, 0x69, 0xFA, 0x20, 0x50, 0x99, 0x35,
483 0xA1, 0xCC, 0x3B, 0xFD, 0xD6, 0xAC, 0xE9, 0xBE,
484 0x14, 0xF1, 0xBC, 0x71, 0x70, 0xFE, 0x13, 0xD1,
485 0x48, 0xCC, 0xBE, 0x7B, 0xCB, 0xC0, 0x20, 0xD9,
486 0x28, 0xD7, 0xD4, 0x0F, 0x66, 0x7A, 0x60, 0xAB,
487 0x20, 0xA9, 0x23, 0x41, 0x03, 0x34, 0xC3, 0x63,
488 0x91, 0x69, 0x02, 0xD5, 0xBC, 0x41, 0xDA, 0xA8,
489 0xD1, 0x48, 0xC9, 0x8E, 0x4F, 0xCD, 0x0F, 0x21,
490 0x5B, 0x4D, 0x5F, 0xF5, 0x1B, 0x2A, 0x44, 0x10,
491 0x16, 0xA7, 0xFD, 0xC0, 0x55, 0xE1, 0x98, 0xBB,
492 0x76, 0xB5, 0xAB, 0x39, 0x6B, 0x9B, 0xAB, 0x85,
493 0x45, 0x4B, 0x9C, 0x64, 0x7D, 0x78, 0x3F, 0x61,
494 0x22, 0xB1, 0xDE, 0x0E, 0x39, 0x2B, 0x21, 0x26,
495 0xE2, 0x1D, 0x5A, 0xD7, 0xAC, 0xDF, 0xD4, 0x12,
496 0x69, 0xD1, 0xE8, 0x9B, 0x1A, 0xCE, 0x6C, 0xA0,
497 0x3B, 0x23, 0xDC, 0x03, 0x2B, 0x97, 0x16, 0xD0,
498 0xD0, 0x46, 0x98, 0x36, 0x53, 0xCE, 0x88, 0x6E,
499 0xCA, 0x2C, 0x15, 0x0E, 0x49, 0xED, 0xBE, 0xE5,
500 0xBF, 0xBD, 0x7B, 0xC2, 0x21, 0xE1, 0x09, 0xFF,
501 0x71, 0xA8, 0xBE, 0x8F, 0xB4, 0x1D, 0x25, 0x5C,
502 0x37, 0xCA, 0x26, 0xD2, 0x1E, 0x63, 0xE1, 0x7F,
503 0x0D, 0x89, 0x10, 0xEF, 0x78, 0xB0, 0xDB, 0xD0,
504 0x72, 0x44, 0x60, 0x1D, 0xCF, 0x7C, 0x25, 0x1A,
505 0xBB, 0xC3, 0x92, 0x53, 0x8E, 0x9F, 0x27, 0xC7,
506 0xE8, 0x08, 0xFC, 0x5D, 0x50, 0x3E, 0xFC, 0xB0,
507 0x00, 0xE2, 0x48, 0xB2, 0x4B, 0xF8, 0xF2, 0xE3,
508 0xD3, 0x8B, 0x71, 0x64, 0xB8, 0xF0, 0x6E, 0x4A,
509 0x23, 0xA0, 0xA4, 0x88, 0xA4, 0x36, 0x45, 0x6B,
510 0x5A, 0xE7, 0x57, 0x65, 0xEA, 0xC9, 0xF8, 0xE8,
511 0x7A, 0x80, 0x22, 0x67, 0x1A, 0x05, 0xF2, 0x78,
512 0x81, 0x17, 0xCD, 0x87, 0xFB, 0x0D, 0x25, 0x84,
513 0x49, 0x06, 0x25, 0xCE, 0xFC, 0x38, 0x06, 0x18,
514 0x2E, 0x1D, 0xE1, 0x33, 0x97, 0xB6, 0x7E, 0xAB,
518 static const struct blockcipher_test_data
519 triple_des128cbc_test_vector = {
520 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
523 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
524 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
530 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
535 .data = plaintext_des,
539 .data = ciphertext512_des128cbc,
544 static const struct blockcipher_test_data
545 triple_des128cbc_sha1_test_vector = {
546 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
549 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
550 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
556 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
561 .data = plaintext_des,
565 .data = ciphertext512_des128cbc,
568 .auth_algo = RTE_CRYPTO_AUTH_SHA1,
571 0x94, 0x45, 0x7B, 0xDF, 0xFE, 0x80, 0xB9, 0xA6,
572 0xA0, 0x7A, 0xE8, 0x93, 0x40, 0x7B, 0x85, 0x02,
573 0x1C, 0xD7, 0xE8, 0x87
579 static const struct blockcipher_test_data
580 triple_des128cbc_hmac_sha1_test_vector = {
581 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
584 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
585 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
591 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
596 .data = plaintext_des,
600 .data = ciphertext512_des128cbc,
603 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
606 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
607 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
608 0xDE, 0xF4, 0xDE, 0xAD
614 0x7E, 0xBA, 0xFF, 0x86, 0x8D, 0x65, 0xCD, 0x08,
615 0x76, 0x34, 0x94, 0xE9, 0x9A, 0xCD, 0xB2, 0xBB,
616 0xBF, 0x65, 0xF5, 0x42
622 static const uint8_t ciphertext512_des192cbc[] = {
623 0xd0, 0xc9, 0xdc, 0x51, 0x29, 0x97, 0x03, 0x64,
624 0xcd, 0x22, 0xba, 0x3d, 0x2b, 0xbc, 0x21, 0x37,
625 0x7b, 0x1e, 0x29, 0x23, 0xeb, 0x51, 0x6e, 0xac,
626 0xbe, 0x5b, 0xd3, 0x67, 0xe0, 0x3f, 0xc3, 0xb5,
627 0xe3, 0x04, 0x17, 0x42, 0x2b, 0xaa, 0xdd, 0xd6,
628 0x0e, 0x69, 0xd0, 0x8f, 0x8a, 0xfc, 0xb4, 0x55,
629 0x67, 0x06, 0x51, 0xbb, 0x00, 0x57, 0xee, 0x95,
630 0x28, 0x79, 0x3f, 0xd9, 0x97, 0x2b, 0xb0, 0x02,
631 0x35, 0x08, 0xce, 0x7a, 0xc3, 0x43, 0x2c, 0x87,
632 0xaa, 0x97, 0x6a, 0xad, 0xf0, 0x26, 0xea, 0x1d,
633 0xbb, 0x08, 0xe9, 0x52, 0x11, 0xd3, 0xaf, 0x36,
634 0x17, 0x14, 0x21, 0xb2, 0xbc, 0x42, 0x51, 0x33,
635 0x27, 0x8c, 0xd8, 0x45, 0xb9, 0x76, 0xa0, 0x11,
636 0x24, 0x34, 0xde, 0x4d, 0x13, 0x67, 0x1b, 0xc3,
637 0x31, 0x12, 0x66, 0x56, 0x59, 0xd2, 0xb1, 0x8f,
638 0xec, 0x1e, 0xc0, 0x10, 0x7a, 0x86, 0xb1, 0x60,
639 0xc3, 0x01, 0xd6, 0xa8, 0x55, 0xad, 0x58, 0x63,
640 0xca, 0x68, 0xa9, 0x33, 0xe3, 0x93, 0x90, 0x7d,
641 0x8f, 0xca, 0xf8, 0x1c, 0xc2, 0x9e, 0xfb, 0xde,
642 0x9c, 0xc7, 0xf2, 0x6c, 0xff, 0xcc, 0x39, 0x17,
643 0x49, 0x33, 0x0d, 0x7c, 0xed, 0x07, 0x99, 0x91,
644 0x91, 0x6c, 0x5f, 0x3f, 0x02, 0x09, 0xdc, 0x70,
645 0xf9, 0x3b, 0x8d, 0xaa, 0xf4, 0xbc, 0x0e, 0xec,
646 0xf2, 0x26, 0xfb, 0xb2, 0x1c, 0x31, 0xae, 0xc6,
647 0x72, 0xe8, 0x0b, 0x75, 0x05, 0x57, 0x58, 0x98,
648 0x92, 0x37, 0x27, 0x8e, 0x3b, 0x0c, 0x25, 0xfb,
649 0xcf, 0x82, 0x02, 0xd5, 0x0b, 0x1f, 0x89, 0x49,
650 0xcd, 0x0f, 0xa1, 0xa7, 0x08, 0x63, 0x56, 0xa7,
651 0x1f, 0x80, 0x3a, 0xef, 0x24, 0x89, 0x57, 0x1a,
652 0x02, 0xdc, 0x2e, 0x51, 0xbd, 0x4a, 0x10, 0x23,
653 0xfc, 0x02, 0x1a, 0x3f, 0x34, 0xbf, 0x1c, 0x98,
654 0x1a, 0x40, 0x0a, 0x96, 0x8e, 0x41, 0xd5, 0x09,
655 0x55, 0x37, 0xe9, 0x25, 0x11, 0x83, 0xf8, 0xf3,
656 0xd4, 0xb0, 0xdb, 0x16, 0xd7, 0x51, 0x7e, 0x94,
657 0xf7, 0xb4, 0x26, 0xe0, 0xf4, 0x80, 0x01, 0x65,
658 0x51, 0xeb, 0xbc, 0xb0, 0x65, 0x8f, 0xdd, 0xb5,
659 0xf7, 0x00, 0xec, 0x40, 0xab, 0x7d, 0x96, 0xcc,
660 0x8d, 0xec, 0x89, 0x80, 0x31, 0x39, 0xa2, 0x5c,
661 0xb0, 0x55, 0x4c, 0xee, 0xdd, 0x15, 0x2b, 0xa9,
662 0x86, 0x4e, 0x23, 0x14, 0x36, 0xc5, 0x57, 0xf5,
663 0xe3, 0xe8, 0x89, 0xc9, 0xb7, 0xf8, 0xeb, 0x08,
664 0xe5, 0x93, 0x12, 0x5c, 0x0f, 0x79, 0xa1, 0x86,
665 0xe4, 0xc2, 0xeb, 0xa6, 0xa0, 0x50, 0x6a, 0xec,
666 0xd3, 0xce, 0x50, 0x78, 0x4e, 0x4f, 0x93, 0xd8,
667 0xdc, 0xb4, 0xec, 0x02, 0xe9, 0xbd, 0x17, 0x99,
668 0x1e, 0x16, 0x4e, 0xd7, 0xb0, 0x07, 0x02, 0x55,
669 0x63, 0x24, 0x4f, 0x7b, 0x8f, 0xc5, 0x7a, 0x12,
670 0x29, 0xff, 0x5d, 0xc1, 0xe7, 0xae, 0x48, 0xc8,
671 0x57, 0x53, 0xe7, 0xcd, 0x10, 0x6c, 0x19, 0xfc,
672 0xcc, 0xb9, 0xb1, 0xbe, 0x48, 0x9f, 0x2d, 0x3f,
673 0x39, 0x2e, 0xdd, 0x71, 0xde, 0x1b, 0x54, 0xee,
674 0x7d, 0x94, 0x8f, 0x27, 0x23, 0xe9, 0x74, 0x92,
675 0x14, 0x93, 0x84, 0x65, 0xc9, 0x22, 0x7c, 0xa8,
676 0x1b, 0x72, 0x73, 0xb1, 0x23, 0xa0, 0x6b, 0xcc,
677 0xb5, 0x22, 0x06, 0x15, 0xe5, 0x96, 0x03, 0x4a,
678 0x52, 0x8d, 0x1d, 0xbf, 0x3e, 0x82, 0x45, 0x9c,
679 0x75, 0x9e, 0xa9, 0x3a, 0x97, 0xb6, 0x5d, 0xc4,
680 0x75, 0x67, 0xa1, 0xf3, 0x0f, 0x7a, 0xfd, 0x71,
681 0x58, 0x04, 0xf9, 0xa7, 0xc2, 0x56, 0x74, 0x04,
682 0x74, 0x68, 0x6d, 0x8a, 0xf6, 0x6c, 0x5d, 0xd8,
683 0xb5, 0xed, 0x70, 0x23, 0x32, 0x4d, 0x75, 0x92,
684 0x88, 0x7b, 0x39, 0x37, 0x02, 0x4b, 0xb2, 0x1c,
685 0x1f, 0x7e, 0x5b, 0x1b, 0x10, 0xfc, 0x17, 0x21,
686 0x66, 0x62, 0x63, 0xc2, 0xcd, 0x16, 0x96, 0x3e
689 static const struct blockcipher_test_data
690 triple_des192cbc_test_vector = {
691 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
694 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
695 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
696 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
702 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
707 .data = plaintext_des,
711 .data = ciphertext512_des192cbc,
716 static const struct blockcipher_test_data
717 triple_des192cbc_sha1_test_vector = {
718 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
721 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
722 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
723 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
729 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
734 .data = plaintext_des,
738 .data = ciphertext512_des192cbc,
741 .auth_algo = RTE_CRYPTO_AUTH_SHA1,
744 0x53, 0x27, 0xC0, 0xE6, 0xD6, 0x1B, 0xD6, 0x45,
745 0x94, 0x2D, 0xCE, 0x8B, 0x29, 0xA3, 0x52, 0x14,
746 0xC1, 0x6B, 0x87, 0x99
752 static const struct blockcipher_test_data
753 triple_des192cbc_hmac_sha1_test_vector = {
754 .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
757 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
758 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
759 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
765 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
770 .data = plaintext_des,
774 .data = ciphertext512_des192cbc,
777 .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
780 0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
781 0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
782 0xDE, 0xF4, 0xDE, 0xAD
788 0xBA, 0xAC, 0x74, 0x19, 0x43, 0xB0, 0x72, 0xB8,
789 0x08, 0xF5, 0x24, 0xC4, 0x09, 0xBD, 0x48, 0xC1,
790 0x3C, 0x50, 0x1C, 0xDD
796 static const struct blockcipher_test_data
797 des_cbc_test_vector = {
798 .crypto_algo = RTE_CRYPTO_CIPHER_DES_CBC,
801 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2
807 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
812 .data = plaintext_des,
816 .data = ciphertext512_des,
821 static const struct blockcipher_test_case des_cipheronly_test_cases[] = {
823 .test_descr = "DES-CBC Encryption",
824 .test_data = &des_cbc_test_vector,
825 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
826 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
827 BLOCKCIPHER_TEST_TARGET_PMD_MB |
828 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
829 BLOCKCIPHER_TEST_TARGET_PMD_MRVL
832 .test_descr = "DES-CBC Decryption",
833 .test_data = &des_cbc_test_vector,
834 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
835 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
836 BLOCKCIPHER_TEST_TARGET_PMD_MB |
837 BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
838 BLOCKCIPHER_TEST_TARGET_PMD_MRVL
843 /* DES-DOCSIS-BPI test vectors */
845 static const uint8_t plaintext_des_docsis_bpi_cfb[] = {
846 0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E
849 static const uint8_t ciphertext_des_docsis_bpi_cfb[] = {
850 0x17, 0x86, 0xA8, 0x03, 0xA0, 0x85, 0x75
853 static const uint8_t plaintext_des_docsis_bpi_cbc_cfb[] = {
854 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
855 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91,
859 static const uint8_t ciphertext_des_docsis_bpi_cbc_cfb[] = {
860 0x0D, 0xDA, 0x5A, 0xCB, 0xD0, 0x5E, 0x55, 0x67,
861 0x51, 0x47, 0x46, 0x86, 0x8A, 0x71, 0xE5, 0x77,
865 /* Multiple of DES block size */
866 static const struct blockcipher_test_data des_test_data_1 = {
867 .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
870 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2
876 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
881 .data = plaintext_des,
885 .data = ciphertext512_des,
890 /* Less than DES block size */
891 static const struct blockcipher_test_data des_test_data_2 = {
892 .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
896 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
902 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
907 .data = plaintext_des_docsis_bpi_cfb,
911 .data = ciphertext_des_docsis_bpi_cfb,
916 /* Not multiple of DES block size */
917 static const struct blockcipher_test_data des_test_data_3 = {
918 .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
921 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
927 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
932 .data = plaintext_des_docsis_bpi_cbc_cfb,
936 .data = ciphertext_des_docsis_bpi_cbc_cfb,
940 static const struct blockcipher_test_case des_docsis_test_cases[] = {
942 .test_descr = "DES-DOCSIS-BPI Full Block Encryption",
943 .test_data = &des_test_data_1,
944 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
945 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
946 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
947 BLOCKCIPHER_TEST_TARGET_PMD_MB
950 .test_descr = "DES-DOCSIS-BPI Runt Block Encryption",
951 .test_data = &des_test_data_2,
952 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
953 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
954 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
955 BLOCKCIPHER_TEST_TARGET_PMD_MB
958 .test_descr = "DES-DOCSIS-BPI Uneven Encryption",
959 .test_data = &des_test_data_3,
960 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
961 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
962 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
963 BLOCKCIPHER_TEST_TARGET_PMD_MB
966 .test_descr = "DES-DOCSIS-BPI Full Block Decryption",
967 .test_data = &des_test_data_1,
968 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
969 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
970 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
971 BLOCKCIPHER_TEST_TARGET_PMD_MB
974 .test_descr = "DES-DOCSIS-BPI Runt Block Decryption",
975 .test_data = &des_test_data_2,
976 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
977 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
978 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
979 BLOCKCIPHER_TEST_TARGET_PMD_MB
982 .test_descr = "DES-DOCSIS-BPI Uneven Decryption",
983 .test_data = &des_test_data_3,
984 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
985 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
986 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
987 BLOCKCIPHER_TEST_TARGET_PMD_MB
990 .test_descr = "DES-DOCSIS-BPI OOP Full Block Encryption",
991 .test_data = &des_test_data_1,
992 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
993 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
994 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
995 BLOCKCIPHER_TEST_TARGET_PMD_QAT
998 .test_descr = "DES-DOCSIS-BPI OOP Runt Block Encryption",
999 .test_data = &des_test_data_2,
1000 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1001 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1002 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1003 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1006 .test_descr = "DES-DOCSIS-BPI OOP Uneven Encryption",
1007 .test_data = &des_test_data_3,
1008 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1009 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1010 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1011 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1014 .test_descr = "DES-DOCSIS-BPI OOP Full Block Decryption",
1015 .test_data = &des_test_data_1,
1016 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1017 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1018 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1019 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1022 .test_descr = "DES-DOCSIS-BPI OOP Runt Block Decryption",
1023 .test_data = &des_test_data_2,
1024 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1025 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1026 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1027 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1030 .test_descr = "DES-DOCSIS-BPI OOP Uneven Decryption",
1031 .test_data = &des_test_data_3,
1032 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1033 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1034 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1035 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1039 static const struct blockcipher_test_case triple_des_chain_test_cases[] = {
1041 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest",
1042 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1043 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1044 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1045 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1046 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1047 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1050 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest Verify",
1051 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1052 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1053 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1054 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1055 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1056 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1059 .test_descr = "3DES-128-CBC SHA1 Encryption Digest",
1060 .test_data = &triple_des128cbc_sha1_test_vector,
1061 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1062 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1065 .test_descr = "3DES-128-CBC SHA1 Decryption Digest Verify",
1066 .test_data = &triple_des128cbc_sha1_test_vector,
1067 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1068 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1071 .test_descr = "3DES-192-CBC HMAC-SHA1 Encryption Digest",
1072 .test_data = &triple_des192cbc_hmac_sha1_test_vector,
1073 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1074 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1075 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1076 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1077 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1078 BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1081 .test_descr = "3DES-192-CBC HMAC-SHA1 Decryption Digest Verify",
1082 .test_data = &triple_des192cbc_hmac_sha1_test_vector,
1083 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1084 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1085 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1086 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1087 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1088 BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1091 .test_descr = "3DES-192-CBC SHA1 Encryption Digest",
1092 .test_data = &triple_des192cbc_sha1_test_vector,
1093 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1094 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1095 BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1098 .test_descr = "3DES-192-CBC SHA1 Decryption Digest Verify",
1099 .test_data = &triple_des192cbc_sha1_test_vector,
1100 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1101 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1102 BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1105 .test_descr = "3DES-128-CTR HMAC-SHA1 Encryption Digest",
1106 .test_data = &triple_des128ctr_hmac_sha1_test_vector,
1107 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1108 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1109 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1112 .test_descr = "3DES-128-CTR HMAC-SHA1 Decryption Digest Verify",
1113 .test_data = &triple_des128ctr_hmac_sha1_test_vector,
1114 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1115 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1116 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1119 .test_descr = "3DES-128-CTR SHA1 Encryption Digest",
1120 .test_data = &triple_des128ctr_sha1_test_vector,
1121 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1122 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1125 .test_descr = "3DES-128-CTR SHA1 Decryption Digest Verify",
1126 .test_data = &triple_des128ctr_sha1_test_vector,
1127 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1128 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1131 .test_descr = "3DES-192-CTR HMAC-SHA1 Encryption Digest",
1132 .test_data = &triple_des192ctr_hmac_sha1_test_vector,
1133 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1134 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1135 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1138 .test_descr = "3DES-192-CTR HMAC-SHA1 Decryption Digest Verify",
1139 .test_data = &triple_des192ctr_hmac_sha1_test_vector,
1140 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1141 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1142 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1145 .test_descr = "3DES-192-CTR SHA1 Encryption Digest",
1146 .test_data = &triple_des192ctr_sha1_test_vector,
1147 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1148 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1151 .test_descr = "3DES-192-CTR SHA1 Decryption Digest Verify",
1152 .test_data = &triple_des192ctr_sha1_test_vector,
1153 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1154 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1157 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest OOP",
1158 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1159 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1160 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1161 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1162 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1163 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1164 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1167 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest"
1169 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1170 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1171 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1172 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1173 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1174 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1175 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1178 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest"
1180 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1181 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1182 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1183 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1187 "3DES-128-CBC HMAC-SHA1 Decryption Digest"
1188 " Verify Sessionless",
1189 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1190 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1191 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1192 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1196 static const struct blockcipher_test_case triple_des_cipheronly_test_cases[] = {
1198 .test_descr = "3DES-128-CBC Encryption",
1199 .test_data = &triple_des128cbc_test_vector,
1200 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1201 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1202 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1203 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1204 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1207 .test_descr = "3DES-128-CBC Decryption",
1208 .test_data = &triple_des128cbc_test_vector,
1209 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1210 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1211 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1212 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1213 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1216 .test_descr = "3DES-192-CBC Encryption",
1217 .test_data = &triple_des192cbc_test_vector,
1218 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1219 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1220 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1221 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1222 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1223 BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1226 .test_descr = "3DES-192-CBC Decryption",
1227 .test_data = &triple_des192cbc_test_vector,
1228 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1229 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1230 BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1231 BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1232 BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1233 BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1236 .test_descr = "3DES-128-CTR Encryption",
1237 .test_data = &triple_des128ctr_test_vector,
1238 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1239 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1240 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1243 .test_descr = "3DES-128-CTR Decryption",
1244 .test_data = &triple_des128ctr_test_vector,
1245 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1246 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1247 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1250 .test_descr = "3DES-192-CTR Encryption",
1251 .test_data = &triple_des192ctr_test_vector,
1252 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1253 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1254 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1257 .test_descr = "3DES-192-CTR Decryption",
1258 .test_data = &triple_des192ctr_test_vector,
1259 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1260 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1261 BLOCKCIPHER_TEST_TARGET_PMD_QAT
1265 #endif /* TEST_CRYPTODEV_DES_TEST_VECTORS_H_ */