New upstream version 18.02
[deb_dpdk.git] / test / test / test_cryptodev_des_test_vectors.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016 Intel Corporation
3  */
4
5 #ifndef TEST_CRYPTODEV_DES_TEST_VECTORS_H_
6 #define TEST_CRYPTODEV_DES_TEST_VECTORS_H_
7
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."
35 };
36
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
102 };
103
104 static const struct blockcipher_test_data
105 triple_des128ctr_test_vector = {
106         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
107         .cipher_key = {
108                 .data = {
109                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
110                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
111                 },
112                 .len = 16
113         },
114         .iv = {
115                 .data = {
116                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
117                 },
118                 .len = 8
119         },
120         .plaintext = {
121                 .data = plaintext_des,
122                 .len = 512
123         },
124         .ciphertext = {
125                 .data = ciphertext512_des128ctr,
126                 .len = 512
127         }
128 };
129
130 static const struct blockcipher_test_data
131 triple_des128ctr_sha1_test_vector = {
132         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
133         .cipher_key = {
134                 .data = {
135                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
136                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
137                 },
138                 .len = 16
139         },
140         .iv = {
141                 .data = {
142                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
143                 },
144                 .len = 8
145         },
146         .plaintext = {
147                 .data = plaintext_des,
148                 .len = 512
149         },
150         .ciphertext = {
151                 .data = ciphertext512_des128ctr,
152                 .len = 512
153         },
154         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
155         .digest = {
156                 .data = {
157                         0xC3, 0x40, 0xD5, 0xD9, 0x8F, 0x8A, 0xC0, 0xF0,
158                         0x46, 0x28, 0x02, 0x01, 0xB5, 0xC1, 0x87, 0x4D,
159                         0xAC, 0xFE, 0x48, 0x76
160                 },
161                 .len = 20
162         }
163 };
164
165 static const struct blockcipher_test_data
166 triple_des128ctr_hmac_sha1_test_vector = {
167         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
168         .cipher_key = {
169                 .data = {
170                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
171                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
172                 },
173                 .len = 16
174         },
175         .iv = {
176                 .data = {
177                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
178                 },
179                 .len = 8
180         },
181         .plaintext = {
182                 .data = plaintext_des,
183                 .len = 512
184         },
185         .ciphertext = {
186                 .data = ciphertext512_des128ctr,
187                 .len = 512
188         },
189         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
190         .auth_key = {
191                 .data = {
192                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
193                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
194                         0xDE, 0xF4, 0xDE, 0xAD
195                 },
196                 .len = 20
197         },
198         .digest = {
199                 .data = {
200                         0xF1, 0xC1, 0xDB, 0x4D, 0xFA, 0x7F, 0x2F, 0xE5,
201                         0xF8, 0x49, 0xEA, 0x1D, 0x7F, 0xCB, 0x42, 0x59,
202                         0xC4, 0x1E, 0xB1, 0x18
203                 },
204                 .len = 20
205         }
206 };
207
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
273 };
274
275 static const struct blockcipher_test_data
276 triple_des192ctr_test_vector = {
277         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
278         .cipher_key = {
279                 .data = {
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
283                 },
284                 .len = 24
285         },
286         .iv = {
287                 .data = {
288                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
289                 },
290                 .len = 8
291         },
292         .plaintext = {
293                 .data = plaintext_des,
294                 .len = 512
295         },
296         .ciphertext = {
297                 .data = ciphertext512_des192ctr,
298                 .len = 512
299         }
300 };
301
302 static const struct blockcipher_test_data
303 triple_des192ctr_sha1_test_vector = {
304         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
305         .cipher_key = {
306                 .data = {
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
310                 },
311                 .len = 24
312         },
313         .iv = {
314                 .data = {
315                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
316                 },
317                 .len = 8
318         },
319         .plaintext = {
320                 .data = plaintext_des,
321                 .len = 512
322         },
323         .ciphertext = {
324                 .data = ciphertext512_des192ctr,
325                 .len = 512
326         },
327         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
328         .digest = {
329                 .data = {
330                         0xEA, 0x62, 0xB9, 0xB2, 0x78, 0x6C, 0x8E, 0xDB,
331                         0xA3, 0xB6, 0xFF, 0x23, 0x3A, 0x47, 0xD8, 0xC8,
332                         0xED, 0x5E, 0x20, 0x1D
333                 },
334                 .len = 20
335         }
336 };
337
338 static const struct blockcipher_test_data
339 triple_des192ctr_hmac_sha1_test_vector = {
340         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
341         .cipher_key = {
342                 .data = {
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
346                 },
347                 .len = 24
348         },
349         .iv = {
350                 .data = {
351                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
352                 },
353                 .len = 8
354         },
355         .plaintext = {
356                 .data = plaintext_des,
357                 .len = 512
358         },
359         .ciphertext = {
360                 .data = ciphertext512_des192ctr,
361                 .len = 512
362         },
363         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
364         .auth_key = {
365                 .data = {
366                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
367                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
368                         0xDE, 0xF4, 0xDE, 0xAD
369                 },
370                 .len = 20
371         },
372         .digest = {
373                 .data = {
374                         0x32, 0xD5, 0x19, 0x8F, 0x79, 0x3A, 0xAA, 0x7B,
375                         0x70, 0x67, 0x4E, 0x63, 0x88, 0xA3, 0x9A, 0x82,
376                         0x07, 0x33, 0x12, 0x94
377                 },
378                 .len = 20
379         }
380 };
381
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
447 };
448
449
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,
515 };
516
517
518 static const struct blockcipher_test_data
519 triple_des128cbc_test_vector = {
520         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
521         .cipher_key = {
522                 .data = {
523                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
524                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
525                 },
526                 .len = 16
527         },
528         .iv = {
529                 .data = {
530                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
531                 },
532                 .len = 8
533         },
534         .plaintext = {
535                 .data = plaintext_des,
536                 .len = 512
537         },
538         .ciphertext = {
539                 .data = ciphertext512_des128cbc,
540                 .len = 512
541         }
542 };
543
544 static const struct blockcipher_test_data
545 triple_des128cbc_sha1_test_vector = {
546         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
547         .cipher_key = {
548                 .data = {
549                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
550                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
551                 },
552                 .len = 16
553         },
554         .iv = {
555                 .data = {
556                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
557                 },
558                 .len = 8
559         },
560         .plaintext = {
561                 .data = plaintext_des,
562                 .len = 512
563         },
564         .ciphertext = {
565                 .data = ciphertext512_des128cbc,
566                 .len = 512
567         },
568         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
569         .digest = {
570                 .data = {
571                         0x94, 0x45, 0x7B, 0xDF, 0xFE, 0x80, 0xB9, 0xA6,
572                         0xA0, 0x7A, 0xE8, 0x93, 0x40, 0x7B, 0x85, 0x02,
573                         0x1C, 0xD7, 0xE8, 0x87
574                 },
575                 .len = 20
576         }
577 };
578
579 static const struct blockcipher_test_data
580 triple_des128cbc_hmac_sha1_test_vector = {
581         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
582         .cipher_key = {
583                 .data = {
584                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
585                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
586                 },
587                 .len = 16
588         },
589         .iv = {
590                 .data = {
591                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
592                 },
593                 .len = 8
594         },
595         .plaintext = {
596                 .data = plaintext_des,
597                 .len = 512
598         },
599         .ciphertext = {
600                 .data = ciphertext512_des128cbc,
601                 .len = 512
602         },
603         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
604         .auth_key = {
605                 .data = {
606                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
607                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
608                         0xDE, 0xF4, 0xDE, 0xAD
609                 },
610                 .len = 20
611         },
612         .digest = {
613                 .data = {
614                         0x7E, 0xBA, 0xFF, 0x86, 0x8D, 0x65, 0xCD, 0x08,
615                         0x76, 0x34, 0x94, 0xE9, 0x9A, 0xCD, 0xB2, 0xBB,
616                         0xBF, 0x65, 0xF5, 0x42
617                 },
618                 .len = 20
619         }
620 };
621
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
687 };
688
689 static const struct blockcipher_test_data
690 triple_des192cbc_test_vector = {
691         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
692         .cipher_key = {
693                 .data = {
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
697                 },
698                 .len = 24
699         },
700         .iv = {
701                 .data = {
702                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
703                 },
704                 .len = 8
705         },
706         .plaintext = {
707                 .data = plaintext_des,
708                 .len = 512
709         },
710         .ciphertext = {
711                 .data = ciphertext512_des192cbc,
712                 .len = 512
713         }
714 };
715
716 static const struct blockcipher_test_data
717 triple_des192cbc_sha1_test_vector = {
718         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
719         .cipher_key = {
720                 .data = {
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
724                 },
725                 .len = 24
726         },
727         .iv = {
728                 .data = {
729                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
730                 },
731                 .len = 8
732         },
733         .plaintext = {
734                 .data = plaintext_des,
735                 .len = 512
736         },
737         .ciphertext = {
738                 .data = ciphertext512_des192cbc,
739                 .len = 512
740         },
741         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
742         .digest = {
743                 .data = {
744                         0x53, 0x27, 0xC0, 0xE6, 0xD6, 0x1B, 0xD6, 0x45,
745                         0x94, 0x2D, 0xCE, 0x8B, 0x29, 0xA3, 0x52, 0x14,
746                         0xC1, 0x6B, 0x87, 0x99
747                 },
748                 .len = 20
749         }
750 };
751
752 static const struct blockcipher_test_data
753 triple_des192cbc_hmac_sha1_test_vector = {
754         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
755         .cipher_key = {
756                 .data = {
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
760                 },
761                 .len = 24
762         },
763         .iv = {
764                 .data = {
765                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
766                 },
767                 .len = 8
768         },
769         .plaintext = {
770                 .data = plaintext_des,
771                 .len = 512
772         },
773         .ciphertext = {
774                 .data = ciphertext512_des192cbc,
775                 .len = 512
776         },
777         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
778         .auth_key = {
779                 .data = {
780                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
781                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
782                         0xDE, 0xF4, 0xDE, 0xAD
783                 },
784                 .len = 20
785         },
786         .digest = {
787                 .data = {
788                         0xBA, 0xAC, 0x74, 0x19, 0x43, 0xB0, 0x72, 0xB8,
789                         0x08, 0xF5, 0x24, 0xC4, 0x09, 0xBD, 0x48, 0xC1,
790                         0x3C, 0x50, 0x1C, 0xDD
791                 },
792                 .len = 20
793         }
794 };
795
796 static const struct blockcipher_test_data
797 des_cbc_test_vector = {
798         .crypto_algo = RTE_CRYPTO_CIPHER_DES_CBC,
799         .cipher_key = {
800                 .data = {
801                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2
802                 },
803                 .len = 8
804         },
805         .iv = {
806                 .data = {
807                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
808                 },
809                 .len = 8
810         },
811         .plaintext = {
812                 .data = plaintext_des,
813                 .len = 512
814         },
815         .ciphertext = {
816                 .data = ciphertext512_des,
817                 .len = 512
818         },
819 };
820
821 static const struct blockcipher_test_case des_cipheronly_test_cases[] = {
822         {
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
830         },
831         {
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
839         },
840
841 };
842
843 /* DES-DOCSIS-BPI test vectors */
844
845 static const uint8_t plaintext_des_docsis_bpi_cfb[] = {
846         0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E
847 };
848
849 static const uint8_t ciphertext_des_docsis_bpi_cfb[] = {
850         0x17, 0x86, 0xA8, 0x03, 0xA0, 0x85, 0x75
851 };
852
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,
856         0xD2, 0xD1, 0x9F
857 };
858
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,
862         0xEF, 0xAC, 0x88
863 };
864
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,
868         .cipher_key = {
869                 .data = {
870                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2
871                 },
872                 .len = 8
873         },
874         .iv = {
875                 .data = {
876                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
877                 },
878                 .len = 8
879         },
880         .plaintext = {
881                 .data = plaintext_des,
882                 .len = 512
883         },
884         .ciphertext = {
885                 .data = ciphertext512_des,
886                 .len = 512
887         },
888 };
889
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,
893         .cipher_key = {
894                 .data = {
895
896                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
897                 },
898                 .len = 8
899         },
900         .iv = {
901                 .data = {
902                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
903                 },
904                 .len = 8
905         },
906         .plaintext = {
907                 .data = plaintext_des_docsis_bpi_cfb,
908                 .len = 7
909         },
910         .ciphertext = {
911                 .data = ciphertext_des_docsis_bpi_cfb,
912                 .len = 7
913         }
914 };
915
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,
919         .cipher_key = {
920                 .data = {
921                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
922                 },
923                 .len = 8
924         },
925         .iv = {
926                 .data = {
927                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
928                 },
929                 .len = 8
930         },
931         .plaintext = {
932                 .data = plaintext_des_docsis_bpi_cbc_cfb,
933                 .len = 19
934         },
935         .ciphertext = {
936                 .data = ciphertext_des_docsis_bpi_cbc_cfb,
937                 .len = 19
938         }
939 };
940 static const struct blockcipher_test_case des_docsis_test_cases[] = {
941         {
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
948         },
949         {
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
956         },
957         {
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
964         },
965         {
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
972         },
973         {
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
980         },
981         {
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
988         },
989         {
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
996         },
997         {
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
1004         },
1005         {
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
1012         },
1013         {
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
1020         },
1021         {
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
1028         },
1029         {
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
1036         }
1037 };
1038
1039 static const struct blockcipher_test_case triple_des_chain_test_cases[] = {
1040         {
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
1048         },
1049         {
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
1057         },
1058         {
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
1063         },
1064         {
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
1069         },
1070         {
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
1079         },
1080         {
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
1089         },
1090         {
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
1096         },
1097         {
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
1103         },
1104         {
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
1110         },
1111         {
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
1117         },
1118         {
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
1123         },
1124         {
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
1129         },
1130         {
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
1136         },
1137         {
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
1143         },
1144         {
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
1149         },
1150         {
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
1155         },
1156         {
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
1165         },
1166         {
1167                 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest"
1168                                 " Verify OOP",
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
1176         },
1177         {
1178                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest"
1179                                 " Sessionless",
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
1184         },
1185         {
1186                 .test_descr =
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
1193         },
1194 };
1195
1196 static const struct blockcipher_test_case triple_des_cipheronly_test_cases[] = {
1197         {
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
1205         },
1206         {
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
1214         },
1215         {
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
1224         },
1225         {
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
1234         },
1235         {
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
1241         },
1242         {
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
1248         },
1249         {
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
1255         },
1256         {
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
1262         }
1263 };
1264
1265 #endif /* TEST_CRYPTODEV_DES_TEST_VECTORS_H_ */