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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO
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_LIBCRYPTO
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO
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_LIBCRYPTO
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO
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_LIBCRYPTO
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO
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_LIBCRYPTO
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO
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_LIBCRYPTO
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO |
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_LIBCRYPTO |
951 			BLOCKCIPHER_TEST_TARGET_PMD_QAT
952 	}
953 };
954 
955 #endif /* TEST_CRYPTODEV_DES_TEST_VECTORS_H_ */
956