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