]> git.proxmox.com Git - ceph.git/blob - ceph/src/dpdk/app/test/test_cryptodev_zuc_hash_test_vectors.h
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / dpdk / app / test / test_cryptodev_zuc_hash_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_ZUC_HASH_TEST_VECTORS_H_
34 #define TEST_CRYPTODEV_ZUC_HASH_TEST_VECTORS_H_
35
36 struct zuc_hash_test_data {
37 struct {
38 uint8_t data[64];
39 unsigned len;
40 } key;
41
42 struct {
43 uint8_t data[64];
44 unsigned len;
45 } aad;
46
47 struct {
48 uint8_t data[2056];
49 unsigned len; /* length must be in Bits */
50 } plaintext;
51
52 struct {
53 unsigned len;
54 } validAuthLenInBits;
55
56 struct {
57 unsigned len;
58 } validAuthOffsetLenInBits;
59
60 struct {
61 uint8_t data[64];
62 unsigned len;
63 } digest;
64 };
65
66 struct zuc_hash_test_data zuc_hash_test_case_1 = {
67 .key = {
68 .data = {
69 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
70 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
71 },
72 .len = 16
73 },
74 .aad = {
75 .data = {
76 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
77 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
78 },
79 .len = 16
80 },
81 .plaintext = {
82 .data = {0x00},
83 .len = 8
84 },
85 .validAuthLenInBits = {
86 .len = 1
87 },
88 .validAuthOffsetLenInBits = {
89 .len = 128
90 },
91 .digest = {
92 .data = {0xC8, 0xA9, 0x59, 0x5E},
93 .len = 4
94 }
95 };
96
97 struct zuc_hash_test_data zuc_hash_test_case_2 = {
98 .key = {
99 .data = {
100 0x47, 0x05, 0x41, 0x25, 0x56, 0x1E, 0xB2, 0xDD,
101 0xA9, 0x40, 0x59, 0xDA, 0x05, 0x09, 0x78, 0x50
102 },
103 .len = 16
104 },
105 .aad = {
106 .data = {
107 0x56, 0x1E, 0xB2, 0xDD, 0xA0, 0x00, 0x00, 0x00,
108 0x56, 0x1E, 0xB2, 0xDD, 0xA0, 0x00, 0x00, 0x00
109 },
110 .len = 16
111 },
112 .plaintext = {
113 .data = {
114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
115 0x00, 0x00, 0x00, 0x00
116 },
117 .len = 96
118 },
119 .validAuthLenInBits = {
120 .len = 90
121 },
122 .validAuthOffsetLenInBits = {
123 .len = 128
124 },
125 .digest = {
126 .data = {0x67, 0x19, 0xA0, 0x88},
127 .len = 4
128 }
129 };
130
131 struct zuc_hash_test_data zuc_hash_test_case_3 = {
132 .key = {
133 .data = {
134 0xC9, 0xE6, 0xCE, 0xC4, 0x60, 0x7C, 0x72, 0xDB,
135 0x00, 0x0A, 0xEF, 0xA8, 0x83, 0x85, 0xAB, 0x0A
136 },
137 .len = 16
138 },
139 .aad = {
140 .data = {
141 0xA9, 0x40, 0x59, 0xDA, 0x50, 0x00, 0x00, 0x00,
142 0x29, 0x40, 0x59, 0xDA, 0x50, 0x00, 0x80, 0x00
143 },
144 .len = 16
145 },
146 .plaintext = {
147 .data = {
148 0x98, 0x3B, 0x41, 0xD4, 0x7D, 0x78, 0x0C, 0x9E,
149 0x1A, 0xD1, 0x1D, 0x7E, 0xB7, 0x03, 0x91, 0xB1,
150 0xDE, 0x0B, 0x35, 0xDA, 0x2D, 0xC6, 0x2F, 0x83,
151 0xE7, 0xB7, 0x8D, 0x63, 0x06, 0xCA, 0x0E, 0xA0,
152 0x7E, 0x94, 0x1B, 0x7B, 0xE9, 0x13, 0x48, 0xF9,
153 0xFC, 0xB1, 0x70, 0xE2, 0x21, 0x7F, 0xEC, 0xD9,
154 0x7F, 0x9F, 0x68, 0xAD, 0xB1, 0x6E, 0x5D, 0x7D,
155 0x21, 0xE5, 0x69, 0xD2, 0x80, 0xED, 0x77, 0x5C,
156 0xEB, 0xDE, 0x3F, 0x40, 0x93, 0xC5, 0x38, 0x81,
157 0x00
158 },
159 .len = 584
160 },
161 .validAuthLenInBits = {
162 .len = 577
163 },
164 .validAuthOffsetLenInBits = {
165 .len = 128
166 },
167 .digest = {
168 .data = {0xFA, 0xE8, 0xFF, 0x0B},
169 .len = 4
170 }
171 };
172
173 struct zuc_hash_test_data zuc_hash_test_case_4 = {
174 .key = {
175 .data = {
176 0xC8, 0xA4, 0x82, 0x62, 0xD0, 0xC2, 0xE2, 0xBA,
177 0xC4, 0xB9, 0x6E, 0xF7, 0x7E, 0x80, 0xCA, 0x59
178 },
179 .len = 16
180 },
181 .aad = {
182 .data = {
183 0x05, 0x09, 0x78, 0x50, 0x80, 0x00, 0x00, 0x00,
184 0x85, 0x09, 0x78, 0x50, 0x80, 0x00, 0x80, 0x00
185 },
186 .len = 16
187 },
188 .plaintext = {
189 .data = {
190 0xB5, 0x46, 0x43, 0x0B, 0xF8, 0x7B, 0x4F, 0x1E,
191 0xE8, 0x34, 0x70, 0x4C, 0xD6, 0x95, 0x1C, 0x36,
192 0xE2, 0x6F, 0x10, 0x8C, 0xF7, 0x31, 0x78, 0x8F,
193 0x48, 0xDC, 0x34, 0xF1, 0x67, 0x8C, 0x05, 0x22,
194 0x1C, 0x8F, 0xA7, 0xFF, 0x2F, 0x39, 0xF4, 0x77,
195 0xE7, 0xE4, 0x9E, 0xF6, 0x0A, 0x4E, 0xC2, 0xC3,
196 0xDE, 0x24, 0x31, 0x2A, 0x96, 0xAA, 0x26, 0xE1,
197 0xCF, 0xBA, 0x57, 0x56, 0x38, 0x38, 0xB2, 0x97,
198 0xF4, 0x7E, 0x85, 0x10, 0xC7, 0x79, 0xFD, 0x66,
199 0x54, 0xB1, 0x43, 0x38, 0x6F, 0xA6, 0x39, 0xD3,
200 0x1E, 0xDB, 0xD6, 0xC0, 0x6E, 0x47, 0xD1, 0x59,
201 0xD9, 0x43, 0x62, 0xF2, 0x6A, 0xEE, 0xED, 0xEE,
202 0x0E, 0x4F, 0x49, 0xD9, 0xBF, 0x84, 0x12, 0x99,
203 0x54, 0x15, 0xBF, 0xAD, 0x56, 0xEE, 0x82, 0xD1,
204 0xCA, 0x74, 0x63, 0xAB, 0xF0, 0x85, 0xB0, 0x82,
205 0xB0, 0x99, 0x04, 0xD6, 0xD9, 0x90, 0xD4, 0x3C,
206 0xF2, 0xE0, 0x62, 0xF4, 0x08, 0x39, 0xD9, 0x32,
207 0x48, 0xB1, 0xEB, 0x92, 0xCD, 0xFE, 0xD5, 0x30,
208 0x0B, 0xC1, 0x48, 0x28, 0x04, 0x30, 0xB6, 0xD0,
209 0xCA, 0xA0, 0x94, 0xB6, 0xEC, 0x89, 0x11, 0xAB,
210 0x7D, 0xC3, 0x68, 0x24, 0xB8, 0x24, 0xDC, 0x0A,
211 0xF6, 0x68, 0x2B, 0x09, 0x35, 0xFD, 0xE7, 0xB4,
212 0x92, 0xA1, 0x4D, 0xC2, 0xF4, 0x36, 0x48, 0x03,
213 0x8D, 0xA2, 0xCF, 0x79, 0x17, 0x0D, 0x2D, 0x50,
214 0x13, 0x3F, 0xD4, 0x94, 0x16, 0xCB, 0x6E, 0x33,
215 0xBE, 0xA9, 0x0B, 0x8B, 0xF4, 0x55, 0x9B, 0x03,
216 0x73, 0x2A, 0x01, 0xEA, 0x29, 0x0E, 0x6D, 0x07,
217 0x4F, 0x79, 0xBB, 0x83, 0xC1, 0x0E, 0x58, 0x00,
218 0x15, 0xCC, 0x1A, 0x85, 0xB3, 0x6B, 0x55, 0x01,
219 0x04, 0x6E, 0x9C, 0x4B, 0xDC, 0xAE, 0x51, 0x35,
220 0x69, 0x0B, 0x86, 0x66, 0xBD, 0x54, 0xB7, 0xA7,
221 0x03, 0xEA, 0x7B, 0x6F, 0x22, 0x0A, 0x54, 0x69,
222 0xA5, 0x68, 0x02, 0x7E
223 },
224 .len = 2080
225 },
226 .validAuthLenInBits = {
227 .len = 2079
228 },
229 .validAuthOffsetLenInBits = {
230 .len = 128
231 },
232 .digest = {
233 .data = {0x00, 0x4A, 0xC4, 0xD6},
234 .len = 4
235 }
236 };
237
238 struct zuc_hash_test_data zuc_hash_test_case_5 = {
239 .key = {
240 .data = {
241 0x6B, 0x8B, 0x08, 0xEE, 0x79, 0xE0, 0xB5, 0x98,
242 0x2D, 0x6D, 0x12, 0x8E, 0xA9, 0xF2, 0x20, 0xCB
243 },
244 .len = 16
245 },
246 .aad = {
247 .data = {
248 0x56, 0x1E, 0xB2, 0xDD, 0xE0, 0x00, 0x00, 0x00,
249 0x56, 0x1E, 0xB2, 0xDD, 0xE0, 0x00, 0x00, 0x00
250 },
251 .len = 16
252 },
253 .plaintext = {
254 .data = {
255 0x5B, 0xAD, 0x72, 0x47, 0x10, 0xBA, 0x1C, 0x56,
256 0xD5, 0xA3, 0x15, 0xF8, 0xD4, 0x0F, 0x6E, 0x09,
257 0x37, 0x80, 0xBE, 0x8E, 0x8D, 0xE0, 0x7B, 0x69,
258 0x92, 0x43, 0x20, 0x18, 0xE0, 0x8E, 0xD9, 0x6A,
259 0x57, 0x34, 0xAF, 0x8B, 0xAD, 0x8A, 0x57, 0x5D,
260 0x3A, 0x1F, 0x16, 0x2F, 0x85, 0x04, 0x5C, 0xC7,
261 0x70, 0x92, 0x55, 0x71, 0xD9, 0xF5, 0xB9, 0x4E,
262 0x45, 0x4A, 0x77, 0xC1, 0x6E, 0x72, 0x93, 0x6B,
263 0xF0, 0x16, 0xAE, 0x15, 0x74, 0x99, 0xF0, 0x54,
264 0x3B, 0x5D, 0x52, 0xCA, 0xA6, 0xDB, 0xEA, 0xB6,
265 0x97, 0xD2, 0xBB, 0x73, 0xE4, 0x1B, 0x80, 0x75,
266 0xDC, 0xE7, 0x9B, 0x4B, 0x86, 0x04, 0x4F, 0x66,
267 0x1D, 0x44, 0x85, 0xA5, 0x43, 0xDD, 0x78, 0x60,
268 0x6E, 0x04, 0x19, 0xE8, 0x05, 0x98, 0x59, 0xD3,
269 0xCB, 0x2B, 0x67, 0xCE, 0x09, 0x77, 0x60, 0x3F,
270 0x81, 0xFF, 0x83, 0x9E, 0x33, 0x18, 0x59, 0x54,
271 0x4C, 0xFB, 0xC8, 0xD0, 0x0F, 0xEF, 0x1A, 0x4C,
272 0x85, 0x10, 0xFB, 0x54, 0x7D, 0x6B, 0x06, 0xC6,
273 0x11, 0xEF, 0x44, 0xF1, 0xBC, 0xE1, 0x07, 0xCF,
274 0xA4, 0x5A, 0x06, 0xAA, 0xB3, 0x60, 0x15, 0x2B,
275 0x28, 0xDC, 0x1E, 0xBE, 0x6F, 0x7F, 0xE0, 0x9B,
276 0x05, 0x16, 0xF9, 0xA5, 0xB0, 0x2A, 0x1B, 0xD8,
277 0x4B, 0xB0, 0x18, 0x1E, 0x2E, 0x89, 0xE1, 0x9B,
278 0xD8, 0x12, 0x59, 0x30, 0xD1, 0x78, 0x68, 0x2F,
279 0x38, 0x62, 0xDC, 0x51, 0xB6, 0x36, 0xF0, 0x4E,
280 0x72, 0x0C, 0x47, 0xC3, 0xCE, 0x51, 0xAD, 0x70,
281 0xD9, 0x4B, 0x9B, 0x22, 0x55, 0xFB, 0xAE, 0x90,
282 0x65, 0x49, 0xF4, 0x99, 0xF8, 0xC6, 0xD3, 0x99,
283 0x47, 0xED, 0x5E, 0x5D, 0xF8, 0xE2, 0xDE, 0xF1,
284 0x13, 0x25, 0x3E, 0x7B, 0x08, 0xD0, 0xA7, 0x6B,
285 0x6B, 0xFC, 0x68, 0xC8, 0x12, 0xF3, 0x75, 0xC7,
286 0x9B, 0x8F, 0xE5, 0xFD, 0x85, 0x97, 0x6A, 0xA6,
287 0xD4, 0x6B, 0x4A, 0x23, 0x39, 0xD8, 0xAE, 0x51,
288 0x47, 0xF6, 0x80, 0xFB, 0xE7, 0x0F, 0x97, 0x8B,
289 0x38, 0xEF, 0xFD, 0x7B, 0x2F, 0x78, 0x66, 0xA2,
290 0x25, 0x54, 0xE1, 0x93, 0xA9, 0x4E, 0x98, 0xA6,
291 0x8B, 0x74, 0xBD, 0x25, 0xBB, 0x2B, 0x3F, 0x5F,
292 0xB0, 0xA5, 0xFD, 0x59, 0x88, 0x7F, 0x9A, 0xB6,
293 0x81, 0x59, 0xB7, 0x17, 0x8D, 0x5B, 0x7B, 0x67,
294 0x7C, 0xB5, 0x46, 0xBF, 0x41, 0xEA, 0xDC, 0xA2,
295 0x16, 0xFC, 0x10, 0x85, 0x01, 0x28, 0xF8, 0xBD,
296 0xEF, 0x5C, 0x8D, 0x89, 0xF9, 0x6A, 0xFA, 0x4F,
297 0xA8, 0xB5, 0x48, 0x85, 0x56, 0x5E, 0xD8, 0x38,
298 0xA9, 0x50, 0xFE, 0xE5, 0xF1, 0xC3, 0xB0, 0xA4,
299 0xF6, 0xFB, 0x71, 0xE5, 0x4D, 0xFD, 0x16, 0x9E,
300 0x82, 0xCE, 0xCC, 0x72, 0x66, 0xC8, 0x50, 0xE6,
301 0x7C, 0x5E, 0xF0, 0xBA, 0x96, 0x0F, 0x52, 0x14,
302 0x06, 0x0E, 0x71, 0xEB, 0x17, 0x2A, 0x75, 0xFC,
303 0x14, 0x86, 0x83, 0x5C, 0xBE, 0xA6, 0x53, 0x44,
304 0x65, 0xB0, 0x55, 0xC9, 0x6A, 0x72, 0xE4, 0x10,
305 0x52, 0x24, 0x18, 0x23, 0x25, 0xD8, 0x30, 0x41,
306 0x4B, 0x40, 0x21, 0x4D, 0xAA, 0x80, 0x91, 0xD2,
307 0xE0, 0xFB, 0x01, 0x0A, 0xE1, 0x5C, 0x6D, 0xE9,
308 0x08, 0x50, 0x97, 0x3B, 0xDF, 0x1E, 0x42, 0x3B,
309 0xE1, 0x48, 0xA2, 0x37, 0xB8, 0x7A, 0x0C, 0x9F,
310 0x34, 0xD4, 0xB4, 0x76, 0x05, 0xB8, 0x03, 0xD7,
311 0x43, 0xA8, 0x6A, 0x90, 0x39, 0x9A, 0x4A, 0xF3,
312 0x96, 0xD3, 0xA1, 0x20, 0x0A, 0x62, 0xF3, 0xD9,
313 0x50, 0x79, 0x62, 0xE8, 0xE5, 0xBE, 0xE6, 0xD3,
314 0xDA, 0x2B, 0xB3, 0xF7, 0x23, 0x76, 0x64, 0xAC,
315 0x7A, 0x29, 0x28, 0x23, 0x90, 0x0B, 0xC6, 0x35,
316 0x03, 0xB2, 0x9E, 0x80, 0xD6, 0x3F, 0x60, 0x67,
317 0xBF, 0x8E, 0x17, 0x16, 0xAC, 0x25, 0xBE, 0xBA,
318 0x35, 0x0D, 0xEB, 0x62, 0xA9, 0x9F, 0xE0, 0x31,
319 0x85, 0xEB, 0x4F, 0x69, 0x93, 0x7E, 0xCD, 0x38,
320 0x79, 0x41, 0xFD, 0xA5, 0x44, 0xBA, 0x67, 0xDB,
321 0x09, 0x11, 0x77, 0x49, 0x38, 0xB0, 0x18, 0x27,
322 0xBC, 0xC6, 0x9C, 0x92, 0xB3, 0xF7, 0x72, 0xA9,
323 0xD2, 0x85, 0x9E, 0xF0, 0x03, 0x39, 0x8B, 0x1F,
324 0x6B, 0xBA, 0xD7, 0xB5, 0x74, 0xF7, 0x98, 0x9A,
325 0x1D, 0x10, 0xB2, 0xDF, 0x79, 0x8E, 0x0D, 0xBF,
326 0x30, 0xD6, 0x58, 0x74, 0x64, 0xD2, 0x48, 0x78,
327 0xCD, 0x00, 0xC0, 0xEA, 0xEE, 0x8A, 0x1A, 0x0C,
328 0xC7, 0x53, 0xA2, 0x79, 0x79, 0xE1, 0x1B, 0x41,
329 0xDB, 0x1D, 0xE3, 0xD5, 0x03, 0x8A, 0xFA, 0xF4,
330 0x9F, 0x5C, 0x68, 0x2C, 0x37, 0x48, 0xD8, 0xA3,
331 0xA9, 0xEC, 0x54, 0xE6, 0xA3, 0x71, 0x27, 0x5F,
332 0x16, 0x83, 0x51, 0x0F, 0x8E, 0x4F, 0x90, 0x93,
333 0x8F, 0x9A, 0xB6, 0xE1, 0x34, 0xC2, 0xCF, 0xDF,
334 0x48, 0x41, 0xCB, 0xA8, 0x8E, 0x0C, 0xFF, 0x2B,
335 0x0B, 0xCC, 0x8E, 0x6A, 0xDC, 0xB7, 0x11, 0x09,
336 0xB5, 0x19, 0x8F, 0xEC, 0xF1, 0xBB, 0x7E, 0x5C,
337 0x53, 0x1A, 0xCA, 0x50, 0xA5, 0x6A, 0x8A, 0x3B,
338 0x6D, 0xE5, 0x98, 0x62, 0xD4, 0x1F, 0xA1, 0x13,
339 0xD9, 0xCD, 0x95, 0x78, 0x08, 0xF0, 0x85, 0x71,
340 0xD9, 0xA4, 0xBB, 0x79, 0x2A, 0xF2, 0x71, 0xF6,
341 0xCC, 0x6D, 0xBB, 0x8D, 0xC7, 0xEC, 0x36, 0xE3,
342 0x6B, 0xE1, 0xED, 0x30, 0x81, 0x64, 0xC3, 0x1C,
343 0x7C, 0x0A, 0xFC, 0x54, 0x1C
344 },
345 .len = 5672
346 },
347 .validAuthLenInBits = {
348 .len = 5670
349 },
350 .validAuthOffsetLenInBits = {
351 .len = 128
352 },
353 .digest = {
354 .data = {0x0C, 0xA1, 0x27, 0x92},
355 .len = 4
356 }
357 };
358
359 #endif /* TEST_CRYPTODEV_ZUC_HASH_TEST_VECTORS_H_ */