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