1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2015-2017 Intel Corporation
5 #ifndef TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_
6 #define TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_
8 struct snow3g_test_data {
15 uint8_t data[64] __rte_aligned(16);
21 unsigned len; /* length must be in Bits */
26 unsigned len; /* length must be in Bits */
35 } validCipherLenInBits;
51 struct snow3g_test_data snow3g_test_case_1 = {
54 0x2B, 0xD6, 0x45, 0x9F, 0x82, 0xC5, 0xB3, 0x00,
55 0x95, 0x2C, 0x49, 0x10, 0x48, 0x81, 0xFF, 0x48
61 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00,
62 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00
68 0x7E, 0xC6, 0x12, 0x72, 0x74, 0x3B, 0xF1, 0x61,
69 0x47, 0x26, 0x44, 0x6A, 0x6C, 0x38, 0xCE, 0xD1,
70 0x66, 0xF6, 0xCA, 0x76, 0xEB, 0x54, 0x30, 0x04,
71 0x42, 0x86, 0x34, 0x6C, 0xEF, 0x13, 0x0F, 0x92,
72 0x92, 0x2B, 0x03, 0x45, 0x0D, 0x3A, 0x99, 0x75,
73 0xE5, 0xBD, 0x2E, 0xA0, 0xEB, 0x55, 0xAD, 0x8E,
74 0x1B, 0x19, 0x9E, 0x3E, 0xC4, 0x31, 0x60, 0x20,
75 0xE9, 0xA1, 0xB2, 0x85, 0xE7, 0x62, 0x79, 0x53,
76 0x59, 0xB7, 0xBD, 0xFD, 0x39, 0xBE, 0xF4, 0xB2,
77 0x48, 0x45, 0x83, 0xD5, 0xAF, 0xE0, 0x82, 0xAE,
78 0xE6, 0x38, 0xBF, 0x5F, 0xD5, 0xA6, 0x06, 0x19,
79 0x39, 0x01, 0xA0, 0x8F, 0x4A, 0xB4, 0x1A, 0xAB,
80 0x9B, 0x13, 0x48, 0x80
86 0x8C, 0xEB, 0xA6, 0x29, 0x43, 0xDC, 0xED, 0x3A,
87 0x09, 0x90, 0xB0, 0x6E, 0xA1, 0xB0, 0xA2, 0xC4,
88 0xFB, 0x3C, 0xED, 0xC7, 0x1B, 0x36, 0x9F, 0x42,
89 0xBA, 0x64, 0xC1, 0xEB, 0x66, 0x65, 0xE7, 0x2A,
90 0xA1, 0xC9, 0xBB, 0x0D, 0xEA, 0xA2, 0x0F, 0xE8,
91 0x60, 0x58, 0xB8, 0xBA, 0xEE, 0x2C, 0x2E, 0x7F,
92 0x0B, 0xEC, 0xCE, 0x48, 0xB5, 0x29, 0x32, 0xA5,
93 0x3C, 0x9D, 0x5F, 0x93, 0x1A, 0x3A, 0x7C, 0x53,
94 0x22, 0x59, 0xAF, 0x43, 0x25, 0xE2, 0xA6, 0x5E,
95 0x30, 0x84, 0xAD, 0x5F, 0x6A, 0x51, 0x3B, 0x7B,
96 0xDD, 0xC1, 0xB6, 0x5F, 0x0A, 0xA0, 0xD9, 0x7A,
97 0x05, 0x3D, 0xB5, 0x5A, 0x88, 0xC4, 0xC4, 0xF9,
98 0x60, 0x5E, 0x41, 0x40
102 .validDataLenInBits = {
105 .validCipherLenInBits = {
110 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00,
111 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00
117 struct snow3g_test_data snow3g_test_case_2 = {
120 0xEF, 0xA8, 0xB2, 0x22, 0x9E, 0x72, 0x0C, 0x2A,
121 0x7C, 0x36, 0xEA, 0x55, 0xE9, 0x60, 0x56, 0x95
127 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00,
128 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00
134 0x10, 0x11, 0x12, 0x31, 0xE0, 0x60, 0x25, 0x3A,
135 0x43, 0xFD, 0x3F, 0x57, 0xE3, 0x76, 0x07, 0xAB,
136 0x28, 0x27, 0xB5, 0x99, 0xB6, 0xB1, 0xBB, 0xDA,
137 0x37, 0xA8, 0xAB, 0xCC, 0x5A, 0x8C, 0x55, 0x0D,
138 0x1B, 0xFB, 0x2F, 0x49, 0x46, 0x24, 0xFB, 0x50,
139 0x36, 0x7F, 0xA3, 0x6C, 0xE3, 0xBC, 0x68, 0xF1,
140 0x1C, 0xF9, 0x3B, 0x15, 0x10, 0x37, 0x6B, 0x02,
141 0x13, 0x0F, 0x81, 0x2A, 0x9F, 0xA1, 0x69, 0xD8
147 0xE0, 0xDA, 0x15, 0xCA, 0x8E, 0x25, 0x54, 0xF5,
148 0xE5, 0x6C, 0x94, 0x68, 0xDC, 0x6C, 0x7C, 0x12,
149 0x9C, 0x56, 0x8A, 0xA5, 0x03, 0x23, 0x17, 0xE0,
150 0x4E, 0x07, 0x29, 0x64, 0x6C, 0xAB, 0xEF, 0xA6,
151 0x89, 0x86, 0x4C, 0x41, 0x0F, 0x24, 0xF9, 0x19,
152 0xE6, 0x1E, 0x3D, 0xFD, 0xFA, 0xD7, 0x7E, 0x56,
153 0x0D, 0xB0, 0xA9, 0xCD, 0x36, 0xC3, 0x4A, 0xE4,
154 0x18, 0x14, 0x90, 0xB2, 0x9F, 0x5F, 0xA2, 0xFC
158 .validDataLenInBits = {
161 .validCipherLenInBits = {
166 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00,
167 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00
173 struct snow3g_test_data snow3g_test_case_3 = {
176 0x5A, 0xCB, 0x1D, 0x64, 0x4C, 0x0D, 0x51, 0x20,
177 0x4E, 0xA5, 0xF1, 0x45, 0x10, 0x10, 0xD8, 0x52
183 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
184 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
190 0xAD, 0x9C, 0x44, 0x1F, 0x89, 0x0B, 0x38, 0xC4,
191 0x57, 0xA4, 0x9D, 0x42, 0x14, 0x07, 0xE8
197 0xBA, 0x0F, 0x31, 0x30, 0x03, 0x34, 0xC5, 0x6B,
198 0x52, 0xA7, 0x49, 0x7C, 0xBA, 0xC0, 0x46
202 .validDataLenInBits = {
205 .validCipherLenInBits = {
210 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
211 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
216 .data = {0xE8, 0x60, 0x5A, 0x3E},
219 .validAuthLenInBits = {
224 struct snow3g_test_data snow3g_test_case_4 = {
227 0xD3, 0xC5, 0xD5, 0x92, 0x32, 0x7F, 0xB1, 0x1C,
228 0x40, 0x35, 0xC6, 0x68, 0x0A, 0xF8, 0xC6, 0xD1
234 0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00,
235 0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00
241 0x98, 0x1B, 0xA6, 0x82, 0x4C, 0x1B, 0xFB, 0x1A,
242 0xB4, 0x85, 0x47, 0x20, 0x29, 0xB7, 0x1D, 0x80,
243 0x8C, 0xE3, 0x3E, 0x2C, 0xC3, 0xC0, 0xB5, 0xFC,
244 0x1F, 0x3D, 0xE8, 0xA6, 0xDC, 0x66, 0xB1, 0xF0
250 0x98, 0x9B, 0x71, 0x9C, 0xDC, 0x33, 0xCE, 0xB7,
251 0xCF, 0x27, 0x6A, 0x52, 0x82, 0x7C, 0xEF, 0x94,
252 0xA5, 0x6C, 0x40, 0xC0, 0xAB, 0x9D, 0x81, 0xF7,
253 0xA2, 0xA9, 0xBA, 0xC6, 0x0E, 0x11, 0xC4, 0xB0
257 .validDataLenInBits = {
260 .validCipherLenInBits = {
265 struct snow3g_test_data snow3g_test_case_5 = {
268 0x60, 0x90, 0xEA, 0xE0, 0x4C, 0x83, 0x70, 0x6E,
269 0xEC, 0xBF, 0x65, 0x2B, 0xE8, 0xE3, 0x65, 0x66
275 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00,
276 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00
281 0x40, 0x98, 0x1B, 0xA6, 0x82, 0x4C, 0x1B, 0xFB,
282 0x42, 0x86, 0xB2, 0x99, 0x78, 0x3D, 0xAF, 0x44,
283 0x2C, 0x09, 0x9F, 0x7A, 0xB0, 0xF5, 0x8D, 0x5C,
284 0x8E, 0x46, 0xB1, 0x04, 0xF0, 0x8F, 0x01, 0xB4,
285 0x1A, 0xB4, 0x85, 0x47, 0x20, 0x29, 0xB7, 0x1D,
286 0x36, 0xBD, 0x1A, 0x3D, 0x90, 0xDC, 0x3A, 0x41,
287 0xB4, 0x6D, 0x51, 0x67, 0x2A, 0xC4, 0xC9, 0x66,
288 0x3A, 0x2B, 0xE0, 0x63, 0xDA, 0x4B, 0xC8, 0xD2,
289 0x80, 0x8C, 0xE3, 0x3E, 0x2C, 0xCC, 0xBF, 0xC6,
290 0x34, 0xE1, 0xB2, 0x59, 0x06, 0x08, 0x76, 0xA0,
291 0xFB, 0xB5, 0xA4, 0x37, 0xEB, 0xCC, 0x8D, 0x31,
292 0xC1, 0x9E, 0x44, 0x54, 0x31, 0x87, 0x45, 0xE3,
293 0x98, 0x76, 0x45, 0x98, 0x7A, 0x98, 0x6F, 0x2C,
300 0x58, 0x92, 0xBB, 0xA8, 0x8B, 0xBB, 0xCA, 0xAE,
301 0xAE, 0x76, 0x9A, 0xA0, 0x6B, 0x68, 0x3D, 0x3A,
302 0x17, 0xCC, 0x04, 0xA3, 0x69, 0x88, 0x16, 0x97,
303 0x43, 0x5E, 0x44, 0xFE, 0xD5, 0xFF, 0x9A, 0xF5,
304 0x7B, 0x9E, 0x89, 0x0D, 0x4D, 0x5C, 0x64, 0x70,
305 0x98, 0x85, 0xD4, 0x8A, 0xE4, 0x06, 0x90, 0xEC,
306 0x04, 0x3B, 0xAA, 0xE9, 0x70, 0x57, 0x96, 0xE4,
307 0xA9, 0xFF, 0x5A, 0x4B, 0x8D, 0x8B, 0x36, 0xD7,
308 0xF3, 0xFE, 0x57, 0xCC, 0x6C, 0xFD, 0x6C, 0xD0,
309 0x05, 0xCD, 0x38, 0x52, 0xA8, 0x5E, 0x94, 0xCE,
310 0x6B, 0xCD, 0x90, 0xD0, 0xD0, 0x78, 0x39, 0xCE,
311 0x09, 0x73, 0x35, 0x44, 0xCA, 0x8E, 0x35, 0x08,
312 0x43, 0x24, 0x85, 0x50, 0x92, 0x2A, 0xC1, 0x28,
317 .validDataLenInBits = {
320 .validCipherLenInBits = {
324 struct snow3g_test_data snow3g_test_case_6 = {
327 0xC7, 0x36, 0xC6, 0xAA, 0xB2, 0x2B, 0xFF, 0xF9,
328 0x1E, 0x26, 0x98, 0xD2, 0xE2, 0x2A, 0xD5, 0x7E
334 0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD,
335 0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD
341 0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD,
342 0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD
348 0xD0, 0xA7, 0xD4, 0x63, 0xDF, 0x9F, 0xB2, 0xB2,
349 0x78, 0x83, 0x3F, 0xA0, 0x2E, 0x23, 0x5A, 0xA1,
350 0x72, 0xBD, 0x97, 0x0C, 0x14, 0x73, 0xE1, 0x29,
351 0x07, 0xFB, 0x64, 0x8B, 0x65, 0x99, 0xAA, 0xA0,
352 0xB2, 0x4A, 0x03, 0x86, 0x65, 0x42, 0x2B, 0x20,
353 0xA4, 0x99, 0x27, 0x6A, 0x50, 0x42, 0x70, 0x09
359 0x95, 0x2E, 0x5A, 0xE1, 0x50, 0xB8, 0x59, 0x2A,
360 0x9B, 0xA0, 0x38, 0xA9, 0x8E, 0x2F, 0xED, 0xAB,
361 0xFD, 0xC8, 0x3B, 0x47, 0x46, 0x0B, 0x50, 0x16,
362 0xEC, 0x88, 0x45, 0xB6, 0x05, 0xC7, 0x54, 0xF8,
363 0xBD, 0x91, 0xAA, 0xB6, 0xA4, 0xDC, 0x64, 0xB4,
364 0xCB, 0xEB, 0x97, 0x06, 0x4C, 0xF7, 0x02, 0x3D
369 .data = {0x38, 0xB5, 0x54, 0xC0 },
372 .validDataLenInBits = {
375 .validCipherLenInBits = {
378 .validAuthLenInBits = {
383 #endif /* TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_ */