4 * Copyright(c) 2015 Intel Corporation. All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
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
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.
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.
33 #ifndef TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_
34 #define TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_
36 struct snow3g_test_data {
43 uint8_t data[64] __rte_aligned(16);
71 struct snow3g_test_data snow3g_test_case_1 = {
74 0x2B, 0xD6, 0x45, 0x9F, 0x82, 0xC5, 0xB3, 0x00,
75 0x95, 0x2C, 0x49, 0x10, 0x48, 0x81, 0xFF, 0x48
81 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00,
82 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00
88 0x7E, 0xC6, 0x12, 0x72, 0x74, 0x3B, 0xF1, 0x61,
89 0x47, 0x26, 0x44, 0x6A, 0x6C, 0x38, 0xCE, 0xD1,
90 0x66, 0xF6, 0xCA, 0x76, 0xEB, 0x54, 0x30, 0x04,
91 0x42, 0x86, 0x34, 0x6C, 0xEF, 0x13, 0x0F, 0x92,
92 0x92, 0x2B, 0x03, 0x45, 0x0D, 0x3A, 0x99, 0x75,
93 0xE5, 0xBD, 0x2E, 0xA0, 0xEB, 0x55, 0xAD, 0x8E,
94 0x1B, 0x19, 0x9E, 0x3E, 0xC4, 0x31, 0x60, 0x20,
95 0xE9, 0xA1, 0xB2, 0x85, 0xE7, 0x62, 0x79, 0x53,
96 0x59, 0xB7, 0xBD, 0xFD, 0x39, 0xBE, 0xF4, 0xB2,
97 0x48, 0x45, 0x83, 0xD5, 0xAF, 0xE0, 0x82, 0xAE,
98 0xE6, 0x38, 0xBF, 0x5F, 0xD5, 0xA6, 0x06, 0x19,
99 0x39, 0x01, 0xA0, 0x8F, 0x4A, 0xB4, 0x1A, 0xAB,
100 0x9B, 0x13, 0x48, 0x80
106 0x8C, 0xEB, 0xA6, 0x29, 0x43, 0xDC, 0xED, 0x3A,
107 0x09, 0x90, 0xB0, 0x6E, 0xA1, 0xB0, 0xA2, 0xC4,
108 0xFB, 0x3C, 0xED, 0xC7, 0x1B, 0x36, 0x9F, 0x42,
109 0xBA, 0x64, 0xC1, 0xEB, 0x66, 0x65, 0xE7, 0x2A,
110 0xA1, 0xC9, 0xBB, 0x0D, 0xEA, 0xA2, 0x0F, 0xE8,
111 0x60, 0x58, 0xB8, 0xBA, 0xEE, 0x2C, 0x2E, 0x7F,
112 0x0B, 0xEC, 0xCE, 0x48, 0xB5, 0x29, 0x32, 0xA5,
113 0x3C, 0x9D, 0x5F, 0x93, 0x1A, 0x3A, 0x7C, 0x53,
114 0x22, 0x59, 0xAF, 0x43, 0x25, 0xE2, 0xA6, 0x5E,
115 0x30, 0x84, 0xAD, 0x5F, 0x6A, 0x51, 0x3B, 0x7B,
116 0xDD, 0xC1, 0xB6, 0x5F, 0x0A, 0xA0, 0xD9, 0x7A,
117 0x05, 0x3D, 0xB5, 0x5A, 0x88, 0xC4, 0xC4, 0xF9,
118 0x60, 0x5E, 0x41, 0x40
122 .validDataLenInBits = {
127 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00,
128 0x72, 0xA4, 0xF2, 0x0F, 0x64, 0x00, 0x00, 0x00
134 struct snow3g_test_data snow3g_test_case_2 = {
137 0xEF, 0xA8, 0xB2, 0x22, 0x9E, 0x72, 0x0C, 0x2A,
138 0x7C, 0x36, 0xEA, 0x55, 0xE9, 0x60, 0x56, 0x95
144 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00,
145 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00
151 0x10, 0x11, 0x12, 0x31, 0xE0, 0x60, 0x25, 0x3A,
152 0x43, 0xFD, 0x3F, 0x57, 0xE3, 0x76, 0x07, 0xAB,
153 0x28, 0x27, 0xB5, 0x99, 0xB6, 0xB1, 0xBB, 0xDA,
154 0x37, 0xA8, 0xAB, 0xCC, 0x5A, 0x8C, 0x55, 0x0D,
155 0x1B, 0xFB, 0x2F, 0x49, 0x46, 0x24, 0xFB, 0x50,
156 0x36, 0x7F, 0xA3, 0x6C, 0xE3, 0xBC, 0x68, 0xF1,
157 0x1C, 0xF9, 0x3B, 0x15, 0x10, 0x37, 0x6B, 0x02,
158 0x13, 0x0F, 0x81, 0x2A, 0x9F, 0xA1, 0x69, 0xD8
164 0xE0, 0xDA, 0x15, 0xCA, 0x8E, 0x25, 0x54, 0xF5,
165 0xE5, 0x6C, 0x94, 0x68, 0xDC, 0x6C, 0x7C, 0x12,
166 0x9C, 0x56, 0x8A, 0xA5, 0x03, 0x23, 0x17, 0xE0,
167 0x4E, 0x07, 0x29, 0x64, 0x6C, 0xAB, 0xEF, 0xA6,
168 0x89, 0x86, 0x4C, 0x41, 0x0F, 0x24, 0xF9, 0x19,
169 0xE6, 0x1E, 0x3D, 0xFD, 0xFA, 0xD7, 0x7E, 0x56,
170 0x0D, 0xB0, 0xA9, 0xCD, 0x36, 0xC3, 0x4A, 0xE4,
171 0x18, 0x14, 0x90, 0xB2, 0x9F, 0x5F, 0xA2, 0xFC
175 .validDataLenInBits = {
180 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00,
181 0xE2, 0x8B, 0xCF, 0x7B, 0xC0, 0x00, 0x00, 0x00
187 struct snow3g_test_data snow3g_test_case_3 = {
190 0x5A, 0xCB, 0x1D, 0x64, 0x4C, 0x0D, 0x51, 0x20,
191 0x4E, 0xA5, 0xF1, 0x45, 0x10, 0x10, 0xD8, 0x52
197 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
198 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
204 0xAD, 0x9C, 0x44, 0x1F, 0x89, 0x0B, 0x38, 0xC4,
205 0x57, 0xA4, 0x9D, 0x42, 0x14, 0x07, 0xE8
211 0xBA, 0x0F, 0x31, 0x30, 0x03, 0x34, 0xC5, 0x6B,
212 0x52, 0xA7, 0x49, 0x7C, 0xBA, 0xC0, 0x46
216 .validDataLenInBits = {
221 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
222 0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
227 .data = {0xE8, 0x60, 0x5A, 0x3E},
232 struct snow3g_test_data snow3g_test_case_4 = {
235 0xD3, 0xC5, 0xD5, 0x92, 0x32, 0x7F, 0xB1, 0x1C,
236 0x40, 0x35, 0xC6, 0x68, 0x0A, 0xF8, 0xC6, 0xD1
242 0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00,
243 0x39, 0x8A, 0x59, 0xB4, 0x2C, 0x00, 0x00, 0x00
249 0x98, 0x1B, 0xA6, 0x82, 0x4C, 0x1B, 0xFB, 0x1A,
250 0xB4, 0x85, 0x47, 0x20, 0x29, 0xB7, 0x1D, 0x80,
251 0x8C, 0xE3, 0x3E, 0x2C, 0xC3, 0xC0, 0xB5, 0xFC,
252 0x1F, 0x3D, 0xE8, 0xA6, 0xDC, 0x66, 0xB1, 0xF0
258 0x98, 0x9B, 0x71, 0x9C, 0xDC, 0x33, 0xCE, 0xB7,
259 0xCF, 0x27, 0x6A, 0x52, 0x82, 0x7C, 0xEF, 0x94,
260 0xA5, 0x6C, 0x40, 0xC0, 0xAB, 0x9D, 0x81, 0xF7,
261 0xA2, 0xA9, 0xBA, 0xC6, 0x0E, 0x11, 0xC4, 0xB0
265 .validDataLenInBits = {
270 struct snow3g_test_data snow3g_test_case_5 = {
273 0x60, 0x90, 0xEA, 0xE0, 0x4C, 0x83, 0x70, 0x6E,
274 0xEC, 0xBF, 0x65, 0x2B, 0xE8, 0xE3, 0x65, 0x66
280 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00,
281 0x72, 0xA4, 0xF2, 0x0F, 0x48, 0x00, 0x00, 0x00
286 0x40, 0x98, 0x1B, 0xA6, 0x82, 0x4C, 0x1B, 0xFB,
287 0x42, 0x86, 0xB2, 0x99, 0x78, 0x3D, 0xAF, 0x44,
288 0x2C, 0x09, 0x9F, 0x7A, 0xB0, 0xF5, 0x8D, 0x5C,
289 0x8E, 0x46, 0xB1, 0x04, 0xF0, 0x8F, 0x01, 0xB4,
290 0x1A, 0xB4, 0x85, 0x47, 0x20, 0x29, 0xB7, 0x1D,
291 0x36, 0xBD, 0x1A, 0x3D, 0x90, 0xDC, 0x3A, 0x41,
292 0xB4, 0x6D, 0x51, 0x67, 0x2A, 0xC4, 0xC9, 0x66,
293 0x3A, 0x2B, 0xE0, 0x63, 0xDA, 0x4B, 0xC8, 0xD2,
294 0x80, 0x8C, 0xE3, 0x3E, 0x2C, 0xCC, 0xBF, 0xC6,
295 0x34, 0xE1, 0xB2, 0x59, 0x06, 0x08, 0x76, 0xA0,
296 0xFB, 0xB5, 0xA4, 0x37, 0xEB, 0xCC, 0x8D, 0x31,
297 0xC1, 0x9E, 0x44, 0x54, 0x31, 0x87, 0x45, 0xE3,
298 0x98, 0x76, 0x45, 0x98, 0x7A, 0x98, 0x6F, 0x2C,
305 0x58, 0x92, 0xBB, 0xA8, 0x8B, 0xBB, 0xCA, 0xAE,
306 0xAE, 0x76, 0x9A, 0xA0, 0x6B, 0x68, 0x3D, 0x3A,
307 0x17, 0xCC, 0x04, 0xA3, 0x69, 0x88, 0x16, 0x97,
308 0x43, 0x5E, 0x44, 0xFE, 0xD5, 0xFF, 0x9A, 0xF5,
309 0x7B, 0x9E, 0x89, 0x0D, 0x4D, 0x5C, 0x64, 0x70,
310 0x98, 0x85, 0xD4, 0x8A, 0xE4, 0x06, 0x90, 0xEC,
311 0x04, 0x3B, 0xAA, 0xE9, 0x70, 0x57, 0x96, 0xE4,
312 0xA9, 0xFF, 0x5A, 0x4B, 0x8D, 0x8B, 0x36, 0xD7,
313 0xF3, 0xFE, 0x57, 0xCC, 0x6C, 0xFD, 0x6C, 0xD0,
314 0x05, 0xCD, 0x38, 0x52, 0xA8, 0x5E, 0x94, 0xCE,
315 0x6B, 0xCD, 0x90, 0xD0, 0xD0, 0x78, 0x39, 0xCE,
316 0x09, 0x73, 0x35, 0x44, 0xCA, 0x8E, 0x35, 0x08,
317 0x43, 0x24, 0x85, 0x50, 0x92, 0x2A, 0xC1, 0x28,
322 .validDataLenInBits = {
326 struct snow3g_test_data snow3g_test_case_6 = {
329 0xC7, 0x36, 0xC6, 0xAA, 0xB2, 0x2B, 0xFF, 0xF9,
330 0x1E, 0x26, 0x98, 0xD2, 0xE2, 0x2A, 0xD5, 0x7E
336 0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD,
337 0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD
343 0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD,
344 0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD
350 0xD0, 0xA7, 0xD4, 0x63, 0xDF, 0x9F, 0xB2, 0xB2,
351 0x78, 0x83, 0x3F, 0xA0, 0x2E, 0x23, 0x5A, 0xA1,
352 0x72, 0xBD, 0x97, 0x0C, 0x14, 0x73, 0xE1, 0x29,
353 0x07, 0xFB, 0x64, 0x8B, 0x65, 0x99, 0xAA, 0xA0,
354 0xB2, 0x4A, 0x03, 0x86, 0x65, 0x42, 0x2B, 0x20,
355 0xA4, 0x99, 0x27, 0x6A, 0x50, 0x42, 0x70, 0x09
361 0x95, 0x2E, 0x5A, 0xE1, 0x50, 0xB8, 0x59, 0x2A,
362 0x9B, 0xA0, 0x38, 0xA9, 0x8E, 0x2F, 0xED, 0xAB,
363 0xFD, 0xC8, 0x3B, 0x47, 0x46, 0x0B, 0x50, 0x16,
364 0xEC, 0x88, 0x45, 0xB6, 0x05, 0xC7, 0x54, 0xF8,
365 0xBD, 0x91, 0xAA, 0xB6, 0xA4, 0xDC, 0x64, 0xB4,
366 0xCB, 0xEB, 0x97, 0x06, 0x4C, 0xF7, 0x02, 0x3D
371 .data = {0x38, 0xB5, 0x54, 0xC0 },
374 .validDataLenInBits = {
379 #endif /* TEST_CRYPTODEV_SNOW3G_TEST_VECTORS_H_ */