Imported Upstream version 16.11
[deb_dpdk.git] / app / 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 static const struct blockcipher_test_data
478 triple_des128cbc_test_vector = {
479         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
480         .cipher_key = {
481                 .data = {
482                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
483                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
484                 },
485                 .len = 16
486         },
487         .iv = {
488                 .data = {
489                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
490                 },
491                 .len = 8
492         },
493         .plaintext = {
494                 .data = plaintext_des,
495                 .len = 512
496         },
497         .ciphertext = {
498                 .data = ciphertext512_des128cbc,
499                 .len = 512
500         }
501 };
502
503 static const struct blockcipher_test_data
504 triple_des128cbc_sha1_test_vector = {
505         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
506         .cipher_key = {
507                 .data = {
508                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
509                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
510                 },
511                 .len = 16
512         },
513         .iv = {
514                 .data = {
515                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
516                 },
517                 .len = 8
518         },
519         .plaintext = {
520                 .data = plaintext_des,
521                 .len = 512
522         },
523         .ciphertext = {
524                 .data = ciphertext512_des128cbc,
525                 .len = 512
526         },
527         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
528         .digest = {
529                 .data = {
530                         0x94, 0x45, 0x7B, 0xDF, 0xFE, 0x80, 0xB9, 0xA6,
531                         0xA0, 0x7A, 0xE8, 0x93, 0x40, 0x7B, 0x85, 0x02,
532                         0x1C, 0xD7, 0xE8, 0x87
533                 },
534                 .len = 20
535         }
536 };
537
538 static const struct blockcipher_test_data
539 triple_des128cbc_hmac_sha1_test_vector = {
540         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
541         .cipher_key = {
542                 .data = {
543                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
544                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A
545                 },
546                 .len = 16
547         },
548         .iv = {
549                 .data = {
550                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
551                 },
552                 .len = 8
553         },
554         .plaintext = {
555                 .data = plaintext_des,
556                 .len = 512
557         },
558         .ciphertext = {
559                 .data = ciphertext512_des128cbc,
560                 .len = 512
561         },
562         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
563         .auth_key = {
564                 .data = {
565                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
566                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
567                         0xDE, 0xF4, 0xDE, 0xAD
568                 },
569                 .len = 20
570         },
571         .digest = {
572                 .data = {
573                         0x7E, 0xBA, 0xFF, 0x86, 0x8D, 0x65, 0xCD, 0x08,
574                         0x76, 0x34, 0x94, 0xE9, 0x9A, 0xCD, 0xB2, 0xBB,
575                         0xBF, 0x65, 0xF5, 0x42
576                 },
577                 .len = 20
578         }
579 };
580
581 static const uint8_t ciphertext512_des192cbc[] = {
582         0xd0, 0xc9, 0xdc, 0x51, 0x29, 0x97, 0x03, 0x64,
583         0xcd, 0x22, 0xba, 0x3d, 0x2b, 0xbc, 0x21, 0x37,
584         0x7b, 0x1e, 0x29, 0x23, 0xeb, 0x51, 0x6e, 0xac,
585         0xbe, 0x5b, 0xd3, 0x67, 0xe0, 0x3f, 0xc3, 0xb5,
586         0xe3, 0x04, 0x17, 0x42, 0x2b, 0xaa, 0xdd, 0xd6,
587         0x0e, 0x69, 0xd0, 0x8f, 0x8a, 0xfc, 0xb4, 0x55,
588         0x67, 0x06, 0x51, 0xbb, 0x00, 0x57, 0xee, 0x95,
589         0x28, 0x79, 0x3f, 0xd9, 0x97, 0x2b, 0xb0, 0x02,
590         0x35, 0x08, 0xce, 0x7a, 0xc3, 0x43, 0x2c, 0x87,
591         0xaa, 0x97, 0x6a, 0xad, 0xf0, 0x26, 0xea, 0x1d,
592         0xbb, 0x08, 0xe9, 0x52, 0x11, 0xd3, 0xaf, 0x36,
593         0x17, 0x14, 0x21, 0xb2, 0xbc, 0x42, 0x51, 0x33,
594         0x27, 0x8c, 0xd8, 0x45, 0xb9, 0x76, 0xa0, 0x11,
595         0x24, 0x34, 0xde, 0x4d, 0x13, 0x67, 0x1b, 0xc3,
596         0x31, 0x12, 0x66, 0x56, 0x59, 0xd2, 0xb1, 0x8f,
597         0xec, 0x1e, 0xc0, 0x10, 0x7a, 0x86, 0xb1, 0x60,
598         0xc3, 0x01, 0xd6, 0xa8, 0x55, 0xad, 0x58, 0x63,
599         0xca, 0x68, 0xa9, 0x33, 0xe3, 0x93, 0x90, 0x7d,
600         0x8f, 0xca, 0xf8, 0x1c, 0xc2, 0x9e, 0xfb, 0xde,
601         0x9c, 0xc7, 0xf2, 0x6c, 0xff, 0xcc, 0x39, 0x17,
602         0x49, 0x33, 0x0d, 0x7c, 0xed, 0x07, 0x99, 0x91,
603         0x91, 0x6c, 0x5f, 0x3f, 0x02, 0x09, 0xdc, 0x70,
604         0xf9, 0x3b, 0x8d, 0xaa, 0xf4, 0xbc, 0x0e, 0xec,
605         0xf2, 0x26, 0xfb, 0xb2, 0x1c, 0x31, 0xae, 0xc6,
606         0x72, 0xe8, 0x0b, 0x75, 0x05, 0x57, 0x58, 0x98,
607         0x92, 0x37, 0x27, 0x8e, 0x3b, 0x0c, 0x25, 0xfb,
608         0xcf, 0x82, 0x02, 0xd5, 0x0b, 0x1f, 0x89, 0x49,
609         0xcd, 0x0f, 0xa1, 0xa7, 0x08, 0x63, 0x56, 0xa7,
610         0x1f, 0x80, 0x3a, 0xef, 0x24, 0x89, 0x57, 0x1a,
611         0x02, 0xdc, 0x2e, 0x51, 0xbd, 0x4a, 0x10, 0x23,
612         0xfc, 0x02, 0x1a, 0x3f, 0x34, 0xbf, 0x1c, 0x98,
613         0x1a, 0x40, 0x0a, 0x96, 0x8e, 0x41, 0xd5, 0x09,
614         0x55, 0x37, 0xe9, 0x25, 0x11, 0x83, 0xf8, 0xf3,
615         0xd4, 0xb0, 0xdb, 0x16, 0xd7, 0x51, 0x7e, 0x94,
616         0xf7, 0xb4, 0x26, 0xe0, 0xf4, 0x80, 0x01, 0x65,
617         0x51, 0xeb, 0xbc, 0xb0, 0x65, 0x8f, 0xdd, 0xb5,
618         0xf7, 0x00, 0xec, 0x40, 0xab, 0x7d, 0x96, 0xcc,
619         0x8d, 0xec, 0x89, 0x80, 0x31, 0x39, 0xa2, 0x5c,
620         0xb0, 0x55, 0x4c, 0xee, 0xdd, 0x15, 0x2b, 0xa9,
621         0x86, 0x4e, 0x23, 0x14, 0x36, 0xc5, 0x57, 0xf5,
622         0xe3, 0xe8, 0x89, 0xc9, 0xb7, 0xf8, 0xeb, 0x08,
623         0xe5, 0x93, 0x12, 0x5c, 0x0f, 0x79, 0xa1, 0x86,
624         0xe4, 0xc2, 0xeb, 0xa6, 0xa0, 0x50, 0x6a, 0xec,
625         0xd3, 0xce, 0x50, 0x78, 0x4e, 0x4f, 0x93, 0xd8,
626         0xdc, 0xb4, 0xec, 0x02, 0xe9, 0xbd, 0x17, 0x99,
627         0x1e, 0x16, 0x4e, 0xd7, 0xb0, 0x07, 0x02, 0x55,
628         0x63, 0x24, 0x4f, 0x7b, 0x8f, 0xc5, 0x7a, 0x12,
629         0x29, 0xff, 0x5d, 0xc1, 0xe7, 0xae, 0x48, 0xc8,
630         0x57, 0x53, 0xe7, 0xcd, 0x10, 0x6c, 0x19, 0xfc,
631         0xcc, 0xb9, 0xb1, 0xbe, 0x48, 0x9f, 0x2d, 0x3f,
632         0x39, 0x2e, 0xdd, 0x71, 0xde, 0x1b, 0x54, 0xee,
633         0x7d, 0x94, 0x8f, 0x27, 0x23, 0xe9, 0x74, 0x92,
634         0x14, 0x93, 0x84, 0x65, 0xc9, 0x22, 0x7c, 0xa8,
635         0x1b, 0x72, 0x73, 0xb1, 0x23, 0xa0, 0x6b, 0xcc,
636         0xb5, 0x22, 0x06, 0x15, 0xe5, 0x96, 0x03, 0x4a,
637         0x52, 0x8d, 0x1d, 0xbf, 0x3e, 0x82, 0x45, 0x9c,
638         0x75, 0x9e, 0xa9, 0x3a, 0x97, 0xb6, 0x5d, 0xc4,
639         0x75, 0x67, 0xa1, 0xf3, 0x0f, 0x7a, 0xfd, 0x71,
640         0x58, 0x04, 0xf9, 0xa7, 0xc2, 0x56, 0x74, 0x04,
641         0x74, 0x68, 0x6d, 0x8a, 0xf6, 0x6c, 0x5d, 0xd8,
642         0xb5, 0xed, 0x70, 0x23, 0x32, 0x4d, 0x75, 0x92,
643         0x88, 0x7b, 0x39, 0x37, 0x02, 0x4b, 0xb2, 0x1c,
644         0x1f, 0x7e, 0x5b, 0x1b, 0x10, 0xfc, 0x17, 0x21,
645         0x66, 0x62, 0x63, 0xc2, 0xcd, 0x16, 0x96, 0x3e
646 };
647
648 static const struct blockcipher_test_data
649 triple_des192cbc_test_vector = {
650         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
651         .cipher_key = {
652                 .data = {
653                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
654                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
655                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
656                 },
657                 .len = 24
658         },
659         .iv = {
660                 .data = {
661                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
662                 },
663                 .len = 8
664         },
665         .plaintext = {
666                 .data = plaintext_des,
667                 .len = 512
668         },
669         .ciphertext = {
670                 .data = ciphertext512_des192cbc,
671                 .len = 512
672         }
673 };
674
675 static const struct blockcipher_test_data
676 triple_des192cbc_sha1_test_vector = {
677         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
678         .cipher_key = {
679                 .data = {
680                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
681                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
682                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
683                 },
684                 .len = 24
685         },
686         .iv = {
687                 .data = {
688                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
689                 },
690                 .len = 8
691         },
692         .plaintext = {
693                 .data = plaintext_des,
694                 .len = 512
695         },
696         .ciphertext = {
697                 .data = ciphertext512_des192cbc,
698                 .len = 512
699         },
700         .auth_algo = RTE_CRYPTO_AUTH_SHA1,
701         .digest = {
702                 .data = {
703                         0x53, 0x27, 0xC0, 0xE6, 0xD6, 0x1B, 0xD6, 0x45,
704                         0x94, 0x2D, 0xCE, 0x8B, 0x29, 0xA3, 0x52, 0x14,
705                         0xC1, 0x6B, 0x87, 0x99
706                 },
707                 .len = 20
708         }
709 };
710
711 static const struct blockcipher_test_data
712 triple_des192cbc_hmac_sha1_test_vector = {
713         .crypto_algo = RTE_CRYPTO_CIPHER_3DES_CBC,
714         .cipher_key = {
715                 .data = {
716                         0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2,
717                         0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A,
718                         0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0
719                 },
720                 .len = 24
721         },
722         .iv = {
723                 .data = {
724                         0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
725                 },
726                 .len = 8
727         },
728         .plaintext = {
729                 .data = plaintext_des,
730                 .len = 512
731         },
732         .ciphertext = {
733                 .data = ciphertext512_des192cbc,
734                 .len = 512
735         },
736         .auth_algo = RTE_CRYPTO_AUTH_SHA1_HMAC,
737         .auth_key = {
738                 .data = {
739                         0xF8, 0x2A, 0xC7, 0x54, 0xDB, 0x96, 0x18, 0xAA,
740                         0xC3, 0xA1, 0x53, 0xF6, 0x1F, 0x17, 0x60, 0xBD,
741                         0xDE, 0xF4, 0xDE, 0xAD
742                 },
743                 .len = 20
744         },
745         .digest = {
746                 .data = {
747                         0xBA, 0xAC, 0x74, 0x19, 0x43, 0xB0, 0x72, 0xB8,
748                         0x08, 0xF5, 0x24, 0xC4, 0x09, 0xBD, 0x48, 0xC1,
749                         0x3C, 0x50, 0x1C, 0xDD
750                 },
751                 .len = 20
752         }
753 };
754
755 static const struct blockcipher_test_case triple_des_chain_test_cases[] = {
756         {
757                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest",
758                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
759                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
760                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
761                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
762         },
763         {
764                 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest Verify",
765                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
766                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
767                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
768                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
769         },
770         {
771                 .test_descr = "3DES-128-CBC SHA1 Encryption Digest",
772                 .test_data = &triple_des128cbc_sha1_test_vector,
773                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
774                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
775         },
776         {
777                 .test_descr = "3DES-128-CBC SHA1 Decryption Digest Verify",
778                 .test_data = &triple_des128cbc_sha1_test_vector,
779                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
780                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
781         },
782         {
783                 .test_descr = "3DES-192-CBC HMAC-SHA1 Encryption Digest",
784                 .test_data = &triple_des192cbc_hmac_sha1_test_vector,
785                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
786                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
787                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
788         },
789         {
790                 .test_descr = "3DES-192-CBC HMAC-SHA1 Decryption Digest Verify",
791                 .test_data = &triple_des192cbc_hmac_sha1_test_vector,
792                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
793                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
794                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
795         },
796         {
797                 .test_descr = "3DES-192-CBC SHA1 Encryption Digest",
798                 .test_data = &triple_des192cbc_sha1_test_vector,
799                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
800                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
801         },
802         {
803                 .test_descr = "3DES-192-CBC SHA1 Decryption Digest Verify",
804                 .test_data = &triple_des192cbc_sha1_test_vector,
805                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
806                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
807         },
808         {
809                 .test_descr = "3DES-128-CTR HMAC-SHA1 Encryption Digest",
810                 .test_data = &triple_des128ctr_hmac_sha1_test_vector,
811                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
812                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
813                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
814         },
815         {
816                 .test_descr = "3DES-128-CTR HMAC-SHA1 Decryption Digest Verify",
817                 .test_data = &triple_des128ctr_hmac_sha1_test_vector,
818                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
819                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
820                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
821         },
822         {
823                 .test_descr = "3DES-128-CTR SHA1 Encryption Digest",
824                 .test_data = &triple_des128ctr_sha1_test_vector,
825                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
826                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
827         },
828         {
829                 .test_descr = "3DES-128-CTR SHA1 Decryption Digest Verify",
830                 .test_data = &triple_des128ctr_sha1_test_vector,
831                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
832                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
833         },
834         {
835                 .test_descr = "3DES-192-CTR HMAC-SHA1 Encryption Digest",
836                 .test_data = &triple_des192ctr_hmac_sha1_test_vector,
837                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
838                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
839                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
840         },
841         {
842                 .test_descr = "3DES-192-CTR HMAC-SHA1 Decryption Digest Verify",
843                 .test_data = &triple_des192ctr_hmac_sha1_test_vector,
844                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
845                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
846                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
847         },
848         {
849                 .test_descr = "3DES-192-CTR SHA1 Encryption Digest",
850                 .test_data = &triple_des192ctr_sha1_test_vector,
851                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
852                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
853         },
854         {
855                 .test_descr = "3DES-192-CTR SHA1 Decryption Digest Verify",
856                 .test_data = &triple_des192ctr_sha1_test_vector,
857                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
858                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
859         },
860         {
861                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest OOP",
862                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
863                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
864                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
865                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
866                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
867         },
868         {
869                 .test_descr = "3DES-128-CBC HMAC-SHA1 Decryption Digest"
870                                 " Verify OOP",
871                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
872                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
873                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP,
874                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
875                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
876         },
877         {
878                 .test_descr = "3DES-128-CBC HMAC-SHA1 Encryption Digest"
879                                 " Sessionless",
880                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
881                 .op_mask = BLOCKCIPHER_TEST_OP_ENC_AUTH_GEN,
882                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
883                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
884         },
885         {
886                 .test_descr =
887                                 "3DES-128-CBC HMAC-SHA1 Decryption Digest"
888                                 " Verify Sessionless",
889                 .test_data = &triple_des128cbc_hmac_sha1_test_vector,
890                 .op_mask = BLOCKCIPHER_TEST_OP_AUTH_VERIFY_DEC,
891                 .feature_mask = BLOCKCIPHER_TEST_FEATURE_SESSIONLESS,
892                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL
893         },
894 };
895
896 static const struct blockcipher_test_case triple_des_cipheronly_test_cases[] = {
897         {
898                 .test_descr = "3DES-128-CBC Encryption",
899                 .test_data = &triple_des128cbc_test_vector,
900                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
901                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
902                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
903         },
904         {
905                 .test_descr = "3DES-128-CBC Decryption",
906                 .test_data = &triple_des128cbc_test_vector,
907                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
908                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
909                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
910         },
911         {
912                 .test_descr = "3DES-192-CBC Encryption",
913                 .test_data = &triple_des192cbc_test_vector,
914                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
915                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
916                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
917         },
918         {
919                 .test_descr = "3DES-192-CBC Decryption",
920                 .test_data = &triple_des192cbc_test_vector,
921                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
922                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
923                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
924         },
925         {
926                 .test_descr = "3DES-128-CTR Encryption",
927                 .test_data = &triple_des128ctr_test_vector,
928                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
929                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
930                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
931         },
932         {
933                 .test_descr = "3DES-128-CTR Decryption",
934                 .test_data = &triple_des128ctr_test_vector,
935                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
936                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
937                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
938         },
939         {
940                 .test_descr = "3DES-192-CTR Encryption",
941                 .test_data = &triple_des192ctr_test_vector,
942                 .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
943                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
944                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
945         },
946         {
947                 .test_descr = "3DES-192-CTR Decryption",
948                 .test_data = &triple_des192ctr_test_vector,
949                 .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
950                 .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_OPENSSL |
951                         BLOCKCIPHER_TEST_TARGET_PMD_QAT
952         }
953 };
954
955 #endif /* TEST_CRYPTODEV_DES_TEST_VECTORS_H_ */