New upstream version 17.11-rc3
[deb_dpdk.git] / test / test / test_cryptodev_des_test_vectors.h
1 /*
2  *   BSD LICENSE
3  *
4  *   Copyright(c) 2016 Intel Corporation. All rights reserved.
5  *
6  *   Redistribution and use in source and binary forms, with or without
7  *   modification, are permitted provided that the following conditions
8  *   are met:
9  *
10  *       * Redistributions of source code must retain the above copyright
11  *         notice, this list of conditions and the following disclaimer.
12  *       * Redistributions in binary form must reproduce the above copyright
13  *         notice, this list of conditions and the following disclaimer in
14  *         the documentation and/or other materials provided with the
15  *         distribution.
16  *       * Neither the name of Intel Corporation nor the names of its
17  *         contributors may be used to endorse or promote products derived
18  *         from this software without specific prior written permission.
19  *
20  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32
33 #ifndef TEST_CRYPTODEV_DES_TEST_VECTORS_H_
34 #define TEST_CRYPTODEV_DES_TEST_VECTORS_H_
35
36 static const uint8_t plaintext_des[] = {
37         "What a lousy earth! He wondered how many people "
38         "were destitute that same night even in his own "
39         "prosperous country, how many homes were "
40         "shanties, how many husbands were drunk and "
41         "wives socked, and how many children were "
42         "bullied, abused, or abandoned. How many "
43         "families hungered for food they could not "
44         "afford to buy? How many hearts were broken? How "
45         "many suicides would take place that same night, "
46         "how many people would go insane? How many "
47         "cockroaches and landlords would triumph? How "
48         "many winners were losers, successes failures, "
49         "and rich men poor men? How many wise guys were "
50         "stupid? How many happy endings were unhappy "
51         "endings? How many honest men were liars, brave "
52         "men cowards, loyal men traitors, how many "
53         "sainted men were corrupt, how many people in "
54         "positions of trust had sold their souls to "
55         "bodyguards, how many had never had souls? How "
56         "many straight-and-narrow paths were crooked "
57         "paths? How many best families were worst "
58         "families and how many good people were bad "
59         "people? When you added them all up and then "
60         "subtracted, you might be left with only the "
61         "children, and perhaps with Albert Einstein and "
62         "an old violinist or sculptor somewhere."
63 };
64
65 static const uint8_t ciphertext512_des128ctr[] = {
66         0x13, 0x39, 0x3B, 0xBC, 0x1D, 0xE3, 0x23, 0x09,
67         0x9B, 0x08, 0xD1, 0x09, 0x52, 0x93, 0x78, 0x29,
68         0x11, 0x21, 0xBA, 0x01, 0x15, 0xCD, 0xEC, 0xAA,
69         0x79, 0x77, 0x58, 0xAE, 0xAE, 0xBC, 0x97, 0x33,
70         0x94, 0xA9, 0x2D, 0xC0, 0x0A, 0xA9, 0xA4, 0x4B,
71         0x19, 0x07, 0x88, 0x06, 0x7E, 0x81, 0x0F, 0xB5,
72         0x60, 0xCF, 0xA7, 0xC3, 0x2A, 0x43, 0xFF, 0x16,
73         0x3A, 0x5F, 0x11, 0x2D, 0x11, 0x38, 0x37, 0x94,
74         0x2A, 0xC8, 0x3D, 0x20, 0xBB, 0x93, 0x95, 0x54,
75         0x12, 0xFF, 0x0C, 0x47, 0x89, 0x7D, 0x73, 0xD1,
76         0x2E, 0x3A, 0x80, 0x52, 0xA8, 0x92, 0x93, 0x99,
77         0x16, 0xB8, 0x12, 0x1B, 0x8B, 0xA8, 0xC1, 0x81,
78         0x95, 0x18, 0x82, 0xD6, 0x5A, 0xA7, 0xFE, 0xCF,
79         0xC4, 0xAC, 0x85, 0x91, 0x0C, 0x2F, 0x1D, 0x10,
80         0x9A, 0x65, 0x07, 0xB0, 0x2E, 0x5A, 0x2D, 0x48,
81         0x26, 0xF8, 0x17, 0x7A, 0x53, 0xD6, 0xB8, 0xDF,
82         0xB1, 0x10, 0x48, 0x7E, 0x8F, 0xBE, 0x2E, 0xA1,
83         0x0D, 0x9E, 0xA9, 0xF1, 0x3B, 0x3B, 0x33, 0xCD,
84         0xDC, 0x52, 0x7E, 0xC0, 0x0E, 0xA0, 0xD8, 0xA7,
85         0xC6, 0x34, 0x5A, 0xAA, 0x29, 0x8B, 0xA9, 0xAC,
86         0x1F, 0x78, 0xAD, 0xEE, 0x34, 0x59, 0x30, 0xFB,
87         0x2A, 0x20, 0x3D, 0x4D, 0x30, 0xA7, 0x7D, 0xD8,
88         0xA0, 0xC6, 0xA2, 0xD3, 0x9A, 0xFB, 0x50, 0x97,
89         0x4D, 0x25, 0xA2, 0x37, 0x51, 0x54, 0xB7, 0xEB,
90         0xED, 0x77, 0xDB, 0x94, 0x35, 0x8B, 0x70, 0x95,
91         0x4A, 0x00, 0xA7, 0xF1, 0x8A, 0x66, 0x0E, 0xC6,
92         0x05, 0x7B, 0x69, 0x05, 0x42, 0x03, 0x96, 0x2C,
93         0x55, 0x00, 0x1B, 0xC0, 0x19, 0x4D, 0x0D, 0x2E,
94         0xF5, 0x81, 0x11, 0x64, 0xCA, 0xBB, 0xF2, 0x0F,
95         0x9C, 0x60, 0xE2, 0xCC, 0x02, 0x6E, 0x83, 0xD5,
96         0x24, 0xF4, 0x12, 0x0E, 0x6A, 0xEA, 0x4F, 0x6C,
97         0x79, 0x69, 0x65, 0x67, 0xDB, 0xF7, 0xEA, 0x98,
98         0x5D, 0x56, 0x98, 0xB7, 0x88, 0xE7, 0x23, 0xC9,
99         0x17, 0x32, 0x92, 0x33, 0x5A, 0x0C, 0x15, 0x20,
100         0x3B, 0x1C, 0xF9, 0x0F, 0x4D, 0xD1, 0xE8, 0xE6,
101         0x9E, 0x5E, 0x24, 0x1B, 0xA4, 0xB8, 0xB9, 0xE9,
102         0x2F, 0xFC, 0x89, 0xB4, 0xB9, 0xF4, 0xA6, 0xAD,
103         0x55, 0xF4, 0xDF, 0x58, 0x63, 0x25, 0xE3, 0x41,
104         0x70, 0xDF, 0x10, 0xE7, 0x13, 0x87, 0x8D, 0xB3,
105         0x62, 0x4F, 0xF5, 0x86, 0x85, 0x8F, 0x59, 0xF0,
106         0x21, 0x0E, 0x8F, 0x11, 0xAD, 0xBF, 0xDD, 0x61,
107         0x68, 0x3F, 0x54, 0x57, 0x49, 0x38, 0xC8, 0x24,
108         0x8E, 0x0A, 0xAC, 0xCA, 0x2C, 0x36, 0x3E, 0x5F,
109         0x0A, 0xCE, 0xFD, 0x1A, 0x60, 0x63, 0x5A, 0xE6,
110         0x06, 0x64, 0xB5, 0x94, 0x3C, 0xC9, 0xAF, 0x7C,
111         0xCD, 0x49, 0x10, 0xCF, 0xAF, 0x0E, 0x2E, 0x79,
112         0x27, 0xB2, 0x67, 0x02, 0xED, 0xEE, 0x80, 0x77,
113         0x7C, 0x6D, 0x4B, 0xDB, 0xCF, 0x8D, 0x68, 0x00,
114         0x2E, 0xD9, 0xF0, 0x8E, 0x08, 0xBF, 0xA6, 0x9B,
115         0xFE, 0xA4, 0xFB, 0x19, 0x46, 0xAF, 0x1B, 0xA9,
116         0xF8, 0x22, 0x81, 0x21, 0x97, 0xFC, 0xC0, 0x8A,
117         0x26, 0x58, 0x13, 0x29, 0xB6, 0x69, 0x94, 0x4B,
118         0xAB, 0xB3, 0x88, 0x0D, 0xA9, 0x48, 0x0E, 0xE8,
119         0x70, 0xFC, 0xA1, 0x21, 0xC4, 0x2C, 0xE5, 0x99,
120         0xB4, 0xF1, 0x6F, 0xB2, 0x4B, 0x4B, 0xCD, 0x48,
121         0x15, 0x47, 0x2D, 0x72, 0x39, 0x99, 0x9D, 0x24,
122         0x0C, 0x8B, 0xDC, 0xA1, 0xEE, 0xF6, 0xF4, 0x73,
123         0xC3, 0xB8, 0x0C, 0x23, 0x0D, 0xA7, 0xC4, 0x7D,
124         0x27, 0xE2, 0x14, 0x11, 0x53, 0x19, 0xE7, 0xCA,
125         0x94, 0x4E, 0x0D, 0x2C, 0xF7, 0x36, 0x47, 0xDB,
126         0x77, 0x3C, 0x22, 0xAC, 0xBE, 0xE1, 0x06, 0x55,
127         0xE5, 0xDD, 0x8B, 0x65, 0xE8, 0xE9, 0x91, 0x52,
128         0x59, 0x97, 0xFC, 0x8C, 0xEE, 0x96, 0x22, 0x60,
129         0xEE, 0xBF, 0x82, 0xF0, 0xCA, 0x14, 0xF9, 0xD3
130 };
131
132 static const struct blockcipher_test_data
133 triple_des128ctr_test_vector = {
134         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
135         .cipher_key = {
136                 .data = {
137                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
138                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
139                 },
140                 .len = 16
141         },
142         .iv = {
143                 .data = {
144                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
145                 },
146                 .len = 8
147         },
148         .plaintext = {
149                 .data = plaintext_des,
150                 .len = 512
151         },
152         .ciphertext = {
153                 .data = ciphertext512_des128ctr,
154                 .len = 512
155         }
156 };
157
158 static const struct blockcipher_test_data
159 triple_des128ctr_sha1_test_vector = {
160         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
161         .cipher_key = {
162                 .data = {
163                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
164                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
165                 },
166                 .len = 16
167         },
168         .iv = {
169                 .data = {
170                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
171                 },
172                 .len = 8
173         },
174         .plaintext = {
175                 .data = plaintext_des,
176                 .len = 512
177         },
178         .ciphertext = {
179                 .data = ciphertext512_des128ctr,
180                 .len = 512
181         },
182         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
183         .digest = {
184                 .data = {
185                         0xC3, 0x40, 0xD5, 0xD9, 0x8F, 0x8A, 0xC0, 0xF0,
186                         0x46, 0x28, 0x02, 0x01, 0xB5, 0xC1, 0x87, 0x4D,
187                         0xAC, 0xFE, 0x48, 0x76
188                 },
189                 .len = 20
190         }
191 };
192
193 static const struct blockcipher_test_data
194 triple_des128ctr_hmac_sha1_test_vector = {
195         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
196         .cipher_key = {
197                 .data = {
198                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
199                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
200                 },
201                 .len = 16
202         },
203         .iv = {
204                 .data = {
205                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
206                 },
207                 .len = 8
208         },
209         .plaintext = {
210                 .data = plaintext_des,
211                 .len = 512
212         },
213         .ciphertext = {
214                 .data = ciphertext512_des128ctr,
215                 .len = 512
216         },
217         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
218         .auth_key = {
219                 .data = {
220                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
221                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
222                         0xDE, 0xF4, 0xDE, 0xAD
223                 },
224                 .len = 20
225         },
226         .digest = {
227                 .data = {
228                         0xF1, 0xC1, 0xDB, 0x4D, 0xFA, 0x7F, 0x2F, 0xE5,
229                         0xF8, 0x49, 0xEA, 0x1D, 0x7F, 0xCB, 0x42, 0x59,
230                         0xC4, 0x1E, 0xB1, 0x18
231                 },
232                 .len = 20
233         }
234 };
235
236 static const uint8_t ciphertext512_des192ctr[] = {
237         0xFF, 0x32, 0x52, 0x97, 0x10, 0xBF, 0x0B, 0x10,
238         0x68, 0x0F, 0x4F, 0x56, 0x8B, 0x2C, 0x7B, 0x8E,
239         0x39, 0x1E, 0x1A, 0x2F, 0x83, 0xDE, 0x5E, 0x35,
240         0xC8, 0x4B, 0xDF, 0xD5, 0xBC, 0x84, 0x50, 0x1A,
241         0x02, 0xDF, 0xB3, 0x11, 0xE4, 0xDA, 0xB8, 0x0E,
242         0x47, 0xC6, 0x0C, 0x51, 0x09, 0x62, 0x9C, 0x5D,
243         0x71, 0x40, 0x49, 0xD8, 0x55, 0xBD, 0x7D, 0x90,
244         0x71, 0xC5, 0xF7, 0x07, 0x6F, 0x08, 0x71, 0x2A,
245         0xB1, 0x77, 0x9B, 0x0F, 0xA1, 0xB0, 0xD6, 0x10,
246         0xB2, 0xE5, 0x31, 0xEC, 0x21, 0x13, 0x89, 0x2A,
247         0x09, 0x7E, 0x30, 0xDB, 0xA0, 0xF0, 0xDC, 0xE4,
248         0x74, 0x64, 0x39, 0xA3, 0xB0, 0xB1, 0x80, 0x66,
249         0x52, 0xD4, 0x4E, 0xC9, 0x5A, 0x52, 0x6A, 0xC7,
250         0xB5, 0x2B, 0x61, 0xD5, 0x17, 0xD5, 0xF3, 0xCC,
251         0x41, 0x61, 0xD2, 0xA6, 0xF4, 0x51, 0x24, 0x3A,
252         0x63, 0x5D, 0x23, 0xB1, 0xF0, 0x22, 0xE7, 0x45,
253         0xFA, 0x5F, 0x7E, 0x99, 0x00, 0x11, 0x28, 0x35,
254         0xA3, 0xF4, 0x61, 0x94, 0x0E, 0x98, 0xCE, 0x35,
255         0xDD, 0x91, 0x1B, 0x0B, 0x4D, 0xEE, 0xFF, 0xFF,
256         0x0B, 0xD4, 0xDC, 0x56, 0xFC, 0x71, 0xE9, 0xEC,
257         0xE8, 0x36, 0x51, 0xF8, 0x8B, 0x6A, 0xE1, 0x8C,
258         0x2B, 0x25, 0x91, 0x91, 0x9B, 0x92, 0x76, 0xB5,
259         0x3D, 0x26, 0xA8, 0x53, 0xEA, 0x30, 0x5B, 0x4D,
260         0xDA, 0x16, 0xDA, 0x7D, 0x04, 0x88, 0xF5, 0x22,
261         0xA8, 0x0C, 0xB9, 0x41, 0xC7, 0x91, 0x64, 0x86,
262         0x99, 0x7D, 0x18, 0xB9, 0x67, 0xA2, 0x6E, 0x05,
263         0x1A, 0x82, 0x8F, 0xA2, 0xEB, 0x4D, 0x0B, 0x8C,
264         0x88, 0x2D, 0xBA, 0x77, 0x87, 0x32, 0x50, 0x3C,
265         0x4C, 0xD8, 0xD3, 0x50, 0x39, 0xFA, 0xDF, 0x48,
266         0x3E, 0x30, 0xF5, 0x76, 0x06, 0xB0, 0x1A, 0x05,
267         0x60, 0x2C, 0xD3, 0xA0, 0x63, 0x1A, 0x19, 0x2D,
268         0x6B, 0x76, 0xF2, 0x31, 0x4C, 0xA7, 0xE6, 0x5C,
269         0x1B, 0x23, 0x20, 0x41, 0x32, 0xE5, 0x83, 0x47,
270         0x04, 0xB6, 0x3E, 0xE0, 0xFD, 0x49, 0x1E, 0x1B,
271         0x75, 0x10, 0x11, 0x46, 0xE9, 0xF9, 0x96, 0x9A,
272         0xD7, 0x59, 0xFE, 0x38, 0x31, 0xFE, 0x79, 0xC4,
273         0xC8, 0x46, 0x88, 0xDE, 0x2E, 0xAE, 0x20, 0xED,
274         0x77, 0x50, 0x40, 0x38, 0x26, 0xD3, 0x35, 0xF6,
275         0x29, 0x55, 0x6A, 0x6B, 0x38, 0x69, 0xFE, 0x90,
276         0x5B, 0xA7, 0xFA, 0x6B, 0x73, 0x4F, 0xB9, 0x5D,
277         0xDC, 0x6F, 0x98, 0xC3, 0x6A, 0xC4, 0xB5, 0x09,
278         0xC5, 0x84, 0xA5, 0x6A, 0x84, 0xA4, 0xB3, 0x8A,
279         0x5F, 0xCA, 0x92, 0x64, 0x9E, 0xC3, 0x0F, 0x84,
280         0x8B, 0x2D, 0x48, 0xC6, 0x67, 0xAE, 0x07, 0xE0,
281         0x28, 0x38, 0x6D, 0xC4, 0x4D, 0x13, 0x87, 0xE0,
282         0xB2, 0x2F, 0xAA, 0xC0, 0xCF, 0x68, 0xD7, 0x9C,
283         0xB8, 0x07, 0xE4, 0x51, 0xD7, 0x75, 0x86, 0xFA,
284         0x0C, 0x50, 0x74, 0x68, 0x00, 0x64, 0x2A, 0x27,
285         0x59, 0xE9, 0x80, 0xEB, 0xC2, 0xA3, 0xFA, 0x58,
286         0xCC, 0x03, 0xE7, 0x7B, 0x66, 0x53, 0xFF, 0x90,
287         0xA0, 0x85, 0xE2, 0xF8, 0x82, 0xFE, 0xC6, 0x2B,
288         0xFF, 0x5E, 0x70, 0x85, 0x34, 0xB7, 0x22, 0x38,
289         0xDB, 0xBC, 0x15, 0x30, 0x59, 0xC1, 0x48, 0x42,
290         0xE5, 0x38, 0x8D, 0x37, 0x59, 0xDB, 0xA3, 0x20,
291         0x17, 0x36, 0x1D, 0x4B, 0xBF, 0x4E, 0xA4, 0x35,
292         0xCC, 0xFE, 0xF5, 0x7A, 0x73, 0xB4, 0x6D, 0x20,
293         0x1D, 0xC0, 0xE5, 0x21, 0x5C, 0xD2, 0x8A, 0x65,
294         0x08, 0xB6, 0x63, 0xAC, 0x9A, 0x1E, 0x3F, 0x3C,
295         0xAB, 0xB6, 0x6D, 0x34, 0xB2, 0x3A, 0x08, 0xDA,
296         0x29, 0x63, 0xD1, 0xA4, 0x83, 0x52, 0xB0, 0x63,
297         0x1B, 0x89, 0x35, 0x57, 0x59, 0x2C, 0x0F, 0x72,
298         0x72, 0xFD, 0xA0, 0xAC, 0xDB, 0xB4, 0xA3, 0xA1,
299         0x18, 0x10, 0x12, 0x97, 0x99, 0x63, 0x38, 0x98,
300         0x96, 0xB5, 0x16, 0x07, 0x4E, 0xE9, 0x2C, 0x97
301 };
302
303 static const struct blockcipher_test_data
304 triple_des192ctr_test_vector = {
305         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
306         .cipher_key = {
307                 .data = {
308                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
309                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
310                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
311                 },
312                 .len = 24
313         },
314         .iv = {
315                 .data = {
316                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
317                 },
318                 .len = 8
319         },
320         .plaintext = {
321                 .data = plaintext_des,
322                 .len = 512
323         },
324         .ciphertext = {
325                 .data = ciphertext512_des192ctr,
326                 .len = 512
327         }
328 };
329
330 static const struct blockcipher_test_data
331 triple_des192ctr_sha1_test_vector = {
332         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
333         .cipher_key = {
334                 .data = {
335                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
336                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
337                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
338                 },
339                 .len = 24
340         },
341         .iv = {
342                 .data = {
343                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
344                 },
345                 .len = 8
346         },
347         .plaintext = {
348                 .data = plaintext_des,
349                 .len = 512
350         },
351         .ciphertext = {
352                 .data = ciphertext512_des192ctr,
353                 .len = 512
354         },
355         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
356         .digest = {
357                 .data = {
358                         0xEA, 0x62, 0xB9, 0xB2, 0x78, 0x6C, 0x8E, 0xDB,
359                         0xA3, 0xB6, 0xFF, 0x23, 0x3A, 0x47, 0xD8, 0xC8,
360                         0xED, 0x5E, 0x20, 0x1D
361                 },
362                 .len = 20
363         }
364 };
365
366 static const struct blockcipher_test_data
367 triple_des192ctr_hmac_sha1_test_vector = {
368         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CTR,
369         .cipher_key = {
370                 .data = {
371                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
372                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
373                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
374                 },
375                 .len = 24
376         },
377         .iv = {
378                 .data = {
379                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
380                 },
381                 .len = 8
382         },
383         .plaintext = {
384                 .data = plaintext_des,
385                 .len = 512
386         },
387         .ciphertext = {
388                 .data = ciphertext512_des192ctr,
389                 .len = 512
390         },
391         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
392         .auth_key = {
393                 .data = {
394                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
395                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
396                         0xDE, 0xF4, 0xDE, 0xAD
397                 },
398                 .len = 20
399         },
400         .digest = {
401                 .data = {
402                         0x32, 0xD5, 0x19, 0x8F, 0x79, 0x3A, 0xAA, 0x7B,
403                         0x70, 0x67, 0x4E, 0x63, 0x88, 0xA3, 0x9A, 0x82,
404                         0x07, 0x33, 0x12, 0x94
405                 },
406                 .len = 20
407         }
408 };
409
410 static const uint8_t ciphertext512_des128cbc[] = {
411         0x28, 0x2a, 0xff, 0x15, 0x5c, 0xdf, 0xd9, 0x6b,
412         0x54, 0xbc, 0x7b, 0xfb, 0xc5, 0x64, 0x4d, 0xdd,
413         0x3e, 0xf2, 0x9e, 0xb7, 0x53, 0x65, 0x37, 0x05,
414         0xe0, 0xdf, 0xae, 0xf7, 0xc9, 0x27, 0xe4, 0xec,
415         0x11, 0x27, 0xc2, 0x9e, 0x02, 0x4e, 0x03, 0x3b,
416         0x33, 0xf2, 0x66, 0x08, 0x24, 0x5f, 0xab, 0xc2,
417         0x7e, 0x21, 0x19, 0x5d, 0x51, 0xc3, 0xe2, 0x97,
418         0x6f, 0x2e, 0xb4, 0xaa, 0x34, 0x70, 0x88, 0x78,
419         0x4e, 0xe7, 0x3d, 0xe1, 0x9f, 0x87, 0x1c, 0x8b,
420         0xac, 0x8d, 0xa1, 0x1a, 0xcd, 0xb0, 0xf8, 0xb6,
421         0x24, 0x36, 0xe3, 0x8c, 0x07, 0xe7, 0xe4, 0x92,
422         0x13, 0x86, 0x6f, 0x13, 0xec, 0x04, 0x5c, 0xe9,
423         0xb9, 0xca, 0x45, 0x8a, 0x2c, 0x46, 0xda, 0x54,
424         0x1d, 0xb5, 0x81, 0xb1, 0xcd, 0xf3, 0x7d, 0x11,
425         0x6b, 0xb3, 0x0a, 0x45, 0xe5, 0x6e, 0x51, 0x3e,
426         0x2c, 0xac, 0x7c, 0xbc, 0xa7, 0x7e, 0x22, 0x4d,
427         0xe6, 0x02, 0xe3, 0x3f, 0x77, 0xd7, 0x73, 0x72,
428         0x0e, 0xfb, 0x42, 0x85, 0x80, 0xdf, 0xa8, 0x91,
429         0x60, 0x40, 0x48, 0xcd, 0x1b, 0xd9, 0xbf, 0x2f,
430         0xf2, 0xdf, 0xd0, 0xbd, 0x3f, 0x82, 0xce, 0x15,
431         0x9d, 0x6e, 0xc6, 0x59, 0x6f, 0x27, 0x0d, 0xf9,
432         0x26, 0xe2, 0x11, 0x29, 0x50, 0xc3, 0x0a, 0xb7,
433         0xde, 0x9d, 0xe9, 0x55, 0xa1, 0xe9, 0x01, 0x33,
434         0x56, 0x51, 0xa7, 0x3a, 0x9e, 0x63, 0xc5, 0x08,
435         0x01, 0x3b, 0x03, 0x4b, 0xc6, 0xc4, 0xa1, 0xc0,
436         0xc0, 0xd0, 0x0e, 0x48, 0xe5, 0x4c, 0x55, 0x6b,
437         0x4a, 0xc1, 0x0a, 0x24, 0x4b, 0xd0, 0x02, 0xf4,
438         0x31, 0x63, 0x11, 0xbd, 0xa6, 0x1f, 0xf4, 0xae,
439         0x23, 0x5a, 0x40, 0x7e, 0x0e, 0x4e, 0x63, 0x8b,
440         0x66, 0x3d, 0x55, 0x46, 0x6e, 0x5c, 0x76, 0xa7,
441         0x68, 0x31, 0xce, 0x5d, 0xca, 0xe2, 0xb4, 0xb0,
442         0xc1, 0x1f, 0x66, 0x18, 0x75, 0x64, 0x73, 0xa9,
443         0x9e, 0xd5, 0x0e, 0x0e, 0xf7, 0x77, 0x61, 0xf8,
444         0x89, 0xc6, 0xcf, 0x0c, 0x41, 0xd3, 0x8f, 0xfd,
445         0x22, 0x52, 0x4f, 0x94, 0x5c, 0x19, 0x11, 0x3a,
446         0xb5, 0x63, 0xe8, 0x81, 0x33, 0x13, 0x54, 0x3c,
447         0x93, 0x36, 0xb5, 0x5b, 0x51, 0xaf, 0x51, 0xa2,
448         0x08, 0xae, 0x83, 0x15, 0x77, 0x07, 0x28, 0x0d,
449         0x98, 0xe1, 0x2f, 0x69, 0x0e, 0xfb, 0x9a, 0x2e,
450         0x27, 0x27, 0xb0, 0xd5, 0xce, 0xf8, 0x16, 0x55,
451         0xfd, 0xaa, 0xd7, 0x1a, 0x1b, 0x2e, 0x4c, 0x86,
452         0x7a, 0x6a, 0x90, 0xf7, 0x0a, 0x07, 0xd3, 0x81,
453         0x4b, 0x75, 0x6a, 0x79, 0xdb, 0x63, 0x45, 0x0f,
454         0x31, 0x7e, 0xd0, 0x2a, 0x14, 0xff, 0xee, 0xcc,
455         0x97, 0x8a, 0x7d, 0x74, 0xbd, 0x9d, 0xaf, 0x00,
456         0xdb, 0x7e, 0xf3, 0xe6, 0x22, 0x76, 0x77, 0x58,
457         0xba, 0x1c, 0x06, 0x96, 0xfb, 0x6f, 0x41, 0x71,
458         0x66, 0x98, 0xae, 0x31, 0x7d, 0x29, 0x18, 0x71,
459         0x0e, 0xe4, 0x98, 0x7e, 0x59, 0x5a, 0xc9, 0x78,
460         0x9c, 0xfb, 0x6c, 0x81, 0x44, 0xb4, 0x0f, 0x5e,
461         0x18, 0x53, 0xb8, 0x6f, 0xbc, 0x3b, 0x15, 0xf0,
462         0x10, 0xdd, 0x0d, 0x4b, 0x0a, 0x36, 0x0e, 0xb4,
463         0x76, 0x0f, 0x16, 0xa7, 0x5c, 0x9d, 0xcf, 0xb0,
464         0x6d, 0x38, 0x02, 0x07, 0x05, 0xe9, 0xe9, 0x46,
465         0x08, 0xb8, 0x52, 0xd6, 0xd9, 0x4c, 0x81, 0x63,
466         0x1d, 0xe2, 0x5b, 0xd0, 0xf6, 0x5e, 0x1e, 0x81,
467         0x48, 0x08, 0x66, 0x3a, 0x85, 0xed, 0x65, 0xfe,
468         0xe8, 0x05, 0x7a, 0xe1, 0xe6, 0x12, 0xf2, 0x52,
469         0x83, 0xdd, 0x82, 0xbe, 0xf6, 0x34, 0x8a, 0x6f,
470         0xc5, 0x83, 0xcd, 0x3f, 0xbe, 0x58, 0x8b, 0x11,
471         0x78, 0xdc, 0x0c, 0x83, 0x72, 0x5d, 0x05, 0x2a,
472         0x01, 0x29, 0xee, 0x48, 0x9a, 0x67, 0x00, 0x6e,
473         0x14, 0x60, 0x2d, 0x00, 0x52, 0x87, 0x98, 0x5e,
474         0x43, 0xfe, 0xf1, 0x10, 0x14, 0xf1, 0x91, 0xcc
475 };
476
477
478 static const uint8_t ciphertext512_des[] = {
479                 0x1A, 0x46, 0xDB, 0x69, 0x43, 0x45, 0x0F, 0x2F,
480                 0xDC, 0x27, 0xF9, 0x41, 0x0E, 0x01, 0x58, 0xB4,
481                 0x5E, 0xCC, 0x13, 0xF5, 0x92, 0x99, 0xE4, 0xF2,
482                 0xD5, 0xF9, 0x16, 0xFE, 0x0F, 0x7E, 0xDE, 0xA0,
483                 0xF5, 0x32, 0xFE, 0x20, 0x67, 0x93, 0xCA, 0xE1,
484                 0x8E, 0x4D, 0x72, 0xA3, 0x50, 0x72, 0x14, 0x15,
485                 0x70, 0xE7, 0xAB, 0x49, 0x25, 0x88, 0x0E, 0x01,
486                 0x5C, 0x52, 0x87, 0xE2, 0x27, 0xDC, 0xD4, 0xD1,
487                 0x14, 0x1B, 0x08, 0x9F, 0x42, 0x48, 0x93, 0xA9,
488                 0xD1, 0x2F, 0x2C, 0x69, 0x48, 0x16, 0x59, 0xCF,
489                 0x8B, 0xF6, 0x8B, 0xD9, 0x34, 0xD4, 0xD7, 0xE4,
490                 0xAE, 0x35, 0xFD, 0xDA, 0x73, 0xBE, 0xDC, 0x6B,
491                 0x10, 0x90, 0x75, 0x2D, 0x4C, 0x14, 0x37, 0x8B,
492                 0xC8, 0xC7, 0xDF, 0x6E, 0x6F, 0xED, 0xF3, 0xE3,
493                 0xD3, 0x21, 0x29, 0xCD, 0x06, 0xB6, 0x5B, 0xF4,
494                 0xB9, 0xBD, 0x77, 0xA2, 0xF7, 0x91, 0xF4, 0x95,
495                 0xF0, 0xE0, 0x62, 0x03, 0x46, 0xAE, 0x1B, 0xEB,
496                 0xE2, 0xA9, 0xCF, 0xB9, 0x0E, 0x3B, 0xB9, 0xDA,
497                 0x5C, 0x1B, 0x45, 0x3F, 0xDD, 0xCC, 0xCC, 0xB3,
498                 0xF0, 0xDD, 0x36, 0x26, 0x11, 0x57, 0x97, 0xA7,
499                 0xF6, 0xF4, 0xE1, 0x4F, 0xBB, 0x31, 0xBB, 0x07,
500                 0x4B, 0xA3, 0xB4, 0x83, 0xF9, 0x23, 0xA1, 0xCD,
501                 0x8C, 0x1C, 0x76, 0x92, 0x45, 0xA5, 0xEB, 0x7D,
502                 0xEB, 0x22, 0x88, 0xB1, 0x9F, 0xFB, 0xE9, 0x06,
503                 0x8F, 0x67, 0xA6, 0x8A, 0xB7, 0x0B, 0xCD, 0x8F,
504                 0x34, 0x40, 0x4F, 0x4F, 0xAD, 0xA0, 0xF2, 0xDC,
505                 0x2C, 0x53, 0xE1, 0xCA, 0xA5, 0x7A, 0x03, 0xEF,
506                 0x08, 0x00, 0xCC, 0x52, 0xA6, 0xAB, 0x56, 0xD2,
507                 0xF1, 0xCD, 0xC7, 0xED, 0xBE, 0xCB, 0x78, 0x37,
508                 0x4B, 0x61, 0xA9, 0xD2, 0x3C, 0x8D, 0xCC, 0xFD,
509                 0x21, 0xFD, 0x0F, 0xE4, 0x4E, 0x3D, 0x6F, 0x8F,
510                 0x2A, 0xEC, 0x69, 0xFA, 0x20, 0x50, 0x99, 0x35,
511                 0xA1, 0xCC, 0x3B, 0xFD, 0xD6, 0xAC, 0xE9, 0xBE,
512                 0x14, 0xF1, 0xBC, 0x71, 0x70, 0xFE, 0x13, 0xD1,
513                 0x48, 0xCC, 0xBE, 0x7B, 0xCB, 0xC0, 0x20, 0xD9,
514                 0x28, 0xD7, 0xD4, 0x0F, 0x66, 0x7A, 0x60, 0xAB,
515                 0x20, 0xA9, 0x23, 0x41, 0x03, 0x34, 0xC3, 0x63,
516                 0x91, 0x69, 0x02, 0xD5, 0xBC, 0x41, 0xDA, 0xA8,
517                 0xD1, 0x48, 0xC9, 0x8E, 0x4F, 0xCD, 0x0F, 0x21,
518                 0x5B, 0x4D, 0x5F, 0xF5, 0x1B, 0x2A, 0x44, 0x10,
519                 0x16, 0xA7, 0xFD, 0xC0, 0x55, 0xE1, 0x98, 0xBB,
520                 0x76, 0xB5, 0xAB, 0x39, 0x6B, 0x9B, 0xAB, 0x85,
521                 0x45, 0x4B, 0x9C, 0x64, 0x7D, 0x78, 0x3F, 0x61,
522                 0x22, 0xB1, 0xDE, 0x0E, 0x39, 0x2B, 0x21, 0x26,
523                 0xE2, 0x1D, 0x5A, 0xD7, 0xAC, 0xDF, 0xD4, 0x12,
524                 0x69, 0xD1, 0xE8, 0x9B, 0x1A, 0xCE, 0x6C, 0xA0,
525                 0x3B, 0x23, 0xDC, 0x03, 0x2B, 0x97, 0x16, 0xD0,
526                 0xD0, 0x46, 0x98, 0x36, 0x53, 0xCE, 0x88, 0x6E,
527                 0xCA, 0x2C, 0x15, 0x0E, 0x49, 0xED, 0xBE, 0xE5,
528                 0xBF, 0xBD, 0x7B, 0xC2, 0x21, 0xE1, 0x09, 0xFF,
529                 0x71, 0xA8, 0xBE, 0x8F, 0xB4, 0x1D, 0x25, 0x5C,
530                 0x37, 0xCA, 0x26, 0xD2, 0x1E, 0x63, 0xE1, 0x7F,
531                 0x0D, 0x89, 0x10, 0xEF, 0x78, 0xB0, 0xDB, 0xD0,
532                 0x72, 0x44, 0x60, 0x1D, 0xCF, 0x7C, 0x25, 0x1A,
533                 0xBB, 0xC3, 0x92, 0x53, 0x8E, 0x9F, 0x27, 0xC7,
534                 0xE8, 0x08, 0xFC, 0x5D, 0x50, 0x3E, 0xFC, 0xB0,
535                 0x00, 0xE2, 0x48, 0xB2, 0x4B, 0xF8, 0xF2, 0xE3,
536                 0xD3, 0x8B, 0x71, 0x64, 0xB8, 0xF0, 0x6E, 0x4A,
537                 0x23, 0xA0, 0xA4, 0x88, 0xA4, 0x36, 0x45, 0x6B,
538                 0x5A, 0xE7, 0x57, 0x65, 0xEA, 0xC9, 0xF8, 0xE8,
539                 0x7A, 0x80, 0x22, 0x67, 0x1A, 0x05, 0xF2, 0x78,
540                 0x81, 0x17, 0xCD, 0x87, 0xFB, 0x0D, 0x25, 0x84,
541                 0x49, 0x06, 0x25, 0xCE, 0xFC, 0x38, 0x06, 0x18,
542                 0x2E, 0x1D, 0xE1, 0x33, 0x97, 0xB6, 0x7E, 0xAB,
543 };
544
545
546 static const struct blockcipher_test_data
547 triple_des128cbc_test_vector = {
548         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
549         .cipher_key = {
550                 .data = {
551                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
552                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
553                 },
554                 .len = 16
555         },
556         .iv = {
557                 .data = {
558                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
559                 },
560                 .len = 8
561         },
562         .plaintext = {
563                 .data = plaintext_des,
564                 .len = 512
565         },
566         .ciphertext = {
567                 .data = ciphertext512_des128cbc,
568                 .len = 512
569         }
570 };
571
572 static const struct blockcipher_test_data
573 triple_des128cbc_sha1_test_vector = {
574         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
575         .cipher_key = {
576                 .data = {
577                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
578                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
579                 },
580                 .len = 16
581         },
582         .iv = {
583                 .data = {
584                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
585                 },
586                 .len = 8
587         },
588         .plaintext = {
589                 .data = plaintext_des,
590                 .len = 512
591         },
592         .ciphertext = {
593                 .data = ciphertext512_des128cbc,
594                 .len = 512
595         },
596         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
597         .digest = {
598                 .data = {
599                         0x94, 0x45, 0x7B, 0xDF, 0xFE, 0x80, 0xB9, 0xA6,
600                         0xA0, 0x7A, 0xE8, 0x93, 0x40, 0x7B, 0x85, 0x02,
601                         0x1C, 0xD7, 0xE8, 0x87
602                 },
603                 .len = 20
604         }
605 };
606
607 static const struct blockcipher_test_data
608 triple_des128cbc_hmac_sha1_test_vector = {
609         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
610         .cipher_key = {
611                 .data = {
612                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
613                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
614                 },
615                 .len = 16
616         },
617         .iv = {
618                 .data = {
619                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
620                 },
621                 .len = 8
622         },
623         .plaintext = {
624                 .data = plaintext_des,
625                 .len = 512
626         },
627         .ciphertext = {
628                 .data = ciphertext512_des128cbc,
629                 .len = 512
630         },
631         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
632         .auth_key = {
633                 .data = {
634                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
635                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
636                         0xDE, 0xF4, 0xDE, 0xAD
637                 },
638                 .len = 20
639         },
640         .digest = {
641                 .data = {
642                         0x7E, 0xBA, 0xFF, 0x86, 0x8D, 0x65, 0xCD, 0x08,
643                         0x76, 0x34, 0x94, 0xE9, 0x9A, 0xCD, 0xB2, 0xBB,
644                         0xBF, 0x65, 0xF5, 0x42
645                 },
646                 .len = 20
647         }
648 };
649
650 static const uint8_t ciphertext512_des192cbc[] = {
651         0xd0, 0xc9, 0xdc, 0x51, 0x29, 0x97, 0x03, 0x64,
652         0xcd, 0x22, 0xba, 0x3d, 0x2b, 0xbc, 0x21, 0x37,
653         0x7b, 0x1e, 0x29, 0x23, 0xeb, 0x51, 0x6e, 0xac,
654         0xbe, 0x5b, 0xd3, 0x67, 0xe0, 0x3f, 0xc3, 0xb5,
655         0xe3, 0x04, 0x17, 0x42, 0x2b, 0xaa, 0xdd, 0xd6,
656         0x0e, 0x69, 0xd0, 0x8f, 0x8a, 0xfc, 0xb4, 0x55,
657         0x67, 0x06, 0x51, 0xbb, 0x00, 0x57, 0xee, 0x95,
658         0x28, 0x79, 0x3f, 0xd9, 0x97, 0x2b, 0xb0, 0x02,
659         0x35, 0x08, 0xce, 0x7a, 0xc3, 0x43, 0x2c, 0x87,
660         0xaa, 0x97, 0x6a, 0xad, 0xf0, 0x26, 0xea, 0x1d,
661         0xbb, 0x08, 0xe9, 0x52, 0x11, 0xd3, 0xaf, 0x36,
662         0x17, 0x14, 0x21, 0xb2, 0xbc, 0x42, 0x51, 0x33,
663         0x27, 0x8c, 0xd8, 0x45, 0xb9, 0x76, 0xa0, 0x11,
664         0x24, 0x34, 0xde, 0x4d, 0x13, 0x67, 0x1b, 0xc3,
665         0x31, 0x12, 0x66, 0x56, 0x59, 0xd2, 0xb1, 0x8f,
666         0xec, 0x1e, 0xc0, 0x10, 0x7a, 0x86, 0xb1, 0x60,
667         0xc3, 0x01, 0xd6, 0xa8, 0x55, 0xad, 0x58, 0x63,
668         0xca, 0x68, 0xa9, 0x33, 0xe3, 0x93, 0x90, 0x7d,
669         0x8f, 0xca, 0xf8, 0x1c, 0xc2, 0x9e, 0xfb, 0xde,
670         0x9c, 0xc7, 0xf2, 0x6c, 0xff, 0xcc, 0x39, 0x17,
671         0x49, 0x33, 0x0d, 0x7c, 0xed, 0x07, 0x99, 0x91,
672         0x91, 0x6c, 0x5f, 0x3f, 0x02, 0x09, 0xdc, 0x70,
673         0xf9, 0x3b, 0x8d, 0xaa, 0xf4, 0xbc, 0x0e, 0xec,
674         0xf2, 0x26, 0xfb, 0xb2, 0x1c, 0x31, 0xae, 0xc6,
675         0x72, 0xe8, 0x0b, 0x75, 0x05, 0x57, 0x58, 0x98,
676         0x92, 0x37, 0x27, 0x8e, 0x3b, 0x0c, 0x25, 0xfb,
677         0xcf, 0x82, 0x02, 0xd5, 0x0b, 0x1f, 0x89, 0x49,
678         0xcd, 0x0f, 0xa1, 0xa7, 0x08, 0x63, 0x56, 0xa7,
679         0x1f, 0x80, 0x3a, 0xef, 0x24, 0x89, 0x57, 0x1a,
680         0x02, 0xdc, 0x2e, 0x51, 0xbd, 0x4a, 0x10, 0x23,
681         0xfc, 0x02, 0x1a, 0x3f, 0x34, 0xbf, 0x1c, 0x98,
682         0x1a, 0x40, 0x0a, 0x96, 0x8e, 0x41, 0xd5, 0x09,
683         0x55, 0x37, 0xe9, 0x25, 0x11, 0x83, 0xf8, 0xf3,
684         0xd4, 0xb0, 0xdb, 0x16, 0xd7, 0x51, 0x7e, 0x94,
685         0xf7, 0xb4, 0x26, 0xe0, 0xf4, 0x80, 0x01, 0x65,
686         0x51, 0xeb, 0xbc, 0xb0, 0x65, 0x8f, 0xdd, 0xb5,
687         0xf7, 0x00, 0xec, 0x40, 0xab, 0x7d, 0x96, 0xcc,
688         0x8d, 0xec, 0x89, 0x80, 0x31, 0x39, 0xa2, 0x5c,
689         0xb0, 0x55, 0x4c, 0xee, 0xdd, 0x15, 0x2b, 0xa9,
690         0x86, 0x4e, 0x23, 0x14, 0x36, 0xc5, 0x57, 0xf5,
691         0xe3, 0xe8, 0x89, 0xc9, 0xb7, 0xf8, 0xeb, 0x08,
692         0xe5, 0x93, 0x12, 0x5c, 0x0f, 0x79, 0xa1, 0x86,
693         0xe4, 0xc2, 0xeb, 0xa6, 0xa0, 0x50, 0x6a, 0xec,
694         0xd3, 0xce, 0x50, 0x78, 0x4e, 0x4f, 0x93, 0xd8,
695         0xdc, 0xb4, 0xec, 0x02, 0xe9, 0xbd, 0x17, 0x99,
696         0x1e, 0x16, 0x4e, 0xd7, 0xb0, 0x07, 0x02, 0x55,
697         0x63, 0x24, 0x4f, 0x7b, 0x8f, 0xc5, 0x7a, 0x12,
698         0x29, 0xff, 0x5d, 0xc1, 0xe7, 0xae, 0x48, 0xc8,
699         0x57, 0x53, 0xe7, 0xcd, 0x10, 0x6c, 0x19, 0xfc,
700         0xcc, 0xb9, 0xb1, 0xbe, 0x48, 0x9f, 0x2d, 0x3f,
701         0x39, 0x2e, 0xdd, 0x71, 0xde, 0x1b, 0x54, 0xee,
702         0x7d, 0x94, 0x8f, 0x27, 0x23, 0xe9, 0x74, 0x92,
703         0x14, 0x93, 0x84, 0x65, 0xc9, 0x22, 0x7c, 0xa8,
704         0x1b, 0x72, 0x73, 0xb1, 0x23, 0xa0, 0x6b, 0xcc,
705         0xb5, 0x22, 0x06, 0x15, 0xe5, 0x96, 0x03, 0x4a,
706         0x52, 0x8d, 0x1d, 0xbf, 0x3e, 0x82, 0x45, 0x9c,
707         0x75, 0x9e, 0xa9, 0x3a, 0x97, 0xb6, 0x5d, 0xc4,
708         0x75, 0x67, 0xa1, 0xf3, 0x0f, 0x7a, 0xfd, 0x71,
709         0x58, 0x04, 0xf9, 0xa7, 0xc2, 0x56, 0x74, 0x04,
710         0x74, 0x68, 0x6d, 0x8a, 0xf6, 0x6c, 0x5d, 0xd8,
711         0xb5, 0xed, 0x70, 0x23, 0x32, 0x4d, 0x75, 0x92,
712         0x88, 0x7b, 0x39, 0x37, 0x02, 0x4b, 0xb2, 0x1c,
713         0x1f, 0x7e, 0x5b, 0x1b, 0x10, 0xfc, 0x17, 0x21,
714         0x66, 0x62, 0x63, 0xc2, 0xcd, 0x16, 0x96, 0x3e
715 };
716
717 static const struct blockcipher_test_data
718 triple_des192cbc_test_vector = {
719         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
720         .cipher_key = {
721                 .data = {
722                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
723                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
724                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
725                 },
726                 .len = 24
727         },
728         .iv = {
729                 .data = {
730                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
731                 },
732                 .len = 8
733         },
734         .plaintext = {
735                 .data = plaintext_des,
736                 .len = 512
737         },
738         .ciphertext = {
739                 .data = ciphertext512_des192cbc,
740                 .len = 512
741         }
742 };
743
744 static const struct blockcipher_test_data
745 triple_des192cbc_sha1_test_vector = {
746         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
747         .cipher_key = {
748                 .data = {
749                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
750                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
751                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
752                 },
753                 .len = 24
754         },
755         .iv = {
756                 .data = {
757                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
758                 },
759                 .len = 8
760         },
761         .plaintext = {
762                 .data = plaintext_des,
763                 .len = 512
764         },
765         .ciphertext = {
766                 .data = ciphertext512_des192cbc,
767                 .len = 512
768         },
769         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
770         .digest = {
771                 .data = {
772                         0x53, 0x27, 0xC0, 0xE6, 0xD6, 0x1B, 0xD6, 0x45,
773                         0x94, 0x2D, 0xCE, 0x8B, 0x29, 0xA3, 0x52, 0x14,
774                         0xC1, 0x6B, 0x87, 0x99
775                 },
776                 .len = 20
777         }
778 };
779
780 static const struct blockcipher_test_data
781 triple_des192cbc_hmac_sha1_test_vector = {
782         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
783         .cipher_key = {
784                 .data = {
785                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
786                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
787                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
788                 },
789                 .len = 24
790         },
791         .iv = {
792                 .data = {
793                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
794                 },
795                 .len = 8
796         },
797         .plaintext = {
798                 .data = plaintext_des,
799                 .len = 512
800         },
801         .ciphertext = {
802                 .data = ciphertext512_des192cbc,
803                 .len = 512
804         },
805         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
806         .auth_key = {
807                 .data = {
808                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
809                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
810                         0xDE, 0xF4, 0xDE, 0xAD
811                 },
812                 .len = 20
813         },
814         .digest = {
815                 .data = {
816                         0xBA, 0xAC, 0x74, 0x19, 0x43, 0xB0, 0x72, 0xB8,
817                         0x08, 0xF5, 0x24, 0xC4, 0x09, 0xBD, 0x48, 0xC1,
818                         0x3C, 0x50, 0x1C, 0xDD
819                 },
820                 .len = 20
821         }
822 };
823
824 static const struct blockcipher_test_data
825 des_cbc_test_vector = {
826         .crypto_algo = RTE_CRYPTO_CIPHER_DES_CBC,
827         .cipher_key = {
828                 .data = {
829                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2
830                 },
831                 .len = 8
832         },
833         .iv = {
834                 .data = {
835                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
836                 },
837                 .len = 8
838         },
839         .plaintext = {
840                 .data = plaintext_des,
841                 .len = 512
842         },
843         .ciphertext = {
844                 .data = ciphertext512_des,
845                 .len = 512
846         },
847 };
848
849 static const struct blockcipher_test_case des_cipheronly_test_cases[] = {
850         {
851                 .test_descr = "DES-CBC Encryption",
852                 .test_data = &des_cbc_test_vector,
853                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
854                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
855                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
856                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
857                         BLOCKCIPHER_TEST_TARGET_PMD_MRVL
858         },
859         {
860                 .test_descr = "DES-CBC Decryption",
861                 .test_data = &des_cbc_test_vector,
862                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
863                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT |
864                         BLOCKCIPHER_TEST_TARGET_PMD_MB |
865                         BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
866                         BLOCKCIPHER_TEST_TARGET_PMD_MRVL
867         },
868
869 };
870
871 /* DES-DOCSIS-BPI test vectors */
872
873 static const uint8_t plaintext_des_docsis_bpi_cfb[] = {
874         0x00, 0x01, 0x02, 0x88, 0xEE, 0x59, 0x7E
875 };
876
877 static const uint8_t ciphertext_des_docsis_bpi_cfb[] = {
878         0x17, 0x86, 0xA8, 0x03, 0xA0, 0x85, 0x75
879 };
880
881 static const uint8_t plaintext_des_docsis_bpi_cbc_cfb[] = {
882         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
883         0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91,
884         0xD2, 0xD1, 0x9F
885 };
886
887 static const uint8_t ciphertext_des_docsis_bpi_cbc_cfb[] = {
888         0x0D, 0xDA, 0x5A, 0xCB, 0xD0, 0x5E, 0x55, 0x67,
889         0x51, 0x47, 0x46, 0x86, 0x8A, 0x71, 0xE5, 0x77,
890         0xEF, 0xAC, 0x88
891 };
892
893 /* Multiple of DES block size */
894 static const struct blockcipher_test_data des_test_data_1 = {
895         .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
896         .cipher_key = {
897                 .data = {
898                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2
899                 },
900                 .len = 8
901         },
902         .iv = {
903                 .data = {
904                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
905                 },
906                 .len = 8
907         },
908         .plaintext = {
909                 .data = plaintext_des,
910                 .len = 512
911         },
912         .ciphertext = {
913                 .data = ciphertext512_des,
914                 .len = 512
915         },
916 };
917
918 /* Less than DES block size */
919 static const struct blockcipher_test_data des_test_data_2 = {
920         .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
921         .cipher_key = {
922                 .data = {
923
924                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
925                 },
926                 .len = 8
927         },
928         .iv = {
929                 .data = {
930                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
931                 },
932                 .len = 8
933         },
934         .plaintext = {
935                 .data = plaintext_des_docsis_bpi_cfb,
936                 .len = 7
937         },
938         .ciphertext = {
939                 .data = ciphertext_des_docsis_bpi_cfb,
940                 .len = 7
941         }
942 };
943
944 /* Not multiple of DES block size */
945 static const struct blockcipher_test_data des_test_data_3 = {
946         .crypto_algo = RTE_CRYPTO_CIPHER_DES_DOCSISBPI,
947         .cipher_key = {
948                 .data = {
949                         0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB
950                 },
951                 .len = 8
952         },
953         .iv = {
954                 .data = {
955                         0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A
956                 },
957                 .len = 8
958         },
959         .plaintext = {
960                 .data = plaintext_des_docsis_bpi_cbc_cfb,
961                 .len = 19
962         },
963         .ciphertext = {
964                 .data = ciphertext_des_docsis_bpi_cbc_cfb,
965                 .len = 19
966         }
967 };
968 static const struct blockcipher_test_case des_docsis_test_cases[] = {
969         {
970                 .test_descr = "DES-DOCSIS-BPI Full Block Encryption",
971                 .test_data = &des_test_data_1,
972                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
973                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
974                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
975                         BLOCKCIPHER_TEST_TARGET_PMD_MB
976         },
977         {
978                 .test_descr = "DES-DOCSIS-BPI Runt Block Encryption",
979                 .test_data = &des_test_data_2,
980                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
981                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
982                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
983                         BLOCKCIPHER_TEST_TARGET_PMD_MB
984         },
985         {
986                 .test_descr = "DES-DOCSIS-BPI Uneven Encryption",
987                 .test_data = &des_test_data_3,
988                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
989                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
990                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
991                         BLOCKCIPHER_TEST_TARGET_PMD_MB
992         },
993         {
994                 .test_descr = "DES-DOCSIS-BPI Full Block Decryption",
995                 .test_data = &des_test_data_1,
996                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
997                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
998                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
999                         BLOCKCIPHER_TEST_TARGET_PMD_MB
1000         },
1001         {
1002                 .test_descr = "DES-DOCSIS-BPI Runt Block Decryption",
1003                 .test_data = &des_test_data_2,
1004                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1005                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1006                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1007                         BLOCKCIPHER_TEST_TARGET_PMD_MB
1008         },
1009         {
1010                 .test_descr = "DES-DOCSIS-BPI Uneven Decryption",
1011                 .test_data = &des_test_data_3,
1012                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1013                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1014                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1015                         BLOCKCIPHER_TEST_TARGET_PMD_MB
1016         },
1017         {
1018                 .test_descr = "DES-DOCSIS-BPI OOP Full Block Encryption",
1019                 .test_data = &des_test_data_1,
1020                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1021                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1022                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1023                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1024         },
1025         {
1026                 .test_descr = "DES-DOCSIS-BPI OOP Runt Block Encryption",
1027                 .test_data = &des_test_data_2,
1028                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1029                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1030                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1031                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1032         },
1033         {
1034                 .test_descr = "DES-DOCSIS-BPI OOP Uneven Encryption",
1035                 .test_data = &des_test_data_3,
1036                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1037                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1038                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1039                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1040         },
1041         {
1042                 .test_descr = "DES-DOCSIS-BPI OOP Full Block Decryption",
1043                 .test_data = &des_test_data_1,
1044                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1045                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1046                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1047                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1048         },
1049         {
1050                 .test_descr = "DES-DOCSIS-BPI OOP Runt Block Decryption",
1051                 .test_data = &des_test_data_2,
1052                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1053                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1054                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1055                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1056         },
1057         {
1058                 .test_descr = "DES-DOCSIS-BPI OOP Uneven Decryption",
1059                 .test_data = &des_test_data_3,
1060                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1061                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1062                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1063                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1064         }
1065 };
1066
1067 static const struct blockcipher_test_case triple_des_chain_test_cases[] = {
1068         {
1069                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest",
1070                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1071                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1072                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1073                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1074                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1075                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1076         },
1077         {
1078                 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest Verify",
1079                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1080                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1081                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1082                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1083                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1084                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
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         },
1092         {
1093                 .test_descr = "3DES-128-CBC SHA1 Decryption Digest Verify",
1094                 .test_data = &triple_des128cbc_sha1_test_vector,
1095                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1096                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1097         },
1098         {
1099                 .test_descr = "3DES-192-CBC HMAC-SHA1 Encryption Digest",
1100                 .test_data = &triple_des192cbc_hmac_sha1_test_vector,
1101                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1102                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1103                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1104                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1105                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1106                         BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1107         },
1108         {
1109                 .test_descr = "3DES-192-CBC HMAC-SHA1 Decryption Digest Verify",
1110                 .test_data = &triple_des192cbc_hmac_sha1_test_vector,
1111                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1112                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1113                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1114                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1115                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1116                         BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1117         },
1118         {
1119                 .test_descr = "3DES-192-CBC SHA1 Encryption Digest",
1120                 .test_data = &triple_des192cbc_sha1_test_vector,
1121                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1122                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1123                         BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1124         },
1125         {
1126                 .test_descr = "3DES-192-CBC SHA1 Decryption Digest Verify",
1127                 .test_data = &triple_des192cbc_sha1_test_vector,
1128                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1129                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1130                         BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1131         },
1132         {
1133                 .test_descr = "3DES-128-CTR HMAC-SHA1 Encryption Digest",
1134                 .test_data = &triple_des128ctr_hmac_sha1_test_vector,
1135                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1136                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1137                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1138         },
1139         {
1140                 .test_descr = "3DES-128-CTR HMAC-SHA1 Decryption Digest Verify",
1141                 .test_data = &triple_des128ctr_hmac_sha1_test_vector,
1142                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1143                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1144                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1145         },
1146         {
1147                 .test_descr = "3DES-128-CTR SHA1 Encryption Digest",
1148                 .test_data = &triple_des128ctr_sha1_test_vector,
1149                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1150                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1151         },
1152         {
1153                 .test_descr = "3DES-128-CTR SHA1 Decryption Digest Verify",
1154                 .test_data = &triple_des128ctr_sha1_test_vector,
1155                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1156                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1157         },
1158         {
1159                 .test_descr = "3DES-192-CTR HMAC-SHA1 Encryption Digest",
1160                 .test_data = &triple_des192ctr_hmac_sha1_test_vector,
1161                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1162                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1163                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1164         },
1165         {
1166                 .test_descr = "3DES-192-CTR HMAC-SHA1 Decryption Digest Verify",
1167                 .test_data = &triple_des192ctr_hmac_sha1_test_vector,
1168                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1169                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1170                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1171         },
1172         {
1173                 .test_descr = "3DES-192-CTR SHA1 Encryption Digest",
1174                 .test_data = &triple_des192ctr_sha1_test_vector,
1175                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1176                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1177         },
1178         {
1179                 .test_descr = "3DES-192-CTR SHA1 Decryption Digest Verify",
1180                 .test_data = &triple_des192ctr_sha1_test_vector,
1181                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1182                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1183         },
1184         {
1185                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest OOP",
1186                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1187                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1188                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1189                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1190                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1191                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1192                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1193         },
1194         {
1195                 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest"
1196                                 " Verify OOP",
1197                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1198                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1199                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
1200                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1201                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1202                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1203                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1204         },
1205         {
1206                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest"
1207                                 " Sessionless",
1208                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1209                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
1210                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1211                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1212         },
1213         {
1214                 .test_descr =
1215                                 "3DES-128-CBC HMAC-SHA1 Decryption Digest"
1216                                 " Verify Sessionless",
1217                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
1218                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
1219                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
1220                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
1221         },
1222 };
1223
1224 static const struct blockcipher_test_case triple_des_cipheronly_test_cases[] = {
1225         {
1226                 .test_descr = "3DES-128-CBC Encryption",
1227                 .test_data = &triple_des128cbc_test_vector,
1228                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
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         },
1234         {
1235                 .test_descr = "3DES-128-CBC Decryption",
1236                 .test_data = &triple_des128cbc_test_vector,
1237                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1238                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1239                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1240                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1241                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC
1242         },
1243         {
1244                 .test_descr = "3DES-192-CBC Encryption",
1245                 .test_data = &triple_des192cbc_test_vector,
1246                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1247                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1248                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1249                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1250                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1251                         BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1252         },
1253         {
1254                 .test_descr = "3DES-192-CBC Decryption",
1255                 .test_data = &triple_des192cbc_test_vector,
1256                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1257                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1258                         BLOCKCIPHER_TEST_TARGET_PMD_QAT |
1259                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA2_SEC |
1260                         BLOCKCIPHER_TEST_TARGET_PMD_DPAA_SEC |
1261                         BLOCKCIPHER_TEST_TARGET_PMD_MRVL
1262         },
1263         {
1264                 .test_descr = "3DES-128-CTR Encryption",
1265                 .test_data = &triple_des128ctr_test_vector,
1266                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1267                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1268                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1269         },
1270         {
1271                 .test_descr = "3DES-128-CTR Decryption",
1272                 .test_data = &triple_des128ctr_test_vector,
1273                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1274                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1275                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1276         },
1277         {
1278                 .test_descr = "3DES-192-CTR Encryption",
1279                 .test_data = &triple_des192ctr_test_vector,
1280                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
1281                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1282                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1283         },
1284         {
1285                 .test_descr = "3DES-192-CTR Decryption",
1286                 .test_data = &triple_des192ctr_test_vector,
1287                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
1288                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
1289                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
1290         }
1291 };
1292
1293 #endif /* TEST_CRYPTODEV_DES_TEST_VECTORS_H_ */