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