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_SNOW3G_HASH_TEST_VECTORS_H_
34#define TEST_CRYPTODEV_SNOW3G_HASH_TEST_VECTORS_H_
35
36struct snow3g_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
66struct snow3g_hash_test_data snow3g_hash_test_case_1 = {
67	.key = {
68		.data = {
69			0xC7, 0x36, 0xC6, 0xAA, 0xB2, 0x2B, 0xFF, 0xF9,
70			0x1E, 0x26, 0x98, 0xD2, 0xE2, 0x2A, 0xD5, 0x7E
71		},
72	.len = 16
73	},
74	.aad = {
75		.data = {
76			0x14, 0x79, 0x3E, 0x41, 0x03, 0x97, 0xE8, 0xFD,
77			0x94, 0x79, 0x3E, 0x41, 0x03, 0x97, 0x68, 0xFD
78		},
79		.len = 16
80	},
81	.plaintext = {
82		.data = {
83			0xD0, 0xA7, 0xD4, 0x63, 0xDF, 0x9F, 0xB2, 0xB2,
84			0x78, 0x83, 0x3F, 0xA0, 0x2E, 0x23, 0x5A, 0xA1,
85			0x72, 0xBD, 0x97, 0x0C, 0x14, 0x73, 0xE1, 0x29,
86			0x07, 0xFB, 0x64, 0x8B, 0x65, 0x99, 0xAA, 0xA0,
87			0xB2, 0x4A, 0x03, 0x86, 0x65, 0x42, 0x2B, 0x20,
88			0xA4, 0x99, 0x27, 0x6A, 0x50, 0x42, 0x70, 0x09
89		},
90		.len = 384
91	},
92	.validAuthLenInBits = {
93		.len = 384
94		},
95	.validAuthOffsetLenInBits = {
96		.len = 128
97	},
98	.digest = {
99		.data = {0x38, 0xB5, 0x54, 0xC0 },
100		.len  = 4
101	}
102};
103
104struct snow3g_hash_test_data snow3g_hash_test_case_2 = {
105	.key = {
106		.data = {
107			0xF4, 0xEB, 0xEC, 0x69, 0xE7, 0x3E, 0xAF, 0x2E,
108			0xB2, 0xCF, 0x6A, 0xF4, 0xB3, 0x12, 0x0F, 0xFD
109		},
110	.len = 16
111	},
112	.aad = {
113		.data = {
114			0x29, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0x77, 0x37,
115			0xA9, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0xF7, 0x37
116		},
117		.len = 16
118	},
119	.plaintext = {
120		.data = {
121			0x10, 0xBF, 0xFF, 0x83, 0x9E, 0x0C, 0x71, 0x65,
122			0x8D, 0xBB, 0x2D, 0x17, 0x07, 0xE1, 0x45, 0x72,
123			0x4F, 0x41, 0xC1, 0x6F, 0x48, 0xBF, 0x40, 0x3C,
124			0x3B, 0x18, 0xE3, 0x8F, 0xD5, 0xD1, 0x66, 0x3B,
125			0x6F, 0x6D, 0x90, 0x01, 0x93, 0xE3, 0xCE, 0xA8,
126			0xBB, 0x4F, 0x1B, 0x4F, 0x5B, 0xE8, 0x22, 0x03,
127			0x22, 0x32, 0xA7, 0x8D, 0x7D, 0x75, 0x23, 0x8D,
128			0x5E, 0x6D, 0xAE, 0xCD, 0x3B, 0x43, 0x22, 0xCF,
129			0x59, 0xBC, 0x7E, 0xA8, 0x4A, 0xB1, 0x88, 0x11,
130			0xB5, 0xBF, 0xB7, 0xBC, 0x55, 0x3F, 0x4F, 0xE4,
131			0x44, 0x78, 0xCE, 0x28, 0x7A, 0x14, 0x87, 0x99,
132			0x90, 0xD1, 0x8D, 0x12, 0xCA, 0x79, 0xD2, 0xC8,
133			0x55, 0x14, 0x90, 0x21, 0xCD, 0x5C, 0xE8, 0xCA,
134			0x03, 0x71, 0xCA, 0x04, 0xFC, 0xCE, 0x14, 0x3E,
135			0x3D, 0x7C, 0xFE, 0xE9, 0x45, 0x85, 0xB5, 0x88,
136			0x5C, 0xAC, 0x46, 0x06, 0x8B
137		},
138		.len = 1000
139	},
140	.validAuthLenInBits = {
141		.len = 1000
142	},
143	.validAuthOffsetLenInBits = {
144		.len = 128
145	},
146	.digest = {
147		.data = {0x06, 0x17, 0x45, 0xAE},
148		.len  = 4
149	}
150};
151
152struct snow3g_hash_test_data snow3g_hash_test_case_3 = {
153	.key = {
154		.data = {
155			0xB3, 0x12, 0x0F, 0xFD, 0xB2, 0xCF, 0x6A, 0xF4,
156			0xE7, 0x3E, 0xAF, 0x2E, 0xF4, 0xEB, 0xEC, 0x69
157		},
158	.len = 16
159	},
160	.aad = {
161		.data = {
162			0x29, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0x77, 0x37,
163			0xA9, 0x6F, 0x39, 0x3C, 0x6B, 0x22, 0xF7, 0x37
164		},
165	.len = 16
166	},
167	.plaintext = {
168		.data = {
169			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170			0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
171			0xE0, 0x95, 0x80, 0x45, 0xF3, 0xA0, 0xBB, 0xA4,
172			0xE3, 0x96, 0x83, 0x46, 0xF0, 0xA3, 0xB8, 0xA7,
173			0xC0, 0x2A, 0x01, 0x8A, 0xE6, 0x40, 0x76, 0x52,
174			0x26, 0xB9, 0x87, 0xC9, 0x13, 0xE6, 0xCB, 0xF0,
175			0x83, 0x57, 0x00, 0x16, 0xCF, 0x83, 0xEF, 0xBC,
176			0x61, 0xC0, 0x82, 0x51, 0x3E, 0x21, 0x56, 0x1A,
177			0x42, 0x7C, 0x00, 0x9D, 0x28, 0xC2, 0x98, 0xEF,
178			0xAC, 0xE7, 0x8E, 0xD6, 0xD5, 0x6C, 0x2D, 0x45,
179			0x05, 0xAD, 0x03, 0x2E, 0x9C, 0x04, 0xDC, 0x60,
180			0xE7, 0x3A, 0x81, 0x69, 0x6D, 0xA6, 0x65, 0xC6,
181			0xC4, 0x86, 0x03, 0xA5, 0x7B, 0x45, 0xAB, 0x33,
182			0x22, 0x15, 0x85, 0xE6, 0x8E, 0xE3, 0x16, 0x91,
183			0x87, 0xFB, 0x02, 0x39, 0x52, 0x86, 0x32, 0xDD,
184			0x65, 0x6C, 0x80, 0x7E, 0xA3, 0x24, 0x8B, 0x7B,
185			0x46, 0xD0, 0x02, 0xB2, 0xB5, 0xC7, 0x45, 0x8E,
186			0xB8, 0x5B, 0x9C, 0xE9, 0x58, 0x79, 0xE0, 0x34,
187			0x08, 0x59, 0x05, 0x5E, 0x3B, 0x0A, 0xBB, 0xC3,
188			0xEA, 0xCE, 0x87, 0x19, 0xCA, 0xA8, 0x02, 0x65,
189			0xC9, 0x72, 0x05, 0xD5, 0xDC, 0x4B, 0xCC, 0x90,
190			0x2F, 0xE1, 0x83, 0x96, 0x29, 0xED, 0x71, 0x32,
191			0x8A, 0x0F, 0x04, 0x49, 0xF5, 0x88, 0x55, 0x7E,
192			0x68, 0x98, 0x86, 0x0E, 0x04, 0x2A, 0xEC, 0xD8,
193			0x4B, 0x24, 0x04, 0xC2, 0x12, 0xC9, 0x22, 0x2D,
194			0xA5, 0xBF, 0x8A, 0x89, 0xEF, 0x67, 0x97, 0x87,
195			0x0C, 0xF5, 0x07, 0x71, 0xA6, 0x0F, 0x66, 0xA2,
196			0xEE, 0x62, 0x85, 0x36, 0x57, 0xAD, 0xDF, 0x04,
197			0xCD, 0xDE, 0x07, 0xFA, 0x41, 0x4E, 0x11, 0xF1,
198			0x2B, 0x4D, 0x81, 0xB9, 0xB4, 0xE8, 0xAC, 0x53,
199			0x8E, 0xA3, 0x06, 0x66, 0x68, 0x8D, 0x88, 0x1F,
200			0x6C, 0x34, 0x84, 0x21, 0x99, 0x2F, 0x31, 0xB9,
201			0x4F, 0x88, 0x06, 0xED, 0x8F, 0xCC, 0xFF, 0x4C,
202			0x91, 0x23, 0xB8, 0x96, 0x42, 0x52, 0x7A, 0xD6,
203			0x13, 0xB1, 0x09, 0xBF, 0x75, 0x16, 0x74, 0x85,
204			0xF1, 0x26, 0x8B, 0xF8, 0x84, 0xB4, 0xCD, 0x23,
205			0xD2, 0x9A, 0x09, 0x34, 0x92, 0x57, 0x03, 0xD6,
206			0x34, 0x09, 0x8F, 0x77, 0x67, 0xF1, 0xBE, 0x74,
207			0x91, 0xE7, 0x08, 0xA8, 0xBB, 0x94, 0x9A, 0x38,
208			0x73, 0x70, 0x8A, 0xEF, 0x4A, 0x36, 0x23, 0x9E,
209			0x50, 0xCC, 0x08, 0x23, 0x5C, 0xD5, 0xED, 0x6B,
210			0xBE, 0x57, 0x86, 0x68, 0xA1, 0x7B, 0x58, 0xC1,
211			0x17, 0x1D, 0x0B, 0x90, 0xE8, 0x13, 0xA9, 0xE4,
212			0xF5, 0x8A, 0x89, 0xD7, 0x19, 0xB1, 0x10, 0x42,
213			0xD6, 0x36, 0x0B, 0x1B, 0x0F, 0x52, 0xDE, 0xB7,
214			0x30, 0xA5, 0x8D, 0x58, 0xFA, 0xF4, 0x63, 0x15,
215			0x95, 0x4B, 0x0A, 0x87, 0x26, 0x91, 0x47, 0x59,
216			0x77, 0xDC, 0x88, 0xC0, 0xD7, 0x33, 0xFE, 0xFF,
217			0x54, 0x60, 0x0A, 0x0C, 0xC1, 0xD0, 0x30, 0x0A,
218			0xAA, 0xEB, 0x94, 0x57, 0x2C, 0x6E, 0x95, 0xB0,
219			0x1A, 0xE9, 0x0D, 0xE0, 0x4F, 0x1D, 0xCE, 0x47,
220			0xF8, 0x7E, 0x8F, 0xA7, 0xBE, 0xBF, 0x77, 0xE1,
221			0xDB, 0xC2, 0x0D, 0x6B, 0xA8, 0x5C, 0xB9, 0x14,
222			0x3D, 0x51, 0x8B, 0x28, 0x5D, 0xFA, 0x04, 0xB6,
223			0x98, 0xBF, 0x0C, 0xF7, 0x81, 0x9F, 0x20, 0xFA,
224			0x7A, 0x28, 0x8E, 0xB0, 0x70, 0x3D, 0x99, 0x5C,
225			0x59, 0x94, 0x0C, 0x7C, 0x66, 0xDE, 0x57, 0xA9,
226			0xB7, 0x0F, 0x82, 0x37, 0x9B, 0x70, 0xE2, 0x03,
227			0x1E, 0x45, 0x0F, 0xCF, 0xD2, 0x18, 0x13, 0x26,
228			0xFC, 0xD2, 0x8D, 0x88, 0x23, 0xBA, 0xAA, 0x80,
229			0xDF, 0x6E, 0x0F, 0x44, 0x35, 0x59, 0x64, 0x75,
230			0x39, 0xFD, 0x89, 0x07, 0xC0, 0xFF, 0xD9, 0xD7,
231			0x9C, 0x13, 0x0E, 0xD8, 0x1C, 0x9A, 0xFD, 0x9B,
232			0x7E, 0x84, 0x8C, 0x9F, 0xED, 0x38, 0x44, 0x3D,
233			0x5D, 0x38, 0x0E, 0x53, 0xFB, 0xDB, 0x8A, 0xC8,
234			0xC3, 0xD3, 0xF0, 0x68, 0x76, 0x05, 0x4F, 0x12,
235			0x24, 0x61, 0x10, 0x7D, 0xE9, 0x2F, 0xEA, 0x09,
236			0xC6, 0xF6, 0x92, 0x3A, 0x18, 0x8D, 0x53, 0xAF,
237			0xE5, 0x4A, 0x10, 0xF6, 0x0E, 0x6E, 0x9D, 0x5A,
238			0x03, 0xD9, 0x96, 0xB5, 0xFB, 0xC8, 0x20, 0xF8,
239			0xA6, 0x37, 0x11, 0x6A, 0x27, 0xAD, 0x04, 0xB4,
240			0x44, 0xA0, 0x93, 0x2D, 0xD6, 0x0F, 0xBD, 0x12,
241			0x67, 0x1C, 0x11, 0xE1, 0xC0, 0xEC, 0x73, 0xE7,
242			0x89, 0x87, 0x9F, 0xAA, 0x3D, 0x42, 0xC6, 0x4D,
243			0x20, 0xCD, 0x12, 0x52, 0x74, 0x2A, 0x37, 0x68,
244			0xC2, 0x5A, 0x90, 0x15, 0x85, 0x88, 0x8E, 0xCE,
245			0xE1, 0xE6, 0x12, 0xD9, 0x93, 0x6B, 0x40, 0x3B,
246			0x07, 0x75, 0x94, 0x9A, 0x66, 0xCD, 0xFD, 0x99,
247			0xA2, 0x9B, 0x13, 0x45, 0xBA, 0xA8, 0xD9, 0xD5,
248			0x40, 0x0C, 0x91, 0x02, 0x4B, 0x0A, 0x60, 0x73,
249			0x63, 0xB0, 0x13, 0xCE, 0x5D, 0xE9, 0xAE, 0x86,
250			0x9D, 0x3B, 0x8D, 0x95, 0xB0, 0x57, 0x0B, 0x3C,
251			0x2D, 0x39, 0x14, 0x22, 0xD3, 0x24, 0x50, 0xCB,
252			0xCF, 0xAE, 0x96, 0x65, 0x22, 0x86, 0xE9, 0x6D,
253			0xEC, 0x12, 0x14, 0xA9, 0x34, 0x65, 0x27, 0x98,
254			0x0A, 0x81, 0x92, 0xEA, 0xC1, 0xC3, 0x9A, 0x3A,
255			0xAF, 0x6F, 0x15, 0x35, 0x1D, 0xA6, 0xBE, 0x76,
256			0x4D, 0xF8, 0x97, 0x72, 0xEC, 0x04, 0x07, 0xD0,
257			0x6E, 0x44, 0x15, 0xBE, 0xFA, 0xE7, 0xC9, 0x25,
258			0x80, 0xDF, 0x9B, 0xF5, 0x07, 0x49, 0x7C, 0x8F,
259			0x29, 0x95, 0x16, 0x0D, 0x4E, 0x21, 0x8D, 0xAA,
260			0xCB, 0x02, 0x94, 0x4A, 0xBF, 0x83, 0x34, 0x0C,
261			0xE8, 0xBE, 0x16, 0x86, 0xA9, 0x60, 0xFA, 0xF9,
262			0x0E, 0x2D, 0x90, 0xC5, 0x5C, 0xC6, 0x47, 0x5B,
263			0xAB, 0xC3, 0x17, 0x1A, 0x80, 0xA3, 0x63, 0x17,
264			0x49, 0x54, 0x95, 0x5D, 0x71, 0x01, 0xDA, 0xB1,
265			0x6A, 0xE8, 0x17, 0x91, 0x67, 0xE2, 0x14, 0x44,
266			0xB4, 0x43, 0xA9, 0xEA, 0xAA, 0x7C, 0x91, 0xDE,
267			0x36, 0xD1, 0x18, 0xC3, 0x9D, 0x38, 0x9F, 0x8D,
268			0xD4, 0x46, 0x9A, 0x84, 0x6C, 0x9A, 0x26, 0x2B,
269			0xF7, 0xFA, 0x18, 0x48, 0x7A, 0x79, 0xE8, 0xDE,
270			0x11, 0x69, 0x9E, 0x0B, 0x8F, 0xDF, 0x55, 0x7C,
271			0xB4, 0x87, 0x19, 0xD4, 0x53, 0xBA, 0x71, 0x30,
272			0x56, 0x10, 0x9B, 0x93, 0xA2, 0x18, 0xC8, 0x96,
273			0x75, 0xAC, 0x19, 0x5F, 0xB4, 0xFB, 0x06, 0x63,
274			0x9B, 0x37, 0x97, 0x14, 0x49, 0x55, 0xB3, 0xC9,
275			0x32, 0x7D, 0x1A, 0xEC, 0x00, 0x3D, 0x42, 0xEC,
276			0xD0, 0xEA, 0x98, 0xAB, 0xF1, 0x9F, 0xFB, 0x4A,
277			0xF3, 0x56, 0x1A, 0x67, 0xE7, 0x7C, 0x35, 0xBF,
278			0x15, 0xC5, 0x9C, 0x24, 0x12, 0xDA, 0x88, 0x1D,
279			0xB0, 0x2B, 0x1B, 0xFB, 0xCE, 0xBF, 0xAC, 0x51,
280			0x52, 0xBC, 0x99, 0xBC, 0x3F, 0x1D, 0x15, 0xF7,
281			0x71, 0x00, 0x1B, 0x70, 0x29, 0xFE, 0xDB, 0x02,
282			0x8F, 0x8B, 0x85, 0x2B, 0xC4, 0x40, 0x7E, 0xB8,
283			0x3F, 0x89, 0x1C, 0x9C, 0xA7, 0x33, 0x25, 0x4F,
284			0xDD, 0x1E, 0x9E, 0xDB, 0x56, 0x91, 0x9C, 0xE9,
285			0xFE, 0xA2, 0x1C, 0x17, 0x40, 0x72, 0x52, 0x1C,
286			0x18, 0x31, 0x9A, 0x54, 0xB5, 0xD4, 0xEF, 0xBE,
287			0xBD, 0xDF, 0x1D, 0x8B, 0x69, 0xB1, 0xCB, 0xF2,
288			0x5F, 0x48, 0x9F, 0xCC, 0x98, 0x13, 0x72, 0x54,
289			0x7C, 0xF4, 0x1D, 0x00, 0x8E, 0xF0, 0xBC, 0xA1,
290			0x92, 0x6F, 0x93, 0x4B, 0x73, 0x5E, 0x09, 0x0B,
291			0x3B, 0x25, 0x1E, 0xB3, 0x3A, 0x36, 0xF8, 0x2E,
292			0xD9, 0xB2, 0x9C, 0xF4, 0xCB, 0x94, 0x41, 0x88,
293			0xFA, 0x0E, 0x1E, 0x38, 0xDD, 0x77, 0x8F, 0x7D,
294			0x1C, 0x9D, 0x98, 0x7B, 0x28, 0xD1, 0x32, 0xDF,
295			0xB9, 0x73, 0x1F, 0xA4, 0xF4, 0xB4, 0x16, 0x93,
296			0x5B, 0xE4, 0x9D, 0xE3, 0x05, 0x16, 0xAF, 0x35,
297			0x78, 0x58, 0x1F, 0x2F, 0x13, 0xF5, 0x61, 0xC0,
298			0x66, 0x33, 0x61, 0x94, 0x1E, 0xAB, 0x24, 0x9A,
299			0x4B, 0xC1, 0x23, 0xF8, 0xD1, 0x5C, 0xD7, 0x11,
300			0xA9, 0x56, 0xA1, 0xBF, 0x20, 0xFE, 0x6E, 0xB7,
301			0x8A, 0xEA, 0x23, 0x73, 0x36, 0x1D, 0xA0, 0x42,
302			0x6C, 0x79, 0xA5, 0x30, 0xC3, 0xBB, 0x1D, 0xE0,
303			0xC9, 0x97, 0x22, 0xEF, 0x1F, 0xDE, 0x39, 0xAC,
304			0x2B, 0x00, 0xA0, 0xA8, 0xEE, 0x7C, 0x80, 0x0A,
305			0x08, 0xBC, 0x22, 0x64, 0xF8, 0x9F, 0x4E, 0xFF,
306			0xE6, 0x27, 0xAC, 0x2F, 0x05, 0x31, 0xFB, 0x55,
307			0x4F, 0x6D, 0x21, 0xD7, 0x4C, 0x59, 0x0A, 0x70,
308			0xAD, 0xFA, 0xA3, 0x90, 0xBD, 0xFB, 0xB3, 0xD6,
309			0x8E, 0x46, 0x21, 0x5C, 0xAB, 0x18, 0x7D, 0x23,
310			0x68, 0xD5, 0xA7, 0x1F, 0x5E, 0xBE, 0xC0, 0x81,
311			0xCD, 0x3B, 0x20, 0xC0, 0x82, 0xDB, 0xE4, 0xCD,
312			0x2F, 0xAC, 0xA2, 0x87, 0x73, 0x79, 0x5D, 0x6B,
313			0x0C, 0x10, 0x20, 0x4B, 0x65, 0x9A, 0x93, 0x9E,
314			0xF2, 0x9B, 0xBE, 0x10, 0x88, 0x24, 0x36, 0x24,
315			0x42, 0x99, 0x27, 0xA7, 0xEB, 0x57, 0x6D, 0xD3,
316			0xA0, 0x0E, 0xA5, 0xE0, 0x1A, 0xF5, 0xD4, 0x75,
317			0x83, 0xB2, 0x27, 0x2C, 0x0C, 0x16, 0x1A, 0x80,
318			0x65, 0x21, 0xA1, 0x6F, 0xF9, 0xB0, 0xA7, 0x22,
319			0xC0, 0xCF, 0x26, 0xB0, 0x25, 0xD5, 0x83, 0x6E,
320			0x22, 0x58, 0xA4, 0xF7, 0xD4, 0x77, 0x3A, 0xC8,
321			0x01, 0xE4, 0x26, 0x3B, 0xC2, 0x94, 0xF4, 0x3D,
322			0xEF, 0x7F, 0xA8, 0x70, 0x3F, 0x3A, 0x41, 0x97,
323			0x46, 0x35, 0x25, 0x88, 0x76, 0x52, 0xB0, 0xB2,
324			0xA4, 0xA2, 0xA7, 0xCF, 0x87, 0xF0, 0x09, 0x14,
325			0x87, 0x1E, 0x25, 0x03, 0x91, 0x13, 0xC7, 0xE1,
326			0x61, 0x8D, 0xA3, 0x40, 0x64, 0xB5, 0x7A, 0x43,
327			0xC4, 0x63, 0x24, 0x9F, 0xB8, 0xD0, 0x5E, 0x0F,
328			0x26, 0xF4, 0xA6, 0xD8, 0x49, 0x72, 0xE7, 0xA9,
329			0x05, 0x48, 0x24, 0x14, 0x5F, 0x91, 0x29, 0x5C,
330			0xDB, 0xE3, 0x9A, 0x6F, 0x92, 0x0F, 0xAC, 0xC6,
331			0x59, 0x71, 0x2B, 0x46, 0xA5, 0x4B, 0xA2, 0x95,
332			0xBB, 0xE6, 0xA9, 0x01, 0x54, 0xE9, 0x1B, 0x33,
333			0x98, 0x5A, 0x2B, 0xCD, 0x42, 0x0A, 0xD5, 0xC6,
334			0x7E, 0xC9, 0xAD, 0x8E, 0xB7, 0xAC, 0x68, 0x64,
335			0xDB, 0x27, 0x2A, 0x51, 0x6B, 0xC9, 0x4C, 0x28,
336			0x39, 0xB0, 0xA8, 0x16, 0x9A, 0x6B, 0xF5, 0x8E,
337			0x1A, 0x0C, 0x2A, 0xDA, 0x8C, 0x88, 0x3B, 0x7B,
338			0xF4, 0x97, 0xA4, 0x91, 0x71, 0x26, 0x8E, 0xD1,
339			0x5D, 0xDD, 0x29, 0x69, 0x38, 0x4E, 0x7F, 0xF4,
340			0xBF, 0x4A, 0xAB, 0x2E, 0xC9, 0xEC, 0xC6, 0x52,
341			0x9C, 0xF6, 0x29, 0xE2, 0xDF, 0x0F, 0x08, 0xA7,
342			0x7A, 0x65, 0xAF, 0xA1, 0x2A, 0xA9, 0xB5, 0x05,
343			0xDF, 0x8B, 0x28, 0x7E, 0xF6, 0xCC, 0x91, 0x49,
344			0x3D, 0x1C, 0xAA, 0x39, 0x07, 0x6E, 0x28, 0xEF,
345			0x1E, 0xA0, 0x28, 0xF5, 0x11, 0x8D, 0xE6, 0x1A,
346			0xE0, 0x2B, 0xB6, 0xAE, 0xFC, 0x33, 0x43, 0xA0,
347			0x50, 0x29, 0x2F, 0x19, 0x9F, 0x40, 0x18, 0x57,
348			0xB2, 0xBE, 0xAD, 0x5E, 0x6E, 0xE2, 0xA1, 0xF1,
349			0x91, 0x02, 0x2F, 0x92, 0x78, 0x01, 0x6F, 0x04,
350			0x77, 0x91, 0xA9, 0xD1, 0x8D, 0xA7, 0xD2, 0xA6,
351			0xD2, 0x7F, 0x2E, 0x0E, 0x51, 0xC2, 0xF6, 0xEA,
352			0x30, 0xE8, 0xAC, 0x49, 0xA0, 0x60, 0x4F, 0x4C,
353			0x13, 0x54, 0x2E, 0x85, 0xB6, 0x83, 0x81, 0xB9,
354			0xFD, 0xCF, 0xA0, 0xCE, 0x4B, 0x2D, 0x34, 0x13,
355			0x54, 0x85, 0x2D, 0x36, 0x02, 0x45, 0xC5, 0x36,
356			0xB6, 0x12, 0xAF, 0x71, 0xF3, 0xE7, 0x7C, 0x90,
357			0x95, 0xAE, 0x2D, 0xBD, 0xE5, 0x04, 0xB2, 0x65,
358			0x73, 0x3D, 0xAB, 0xFE, 0x10, 0xA2, 0x0F, 0xC7,
359			0xD6, 0xD3, 0x2C, 0x21, 0xCC, 0xC7, 0x2B, 0x8B,
360			0x34, 0x44, 0xAE, 0x66, 0x3D, 0x65, 0x92, 0x2D,
361			0x17, 0xF8, 0x2C, 0xAA, 0x2B, 0x86, 0x5C, 0xD8,
362			0x89, 0x13, 0xD2, 0x91, 0xA6, 0x58, 0x99, 0x02,
363			0x6E, 0xA1, 0x32, 0x84, 0x39, 0x72, 0x3C, 0x19,
364			0x8C, 0x36, 0xB0, 0xC3, 0xC8, 0xD0, 0x85, 0xBF,
365			0xAF, 0x8A, 0x32, 0x0F, 0xDE, 0x33, 0x4B, 0x4A,
366			0x49, 0x19, 0xB4, 0x4C, 0x2B, 0x95, 0xF6, 0xE8,
367			0xEC, 0xF7, 0x33, 0x93, 0xF7, 0xF0, 0xD2, 0xA4,
368			0x0E, 0x60, 0xB1, 0xD4, 0x06, 0x52, 0x6B, 0x02,
369			0x2D, 0xDC, 0x33, 0x18, 0x10, 0xB1, 0xA5, 0xF7,
370			0xC3, 0x47, 0xBD, 0x53, 0xED, 0x1F, 0x10, 0x5D,
371			0x6A, 0x0D, 0x30, 0xAB, 0xA4, 0x77, 0xE1, 0x78,
372			0x88, 0x9A, 0xB2, 0xEC, 0x55, 0xD5, 0x58, 0xDE,
373			0xAB, 0x26, 0x30, 0x20, 0x43, 0x36, 0x96, 0x2B,
374			0x4D, 0xB5, 0xB6, 0x63, 0xB6, 0x90, 0x2B, 0x89,
375			0xE8, 0x5B, 0x31, 0xBC, 0x6A, 0xF5, 0x0F, 0xC5,
376			0x0A, 0xCC, 0xB3, 0xFB, 0x9B, 0x57, 0xB6, 0x63,
377			0x29, 0x70, 0x31, 0x37, 0x8D, 0xB4, 0x78, 0x96,
378			0xD7, 0xFB, 0xAF, 0x6C, 0x60, 0x0A, 0xDD, 0x2C,
379			0x67, 0xF9, 0x36, 0xDB, 0x03, 0x79, 0x86, 0xDB,
380			0x85, 0x6E, 0xB4, 0x9C, 0xF2, 0xDB, 0x3F, 0x7D,
381			0xA6, 0xD2, 0x36, 0x50, 0xE4, 0x38, 0xF1, 0x88,
382			0x40, 0x41, 0xB0, 0x13, 0x11, 0x9E, 0x4C, 0x2A,
383			0xE5, 0xAF, 0x37, 0xCC, 0xCD, 0xFB, 0x68, 0x66,
384			0x07, 0x38, 0xB5, 0x8B, 0x3C, 0x59, 0xD1, 0xC0,
385			0x24, 0x84, 0x37, 0x47, 0x2A, 0xBA, 0x1F, 0x35,
386			0xCA, 0x1F, 0xB9, 0x0C, 0xD7, 0x14, 0xAA, 0x9F,
387			0x63, 0x55, 0x34, 0xF4, 0x9E, 0x7C, 0x5B, 0xBA,
388			0x81, 0xC2, 0xB6, 0xB3, 0x6F, 0xDE, 0xE2, 0x1C,
389			0xA2, 0x7E, 0x34, 0x7F, 0x79, 0x3D, 0x2C, 0xE9,
390			0x44, 0xED, 0xB2, 0x3C, 0x8C, 0x9B, 0x91, 0x4B,
391			0xE1, 0x03, 0x35, 0xE3, 0x50, 0xFE, 0xB5, 0x07,
392			0x03, 0x94, 0xB7, 0xA4, 0xA1, 0x5C, 0x0C, 0xA1,
393			0x20, 0x28, 0x35, 0x68, 0xB7, 0xBF, 0xC2, 0x54,
394			0xFE, 0x83, 0x8B, 0x13, 0x7A, 0x21, 0x47, 0xCE,
395			0x7C, 0x11, 0x3A, 0x3A, 0x4D, 0x65, 0x49, 0x9D,
396			0x9E, 0x86, 0xB8, 0x7D, 0xBC, 0xC7, 0xF0, 0x3B,
397			0xBD, 0x3A, 0x3A, 0xB1, 0xAA, 0x24, 0x3E, 0xCE,
398			0x5B, 0xA9, 0xBC, 0xF2, 0x5F, 0x82, 0x83, 0x6C,
399			0xFE, 0x47, 0x3B, 0x2D, 0x83, 0xE7, 0xA7, 0x20,
400			0x1C, 0xD0, 0xB9, 0x6A, 0x72, 0x45, 0x1E, 0x86,
401			0x3F, 0x6C, 0x3B, 0xA6, 0x64, 0xA6, 0xD0, 0x73,
402			0xD1, 0xF7, 0xB5, 0xED, 0x99, 0x08, 0x65, 0xD9,
403			0x78, 0xBD, 0x38, 0x15, 0xD0, 0x60, 0x94, 0xFC,
404			0x9A, 0x2A, 0xBA, 0x52, 0x21, 0xC2, 0x2D, 0x5A,
405			0xB9, 0x96, 0x38, 0x9E, 0x37, 0x21, 0xE3, 0xAF,
406			0x5F, 0x05, 0xBE, 0xDD, 0xC2, 0x87, 0x5E, 0x0D,
407			0xFA, 0xEB, 0x39, 0x02, 0x1E, 0xE2, 0x7A, 0x41,
408			0x18, 0x7C, 0xBB, 0x45, 0xEF, 0x40, 0xC3, 0xE7,
409			0x3B, 0xC0, 0x39, 0x89, 0xF9, 0xA3, 0x0D, 0x12,
410			0xC5, 0x4B, 0xA7, 0xD2, 0x14, 0x1D, 0xA8, 0xA8,
411			0x75, 0x49, 0x3E, 0x65, 0x77, 0x6E, 0xF3, 0x5F,
412			0x97, 0xDE, 0xBC, 0x22, 0x86, 0xCC, 0x4A, 0xF9,
413			0xB4, 0x62, 0x3E, 0xEE, 0x90, 0x2F, 0x84, 0x0C,
414			0x52, 0xF1, 0xB8, 0xAD, 0x65, 0x89, 0x39, 0xAE,
415			0xF7, 0x1F, 0x3F, 0x72, 0xB9, 0xEC, 0x1D, 0xE2,
416			0x15, 0x88, 0xBD, 0x35, 0x48, 0x4E, 0xA4, 0x44,
417			0x36, 0x34, 0x3F, 0xF9, 0x5E, 0xAD, 0x6A, 0xB1,
418			0xD8, 0xAF, 0xB1, 0xB2, 0xA3, 0x03, 0xDF, 0x1B,
419			0x71, 0xE5, 0x3C, 0x4A, 0xEA, 0x6B, 0x2E, 0x3E,
420			0x93, 0x72, 0xBE, 0x0D, 0x1B, 0xC9, 0x97, 0x98,
421			0xB0, 0xCE, 0x3C, 0xC1, 0x0D, 0x2A, 0x59, 0x6D,
422			0x56, 0x5D, 0xBA, 0x82, 0xF8, 0x8C, 0xE4, 0xCF,
423			0xF3, 0xB3, 0x3D, 0x5D, 0x24, 0xE9, 0xC0, 0x83,
424			0x11, 0x24, 0xBF, 0x1A, 0xD5, 0x4B, 0x79, 0x25,
425			0x32, 0x98, 0x3D, 0xD6, 0xC3, 0xA8, 0xB7, 0xD0
426		},
427	.len = 16448
428	},
429	.validAuthLenInBits = {
430		.len = 16448
431	},
432	.validAuthOffsetLenInBits = {
433		.len = 128
434	},
435	.digest = {
436		.data = {0x17, 0x9F, 0x2F, 0xA6},
437		.len  = 4
438	}
439};
440
441struct snow3g_hash_test_data snow3g_hash_test_case_4 = {
442	.key = {
443		.data = {
444			0x2B, 0xD6, 0x45, 0x9F, 0x82, 0xC5, 0xB3, 0x00,
445			0x95, 0x2C, 0x49, 0x10, 0x48, 0x81, 0xFF, 0x48
446		},
447	.len = 16
448	},
449	.aad = {
450		.data = {
451			0x38, 0xA6, 0xF0, 0x56, 0x05, 0xD2, 0xEC, 0x49,
452			0x38, 0xA6, 0xF0, 0x56, 0x05, 0xD2, 0xEC, 0x49,
453		},
454		.len = 16
455	},
456	.plaintext = {
457		.data = {
458			0x6B, 0x22, 0x77, 0x37, 0x29, 0x6F, 0x39, 0x3C,
459			0x80, 0x79, 0x35, 0x3E, 0xDC, 0x87, 0xE2, 0xE8,
460			0x05, 0xD2, 0xEC, 0x49, 0xA4, 0xF2, 0xD8, 0xE0
461		},
462		.len = 189
463	},
464	.validAuthLenInBits = {
465		.len = 189
466		},
467	.validAuthOffsetLenInBits = {
468		.len = 128
469	},
470	.digest = {
471		.data = {0x2B, 0xCE, 0x18, 0x20},
472		.len  = 4
473	}
474};
475
476struct snow3g_hash_test_data snow3g_hash_test_case_5 = {
477	.key = {
478		.data = {
479			0xD4, 0x2F, 0x68, 0x24, 0x28, 0x20, 0x1C, 0xAF,
480			0xCD, 0x9F, 0x97, 0x94, 0x5E, 0x6D, 0xE7, 0xB7
481		},
482		.len = 16
483	},
484	.aad = {
485		.data = {
486			0x3E, 0xDC, 0x87, 0xE2, 0xA4, 0xF2, 0xD8, 0xE2,
487			0xBE, 0xDC, 0x87, 0xE2, 0xA4, 0xF2, 0x58, 0xE2
488		},
489		.len = 16
490	},
491	.plaintext = {
492		.data = {
493			0xB5, 0x92, 0x43, 0x84, 0x32, 0x8A, 0x4A, 0xE0,
494			0x0B, 0x73, 0x71, 0x09, 0xF8, 0xB6, 0xC8, 0xDD,
495			0x2B, 0x4D, 0xB6, 0x3D, 0xD5, 0x33, 0x98, 0x1C,
496			0xEB, 0x19, 0xAA, 0xD5, 0x2A, 0x5B, 0x2B, 0xC0
497		},
498		.len = 254
499	},
500	.validAuthLenInBits = {
501		.len = 254
502		},
503	.validAuthOffsetLenInBits = {
504		.len = 128
505	},
506	.digest = {
507		.data = {0xFC, 0x7B, 0x18, 0xBD},
508		.len  = 4
509	}
510};
511
512struct snow3g_hash_test_data snow3g_hash_test_case_6 = {
513	.key = {
514		.data = {
515			0xFD, 0xB9, 0xCF, 0xDF, 0x28, 0x93, 0x6C, 0xC4,
516			0x83, 0xA3, 0x18, 0x69, 0xD8, 0x1B, 0x8F, 0xAB
517		},
518		.len = 16
519	},
520	.aad = {
521		.data = {
522			0x36, 0xAF, 0x61, 0x44, 0x98, 0x38, 0xF0, 0x3A,
523			0xB6, 0xAF, 0x61, 0x44, 0x98, 0x38, 0x70, 0x3A
524		},
525		.len = 16
526	},
527	.plaintext = {
528		.data = {
529			0x59, 0x32, 0xBC, 0x0A, 0xCE, 0x2B, 0x0A, 0xBA,
530			0x33, 0xD8, 0xAC, 0x18, 0x8A, 0xC5, 0x4F, 0x34,
531			0x6F, 0xAD, 0x10, 0xBF, 0x9D, 0xEE, 0x29, 0x20,
532			0xB4, 0x3B, 0xD0, 0xC5, 0x3A, 0x91, 0x5C, 0xB7,
533			0xDF, 0x6C, 0xAA, 0x72, 0x05, 0x3A, 0xBF, 0xF2
534		},
535		.len = 319
536	},
537	.validAuthLenInBits = {
538		.len = 319
539		},
540	.validAuthOffsetLenInBits = {
541		.len = 128
542	},
543	.digest = {
544		.data = {0x02, 0xF1, 0xFA, 0xAF},
545		.len  = 4
546	}
547};
548#endif /* TEST_CRYPTODEV_SNOW3G_HASH_TEST_VECTORS_H_ */
549