New upstream version 18.11-rc1
[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 static const struct blockcipher_test_data
796 triple_des64cbc_test_vector = {
797         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
798         .cipher_key = {
799                 .data = {
800                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2
801                 },
802                 .len = 8
803         },
804         .iv = {
805                 .data = {
806                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
807                 },
808                 .len = 8
809         },
810         .plaintext = {
811                 .data = plaintext_des,
812                 .len = 512
813         },
814         .ciphertext = {
815                 .data = ciphertext512_des,
816                 .len = 512
817         },
818 };
819
820 static const struct blockcipher_test_data
821 des_cbc_test_vector = {
822         .crypto_algo = RTE_CRYPTO_CIPHER_DES_CBC,
823         .cipher_key = {
824                 .data = {
825                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2
826                 },
827                 .len = 8
828         },
829         .iv = {
830                 .data = {
831                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
832                 },
833                 .len = 8
834         },
835         .plaintext = {
836                 .data = plaintext_des,
837                 .len = 512
838         },
839         .ciphertext = {
840                 .data = ciphertext512_des,
841                 .len = 512
842         },
843 };
844
845 static const struct blockcipher_test_case des_cipheronly_test_cases[] = {
846         {
847                 .test_descr = "DES-CBC Encryption",
848                 .test_data = &des_cbc_test_vector,
849                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
850                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
851                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
852                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
853                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM
854         },
855         {
856                 .test_descr = "DES-CBC Decryption",
857                 .test_data = &des_cbc_test_vector,
858                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
859                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
860                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
861                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
862                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM
863         },
864
865 };
866
867 /* DES-DOCSIS-BPI test vectors */
868
869 static const uint8_t plaintext_des_docsis_bpi_cfb[] = {
870         0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E
871 };
872
873 static const uint8_t ciphertext_des_docsis_bpi_cfb[] = {
874         0x17, 0x86, 0xA8, 0x03, 0xA0, 0x85, 0x75
875 };
876
877 static const uint8_t plaintext_des_docsis_bpi_cbc_cfb[] = {
878         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
879         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91,
880         0xD2, 0xD1, 0x9F
881 };
882
883 static const uint8_t ciphertext_des_docsis_bpi_cbc_cfb[] = {
884         0x0D, 0xDA, 0x5A, 0xCB, 0xD0, 0x5E, 0x55, 0x67,
885         0x51, 0x47, 0x46, 0x86, 0x8A, 0x71, 0xE5, 0x77,
886         0xEF, 0xAC, 0x88
887 };
888
889 /* Multiple of DES block size */
890 static const struct blockcipher_test_data des_test_data_1 = {
891         .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
892         .cipher_key = {
893                 .data = {
894                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2
895                 },
896                 .len = 8
897         },
898         .iv = {
899                 .data = {
900                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
901                 },
902                 .len = 8
903         },
904         .plaintext = {
905                 .data = plaintext_des,
906                 .len = 512
907         },
908         .ciphertext = {
909                 .data = ciphertext512_des,
910                 .len = 512
911         },
912 };
913
914 /* Less than DES block size */
915 static const struct blockcipher_test_data des_test_data_2 = {
916         .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
917         .cipher_key = {
918                 .data = {
919
920                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
921                 },
922                 .len = 8
923         },
924         .iv = {
925                 .data = {
926                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
927                 },
928                 .len = 8
929         },
930         .plaintext = {
931                 .data = plaintext_des_docsis_bpi_cfb,
932                 .len = 7
933         },
934         .ciphertext = {
935                 .data = ciphertext_des_docsis_bpi_cfb,
936                 .len = 7
937         }
938 };
939
940 /* Not multiple of DES block size */
941 static const struct blockcipher_test_data des_test_data_3 = {
942         .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
943         .cipher_key = {
944                 .data = {
945                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
946                 },
947                 .len = 8
948         },
949         .iv = {
950                 .data = {
951                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
952                 },
953                 .len = 8
954         },
955         .plaintext = {
956                 .data = plaintext_des_docsis_bpi_cbc_cfb,
957                 .len = 19
958         },
959         .ciphertext = {
960                 .data = ciphertext_des_docsis_bpi_cbc_cfb,
961                 .len = 19
962         }
963 };
964 static const struct blockcipher_test_case des_docsis_test_cases[] = {
965         {
966                 .test_descr = "DES-DOCSIS-BPI Full Block Encryption",
967                 .test_data = &des_test_data_1,
968                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
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 Encryption",
975                 .test_data = &des_test_data_2,
976                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
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 Encryption",
983                 .test_data = &des_test_data_3,
984                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
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 Full Block Decryption",
991                 .test_data = &des_test_data_1,
992                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
993                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
994                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
995                         BLOCKCIPHER_TEST_TARGET_PMD_MB
996         },
997         {
998                 .test_descr = "DES-DOCSIS-BPI Runt Block Decryption",
999                 .test_data = &des_test_data_2,
1000                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1001                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1002                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1003                         BLOCKCIPHER_TEST_TARGET_PMD_MB
1004         },
1005         {
1006                 .test_descr = "DES-DOCSIS-BPI Uneven Decryption",
1007                 .test_data = &des_test_data_3,
1008                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1009                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1010                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1011                         BLOCKCIPHER_TEST_TARGET_PMD_MB
1012         },
1013         {
1014                 .test_descr = "DES-DOCSIS-BPI OOP Full Block Encryption",
1015                 .test_data = &des_test_data_1,
1016                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
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 Encryption",
1023                 .test_data = &des_test_data_2,
1024                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
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 Encryption",
1031                 .test_data = &des_test_data_3,
1032                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1033                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1034                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1035                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1036         },
1037         {
1038                 .test_descr = "DES-DOCSIS-BPI OOP Full Block Decryption",
1039                 .test_data = &des_test_data_1,
1040                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1041                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1042                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1043                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1044         },
1045         {
1046                 .test_descr = "DES-DOCSIS-BPI OOP Runt Block Decryption",
1047                 .test_data = &des_test_data_2,
1048                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1049                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1050                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1051                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1052         },
1053         {
1054                 .test_descr = "DES-DOCSIS-BPI OOP Uneven Decryption",
1055                 .test_data = &des_test_data_3,
1056                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1057                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1058                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1059                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1060         }
1061 };
1062
1063 static const struct blockcipher_test_case triple_des_chain_test_cases[] = {
1064         {
1065                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest",
1066                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1067                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1068                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1069                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1070                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1071                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1072                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1073                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1074         },
1075         {
1076                 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest Verify",
1077                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1078                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1079                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1080                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1081                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1082                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1083                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1084                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1085         },
1086         {
1087                 .test_descr = "3DES-128-CBC SHA1 Encryption Digest",
1088                 .test_data = &triple_des128cbc_sha1_test_vector,
1089                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1090                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1091                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1092         },
1093         {
1094                 .test_descr = "3DES-128-CBC SHA1 Decryption Digest Verify",
1095                 .test_data = &triple_des128cbc_sha1_test_vector,
1096                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1097                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1098                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1099         },
1100         {
1101                 .test_descr = "3DES-192-CBC HMAC-SHA1 Encryption Digest",
1102                 .test_data = &triple_des192cbc_hmac_sha1_test_vector,
1103                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1104                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1105                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1106                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1107                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1108                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1109                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1110                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1111                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1112         },
1113         {
1114                 .test_descr = "3DES-192-CBC HMAC-SHA1 Decryption Digest Verify",
1115                 .test_data = &triple_des192cbc_hmac_sha1_test_vector,
1116                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1117                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1118                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1119                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1120                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1121                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1122                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1123                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1124                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1125         },
1126         {
1127                 .test_descr = "3DES-192-CBC SHA1 Encryption Digest",
1128                 .test_data = &triple_des192cbc_sha1_test_vector,
1129                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1130                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1131                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1132                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1133         },
1134         {
1135                 .test_descr = "3DES-192-CBC SHA1 Decryption Digest Verify",
1136                 .test_data = &triple_des192cbc_sha1_test_vector,
1137                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1138                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1139                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1140                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1141         },
1142         {
1143                 .test_descr = "3DES-128-CTR HMAC-SHA1 Encryption Digest",
1144                 .test_data = &triple_des128ctr_hmac_sha1_test_vector,
1145                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1146                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1147                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1148         },
1149         {
1150                 .test_descr = "3DES-128-CTR HMAC-SHA1 Decryption Digest Verify",
1151                 .test_data = &triple_des128ctr_hmac_sha1_test_vector,
1152                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1153                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1154                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1155         },
1156         {
1157                 .test_descr = "3DES-128-CTR SHA1 Encryption Digest",
1158                 .test_data = &triple_des128ctr_sha1_test_vector,
1159                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1160                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1161         },
1162         {
1163                 .test_descr = "3DES-128-CTR SHA1 Decryption Digest Verify",
1164                 .test_data = &triple_des128ctr_sha1_test_vector,
1165                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1166                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1167         },
1168         {
1169                 .test_descr = "3DES-192-CTR HMAC-SHA1 Encryption Digest",
1170                 .test_data = &triple_des192ctr_hmac_sha1_test_vector,
1171                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1172                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1173                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1174         },
1175         {
1176                 .test_descr = "3DES-192-CTR HMAC-SHA1 Decryption Digest Verify",
1177                 .test_data = &triple_des192ctr_hmac_sha1_test_vector,
1178                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1179                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1180                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1181         },
1182         {
1183                 .test_descr = "3DES-192-CTR SHA1 Encryption Digest",
1184                 .test_data = &triple_des192ctr_sha1_test_vector,
1185                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1186                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1187         },
1188         {
1189                 .test_descr = "3DES-192-CTR SHA1 Decryption Digest Verify",
1190                 .test_data = &triple_des192ctr_sha1_test_vector,
1191                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1192                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1193         },
1194         {
1195                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest OOP",
1196                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1197                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1198                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1199                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1200                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1201                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1202                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1203                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR
1204         },
1205         {
1206                 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest"
1207                                 " Verify OOP",
1208                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1209                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1210                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1211                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1212                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1213                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1214                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1215                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR
1216         },
1217         {
1218                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest"
1219                                 " Sessionless",
1220                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1221                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1222                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1223                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1224                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1225         },
1226         {
1227                 .test_descr =
1228                                 "3DES-128-CBC HMAC-SHA1 Decryption Digest"
1229                                 " Verify Sessionless",
1230                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1231                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1232                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1233                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1234                         BLOCKCIPHER_TEST_TARGET_PMD_CCP
1235         },
1236 };
1237
1238 static const struct blockcipher_test_case triple_des_cipheronly_test_cases[] = {
1239         {
1240                 .test_descr = "3DES-64-CBC Encryption",
1241                 .test_data = &triple_des64cbc_test_vector,
1242                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1243                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1244                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1245                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1246         },
1247         {
1248                 .test_descr = "3DES-64-CBC Decryption",
1249                 .test_data = &triple_des64cbc_test_vector,
1250                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1251                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB |
1252                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1253                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1254         },
1255         {
1256                 .test_descr = "3DES-128-CBC Encryption",
1257                 .test_data = &triple_des128cbc_test_vector,
1258                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1259                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1260                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1261                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1262                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1263                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1264                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1265                         BLOCKCIPHER_TEST_TARGET_PMD_MB
1266         },
1267         {
1268                 .test_descr = "3DES-128-CBC Decryption",
1269                 .test_data = &triple_des128cbc_test_vector,
1270                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1271                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1272                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1273                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1274                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1275                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1276                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1277                         BLOCKCIPHER_TEST_TARGET_PMD_MB
1278         },
1279         {
1280                 .test_descr = "3DES-192-CBC Encryption",
1281                 .test_data = &triple_des192cbc_test_vector,
1282                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1283                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1284                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1285                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1286                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1287                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1288                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1289                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1290                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
1291                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1292         },
1293         {
1294                 .test_descr = "3DES-192-CBC Decryption",
1295                 .test_data = &triple_des192cbc_test_vector,
1296                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1297                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1298                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1299                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1300                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1301                         BLOCKCIPHER_TEST_TARGET_PMD_CAAM_JR |
1302                         BLOCKCIPHER_TEST_TARGET_PMD_MVSAM |
1303                         BLOCKCIPHER_TEST_TARGET_PMD_CCP |
1304                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
1305                         BLOCKCIPHER_TEST_TARGET_PMD_OCTEONTX
1306         },
1307         {
1308                 .test_descr = "3DES-128-CTR Encryption",
1309                 .test_data = &triple_des128ctr_test_vector,
1310                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1311                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1312                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1313         },
1314         {
1315                 .test_descr = "3DES-128-CTR Decryption",
1316                 .test_data = &triple_des128ctr_test_vector,
1317                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1318                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1319                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1320         },
1321         {
1322                 .test_descr = "3DES-192-CTR Encryption",
1323                 .test_data = &triple_des192ctr_test_vector,
1324                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1325                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1326                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1327         },
1328         {
1329                 .test_descr = "3DES-192-CTR Decryption",
1330                 .test_data = &triple_des192ctr_test_vector,
1331                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1332                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1333                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1334         }
1335 };
1336
1337 #endif /* TEST_CRYPTODEV_DES_TEST_VECTORS_H_ */