1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2016-2017 Intel Corporation
3  */
4 
5 #ifndef TEST_CRYPTODEV_ZUC_TEST_VECTORS_H_
6 #define TEST_CRYPTODEV_ZUC_TEST_VECTORS_H_
7 
8 struct wireless_test_data {
9 	struct {
10 		uint8_t data[64];
11 		unsigned len;
12 	} key;
13 
14 	struct {
15 		uint8_t data[64] __rte_aligned(16);
16 		unsigned len;
17 	} cipher_iv;
18 
19 	struct {
20 		uint8_t data[2048];
21 		unsigned len; /* length must be in Bits */
22 	} plaintext;
23 
24 	struct {
25 		uint8_t data[2048];
26 		unsigned len; /* length must be in Bits */
27 	} ciphertext;
28 
29 	struct {
30 		unsigned len;
31 	} validDataLenInBits;
32 
33 	struct {
34 		unsigned len;
35 	} validCipherLenInBits;
36 
37 	struct {
38 		unsigned int len;
39 	} validCipherOffsetInBits;
40 
41 
42 	struct {
43 		unsigned len;
44 	} validAuthLenInBits;
45 
46 	struct {
47 		uint8_t data[64];
48 		unsigned len;
49 	} auth_iv;
50 
51 	struct {
52 		uint8_t data[64];
53 		unsigned len;
54 		unsigned int offset_bytes; /* offset must be in Bytes */
55 	} digest;
56 };
57 static struct wireless_test_data zuc_test_case_cipher_193b = {
58 	.key = {
59 		.data = {
60 			0x17, 0x3D, 0x14, 0xBA, 0x50, 0x03, 0x73, 0x1D,
61 			0x7A, 0x60, 0x04, 0x94, 0x70, 0xF0, 0x0A, 0x29
62 		},
63 		.len = 16
64 	},
65 	.cipher_iv = {
66 		.data = {
67 			0x66, 0x03, 0x54, 0x92, 0x78, 0x00, 0x00, 0x00,
68 			0x66, 0x03, 0x54, 0x92, 0x78, 0x00, 0x00, 0x00
69 		},
70 		.len = 16
71 	},
72 	.plaintext = {
73 		.data = {
74 			0x6C, 0xF6, 0x53, 0x40, 0x73, 0x55, 0x52, 0xAB,
75 			0x0C, 0x97, 0x52, 0xFA, 0x6F, 0x90, 0x25, 0xFE,
76 			0x0B, 0xD6, 0x75, 0xD9, 0x00, 0x58, 0x75, 0xB2,
77 			0x00
78 		},
79 		.len = 200
80 	},
81 	.ciphertext = {
82 		.data = {
83 			0xA6, 0xC8, 0x5F, 0xC6, 0x6A, 0xFB, 0x85, 0x33,
84 			0xAA, 0xFC, 0x25, 0x18, 0xDF, 0xE7, 0x84, 0x94,
85 			0x0E, 0xE1, 0xE4, 0xB0, 0x30, 0x23, 0x8C, 0xC8,
86 			0x00
87 		},
88 		.len = 200
89 	},
90 	.validDataLenInBits = {
91 		.len = 193
92 	},
93 	.validCipherLenInBits = {
94 		.len = 193
95 	}
96 };
97 
98 static struct wireless_test_data zuc_test_case_cipher_800b = {
99 	.key = {
100 		.data = {
101 			0xE5, 0xBD, 0x3E, 0xA0, 0xEB, 0x55, 0xAD, 0xE8,
102 			0x66, 0xC6, 0xAC, 0x58, 0xBD, 0x54, 0x30, 0x2A
103 		},
104 		.len = 16
105 	},
106 	.cipher_iv = {
107 		.data = {
108 			0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00,
109 			0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00
110 		},
111 		.len = 16
112 	},
113 	.plaintext = {
114 		.data = {
115 			0x14, 0xA8, 0xEF, 0x69, 0x3D, 0x67, 0x85, 0x07,
116 			0xBB, 0xE7, 0x27, 0x0A, 0x7F, 0x67, 0xFF, 0x50,
117 			0x06, 0xC3, 0x52, 0x5B, 0x98, 0x07, 0xE4, 0x67,
118 			0xC4, 0xE5, 0x60, 0x00, 0xBA, 0x33, 0x8F, 0x5D,
119 			0x42, 0x95, 0x59, 0x03, 0x67, 0x51, 0x82, 0x22,
120 			0x46, 0xC8, 0x0D, 0x3B, 0x38, 0xF0, 0x7F, 0x4B,
121 			0xE2, 0xD8, 0xFF, 0x58, 0x05, 0xF5, 0x13, 0x22,
122 			0x29, 0xBD, 0xE9, 0x3B, 0xBB, 0xDC, 0xAF, 0x38,
123 			0x2B, 0xF1, 0xEE, 0x97, 0x2F, 0xBF, 0x99, 0x77,
124 			0xBA, 0xDA, 0x89, 0x45, 0x84, 0x7A, 0x2A, 0x6C,
125 			0x9A, 0xD3, 0x4A, 0x66, 0x75, 0x54, 0xE0, 0x4D,
126 			0x1F, 0x7F, 0xA2, 0xC3, 0x32, 0x41, 0xBD, 0x8F,
127 			0x01, 0xBA, 0x22, 0x0D
128 		},
129 		.len = 800
130 	},
131 	.ciphertext = {
132 		.data = {
133 			0x13, 0x1D, 0x43, 0xE0, 0xDE, 0xA1, 0xBE, 0x5C,
134 			0x5A, 0x1B, 0xFD, 0x97, 0x1D, 0x85, 0x2C, 0xBF,
135 			0x71, 0x2D, 0x7B, 0x4F, 0x57, 0x96, 0x1F, 0xEA,
136 			0x32, 0x08, 0xAF, 0xA8, 0xBC, 0xA4, 0x33, 0xF4,
137 			0x56, 0xAD, 0x09, 0xC7, 0x41, 0x7E, 0x58, 0xBC,
138 			0x69, 0xCF, 0x88, 0x66, 0xD1, 0x35, 0x3F, 0x74,
139 			0x86, 0x5E, 0x80, 0x78, 0x1D, 0x20, 0x2D, 0xFB,
140 			0x3E, 0xCF, 0xF7, 0xFC, 0xBC, 0x3B, 0x19, 0x0F,
141 			0xE8, 0x2A, 0x20, 0x4E, 0xD0, 0xE3, 0x50, 0xFC,
142 			0x0F, 0x6F, 0x26, 0x13, 0xB2, 0xF2, 0xBC, 0xA6,
143 			0xDF, 0x5A, 0x47, 0x3A, 0x57, 0xA4, 0xA0, 0x0D,
144 			0x98, 0x5E, 0xBA, 0xD8, 0x80, 0xD6, 0xF2, 0x38,
145 			0x64, 0xA0, 0x7B, 0x01
146 		},
147 		.len = 800
148 	},
149 	.validDataLenInBits = {
150 		.len = 800
151 	},
152 	.validCipherLenInBits = {
153 		.len = 800
154 	}
155 };
156 
157 static struct wireless_test_data zuc_test_case_cipher_1570b = {
158 	.key = {
159 		.data = {
160 			0xD4, 0x55, 0x2A, 0x8F, 0xD6, 0xE6, 0x1C, 0xC8,
161 			0x1A, 0x20, 0x09, 0x14, 0x1A, 0x29, 0xC1, 0x0B
162 		},
163 		.len = 16
164 	},
165 	.cipher_iv = {
166 		.data = {
167 			0x76, 0x45, 0x2E, 0xC1, 0x14, 0x00, 0x00, 0x00,
168 			0x76, 0x45, 0x2E, 0xC1, 0x14, 0x00, 0x00, 0x00
169 		},
170 		.len = 16
171 	},
172 	.plaintext = {
173 		.data = {
174 			0x38, 0xF0, 0x7F, 0x4B, 0xE2, 0xD8, 0xFF, 0x58,
175 			0x05, 0xF5, 0x13, 0x22, 0x29, 0xBD, 0xE9, 0x3B,
176 			0xBB, 0xDC, 0xAF, 0x38, 0x2B, 0xF1, 0xEE, 0x97,
177 			0x2F, 0xBF, 0x99, 0x77, 0xBA, 0xDA, 0x89, 0x45,
178 			0x84, 0x7A, 0x2A, 0x6C, 0x9A, 0xD3, 0x4A, 0x66,
179 			0x75, 0x54, 0xE0, 0x4D, 0x1F, 0x7F, 0xA2, 0xC3,
180 			0x32, 0x41, 0xBD, 0x8F, 0x01, 0xBA, 0x22, 0x0D,
181 			0x3C, 0xA4, 0xEC, 0x41, 0xE0, 0x74, 0x59, 0x5F,
182 			0x54, 0xAE, 0x2B, 0x45, 0x4F, 0xD9, 0x71, 0x43,
183 			0x20, 0x43, 0x60, 0x19, 0x65, 0xCC, 0xA8, 0x5C,
184 			0x24, 0x17, 0xED, 0x6C, 0xBE, 0xC3, 0xBA, 0xDA,
185 			0x84, 0xFC, 0x8A, 0x57, 0x9A, 0xEA, 0x78, 0x37,
186 			0xB0, 0x27, 0x11, 0x77, 0x24, 0x2A, 0x64, 0xDC,
187 			0x0A, 0x9D, 0xE7, 0x1A, 0x8E, 0xDE, 0xE8, 0x6C,
188 			0xA3, 0xD4, 0x7D, 0x03, 0x3D, 0x6B, 0xF5, 0x39,
189 			0x80, 0x4E, 0xCA, 0x86, 0xC5, 0x84, 0xA9, 0x05,
190 			0x2D, 0xE4, 0x6A, 0xD3, 0xFC, 0xED, 0x65, 0x54,
191 			0x3B, 0xD9, 0x02, 0x07, 0x37, 0x2B, 0x27, 0xAF,
192 			0xB7, 0x92, 0x34, 0xF5, 0xFF, 0x43, 0xEA, 0x87,
193 			0x08, 0x20, 0xE2, 0xC2, 0xB7, 0x8A, 0x8A, 0xAE,
194 			0x61, 0xCC, 0xE5, 0x2A, 0x05, 0x15, 0xE3, 0x48,
195 			0xD1, 0x96, 0x66, 0x4A, 0x34, 0x56, 0xB1, 0x82,
196 			0xA0, 0x7C, 0x40, 0x6E, 0x4A, 0x20, 0x79, 0x12,
197 			0x71, 0xCF, 0xED, 0xA1, 0x65, 0xD5, 0x35, 0xEC,
198 			0x5E, 0xA2, 0xD4, 0xDF, 0x40
199 		},
200 		.len = 1576
201 	},
202 	.ciphertext = {
203 		.data = {
204 			0x83, 0x83, 0xB0, 0x22, 0x9F, 0xCC, 0x0B, 0x9D,
205 			0x22, 0x95, 0xEC, 0x41, 0xC9, 0x77, 0xE9, 0xC2,
206 			0xBB, 0x72, 0xE2, 0x20, 0x37, 0x81, 0x41, 0xF9,
207 			0xC8, 0x31, 0x8F, 0x3A, 0x27, 0x0D, 0xFB, 0xCD,
208 			0xEE, 0x64, 0x11, 0xC2, 0xB3, 0x04, 0x4F, 0x17,
209 			0x6D, 0xC6, 0xE0, 0x0F, 0x89, 0x60, 0xF9, 0x7A,
210 			0xFA, 0xCD, 0x13, 0x1A, 0xD6, 0xA3, 0xB4, 0x9B,
211 			0x16, 0xB7, 0xBA, 0xBC, 0xF2, 0xA5, 0x09, 0xEB,
212 			0xB1, 0x6A, 0x75, 0xDC, 0xAB, 0x14, 0xFF, 0x27,
213 			0x5D, 0xBE, 0xEE, 0xA1, 0xA2, 0xB1, 0x55, 0xF9,
214 			0xD5, 0x2C, 0x26, 0x45, 0x2D, 0x01, 0x87, 0xC3,
215 			0x10, 0xA4, 0xEE, 0x55, 0xBE, 0xAA, 0x78, 0xAB,
216 			0x40, 0x24, 0x61, 0x5B, 0xA9, 0xF5, 0xD5, 0xAD,
217 			0xC7, 0x72, 0x8F, 0x73, 0x56, 0x06, 0x71, 0xF0,
218 			0x13, 0xE5, 0xE5, 0x50, 0x08, 0x5D, 0x32, 0x91,
219 			0xDF, 0x7D, 0x5F, 0xEC, 0xED, 0xDE, 0xD5, 0x59,
220 			0x64, 0x1B, 0x6C, 0x2F, 0x58, 0x52, 0x33, 0xBC,
221 			0x71, 0xE9, 0x60, 0x2B, 0xD2, 0x30, 0x58, 0x55,
222 			0xBB, 0xD2, 0x5F, 0xFA, 0x7F, 0x17, 0xEC, 0xBC,
223 			0x04, 0x2D, 0xAA, 0xE3, 0x8C, 0x1F, 0x57, 0xAD,
224 			0x8E, 0x8E, 0xBD, 0x37, 0x34, 0x6F, 0x71, 0xBE,
225 			0xFD, 0xBB, 0x74, 0x32, 0xE0, 0xE0, 0xBB, 0x2C,
226 			0xFC, 0x09, 0xBC, 0xD9, 0x65, 0x70, 0xCB, 0x0C,
227 			0x0C, 0x39, 0xDF, 0x5E, 0x29, 0x29, 0x4E, 0x82,
228 			0x70, 0x3A, 0x63, 0x7F, 0x80
229 		},
230 		.len = 1576
231 	},
232 	.validDataLenInBits = {
233 		.len = 1570
234 	},
235 	.validCipherLenInBits = {
236 		.len = 1570
237 	}
238 };
239 
240 static struct wireless_test_data zuc_test_case_cipher_2798b = {
241 	.key = {
242 		.data = {
243 			0xDB, 0x84, 0xB4, 0xFB, 0xCC, 0xDA, 0x56, 0x3B,
244 			0x66, 0x22, 0x7B, 0xFE, 0x45, 0x6F, 0x0F, 0x77
245 		},
246 		.len = 16
247 	},
248 	.cipher_iv = {
249 		.data = {
250 			0xE4, 0x85, 0x0F, 0xE1, 0x84, 0x00, 0x00, 0x00,
251 			0xE4, 0x85, 0x0F, 0xE1, 0x84, 0x00, 0x00, 0x00
252 		},
253 		.len = 16
254 	},
255 	.plaintext = {
256 		.data = {
257 			0xE5, 0x39, 0xF3, 0xB8, 0x97, 0x32, 0x40, 0xDA,
258 			0x03, 0xF2, 0xB8, 0xAA, 0x05, 0xEE, 0x0A, 0x00,
259 			0xDB, 0xAF, 0xC0, 0xE1, 0x82, 0x05, 0x5D, 0xFE,
260 			0x3D, 0x73, 0x83, 0xD9, 0x2C, 0xEF, 0x40, 0xE9,
261 			0x29, 0x28, 0x60, 0x5D, 0x52, 0xD0, 0x5F, 0x4F,
262 			0x90, 0x18, 0xA1, 0xF1, 0x89, 0xAE, 0x39, 0x97,
263 			0xCE, 0x19, 0x15, 0x5F, 0xB1, 0x22, 0x1D, 0xB8,
264 			0xBB, 0x09, 0x51, 0xA8, 0x53, 0xAD, 0x85, 0x2C,
265 			0xE1, 0x6C, 0xFF, 0x07, 0x38, 0x2C, 0x93, 0xA1,
266 			0x57, 0xDE, 0x00, 0xDD, 0xB1, 0x25, 0xC7, 0x53,
267 			0x9F, 0xD8, 0x50, 0x45, 0xE4, 0xEE, 0x07, 0xE0,
268 			0xC4, 0x3F, 0x9E, 0x9D, 0x6F, 0x41, 0x4F, 0xC4,
269 			0xD1, 0xC6, 0x29, 0x17, 0x81, 0x3F, 0x74, 0xC0,
270 			0x0F, 0xC8, 0x3F, 0x3E, 0x2E, 0xD7, 0xC4, 0x5B,
271 			0xA5, 0x83, 0x52, 0x64, 0xB4, 0x3E, 0x0B, 0x20,
272 			0xAF, 0xDA, 0x6B, 0x30, 0x53, 0xBF, 0xB6, 0x42,
273 			0x3B, 0x7F, 0xCE, 0x25, 0x47, 0x9F, 0xF5, 0xF1,
274 			0x39, 0xDD, 0x9B, 0x5B, 0x99, 0x55, 0x58, 0xE2,
275 			0xA5, 0x6B, 0xE1, 0x8D, 0xD5, 0x81, 0xCD, 0x01,
276 			0x7C, 0x73, 0x5E, 0x6F, 0x0D, 0x0D, 0x97, 0xC4,
277 			0xDD, 0xC1, 0xD1, 0xDA, 0x70, 0xC6, 0xDB, 0x4A,
278 			0x12, 0xCC, 0x92, 0x77, 0x8E, 0x2F, 0xBB, 0xD6,
279 			0xF3, 0xBA, 0x52, 0xAF, 0x91, 0xC9, 0xC6, 0xB6,
280 			0x4E, 0x8D, 0xA4, 0xF7, 0xA2, 0xC2, 0x66, 0xD0,
281 			0x2D, 0x00, 0x17, 0x53, 0xDF, 0x08, 0x96, 0x03,
282 			0x93, 0xC5, 0xD5, 0x68, 0x88, 0xBF, 0x49, 0xEB,
283 			0x5C, 0x16, 0xD9, 0xA8, 0x04, 0x27, 0xA4, 0x16,
284 			0xBC, 0xB5, 0x97, 0xDF, 0x5B, 0xFE, 0x6F, 0x13,
285 			0x89, 0x0A, 0x07, 0xEE, 0x13, 0x40, 0xE6, 0x47,
286 			0x6B, 0x0D, 0x9A, 0xA8, 0xF8, 0x22, 0xAB, 0x0F,
287 			0xD1, 0xAB, 0x0D, 0x20, 0x4F, 0x40, 0xB7, 0xCE,
288 			0x6F, 0x2E, 0x13, 0x6E, 0xB6, 0x74, 0x85, 0xE5,
289 			0x07, 0x80, 0x4D, 0x50, 0x45, 0x88, 0xAD, 0x37,
290 			0xFF, 0xD8, 0x16, 0x56, 0x8B, 0x2D, 0xC4, 0x03,
291 			0x11, 0xDF, 0xB6, 0x54, 0xCD, 0xEA, 0xD4, 0x7E,
292 			0x23, 0x85, 0xC3, 0x43, 0x62, 0x03, 0xDD, 0x83,
293 			0x6F, 0x9C, 0x64, 0xD9, 0x74, 0x62, 0xAD, 0x5D,
294 			0xFA, 0x63, 0xB5, 0xCF, 0xE0, 0x8A, 0xCB, 0x95,
295 			0x32, 0x86, 0x6F, 0x5C, 0xA7, 0x87, 0x56, 0x6F,
296 			0xCA, 0x93, 0xE6, 0xB1, 0x69, 0x3E, 0xE1, 0x5C,
297 			0xF6, 0xF7, 0xA2, 0xD6, 0x89, 0xD9, 0x74, 0x17,
298 			0x98, 0xDC, 0x1C, 0x23, 0x8E, 0x1B, 0xE6, 0x50,
299 			0x73, 0x3B, 0x18, 0xFB, 0x34, 0xFF, 0x88, 0x0E,
300 			0x16, 0xBB, 0xD2, 0x1B, 0x47, 0xAC
301 		},
302 		.len = 2800
303 	},
304 	.ciphertext = {
305 		.data = {
306 			0x4B, 0xBF, 0xA9, 0x1B, 0xA2, 0x5D, 0x47, 0xDB,
307 			0x9A, 0x9F, 0x19, 0x0D, 0x96, 0x2A, 0x19, 0xAB,
308 			0x32, 0x39, 0x26, 0xB3, 0x51, 0xFB, 0xD3, 0x9E,
309 			0x35, 0x1E, 0x05, 0xDA, 0x8B, 0x89, 0x25, 0xE3,
310 			0x0B, 0x1C, 0xCE, 0x0D, 0x12, 0x21, 0x10, 0x10,
311 			0x95, 0x81, 0x5C, 0xC7, 0xCB, 0x63, 0x19, 0x50,
312 			0x9E, 0xC0, 0xD6, 0x79, 0x40, 0x49, 0x19, 0x87,
313 			0xE1, 0x3F, 0x0A, 0xFF, 0xAC, 0x33, 0x2A, 0xA6,
314 			0xAA, 0x64, 0x62, 0x6D, 0x3E, 0x9A, 0x19, 0x17,
315 			0x51, 0x9E, 0x0B, 0x97, 0xB6, 0x55, 0xC6, 0xA1,
316 			0x65, 0xE4, 0x4C, 0xA9, 0xFE, 0xAC, 0x07, 0x90,
317 			0xD2, 0xA3, 0x21, 0xAD, 0x3D, 0x86, 0xB7, 0x9C,
318 			0x51, 0x38, 0x73, 0x9F, 0xA3, 0x8D, 0x88, 0x7E,
319 			0xC7, 0xDE, 0xF4, 0x49, 0xCE, 0x8A, 0xBD, 0xD3,
320 			0xE7, 0xF8, 0xDC, 0x4C, 0xA9, 0xE7, 0xB7, 0x33,
321 			0x14, 0xAD, 0x31, 0x0F, 0x90, 0x25, 0xE6, 0x19,
322 			0x46, 0xB3, 0xA5, 0x6D, 0xC6, 0x49, 0xEC, 0x0D,
323 			0xA0, 0xD6, 0x39, 0x43, 0xDF, 0xF5, 0x92, 0xCF,
324 			0x96, 0x2A, 0x7E, 0xFB, 0x2C, 0x85, 0x24, 0xE3,
325 			0x5A, 0x2A, 0x6E, 0x78, 0x79, 0xD6, 0x26, 0x04,
326 			0xEF, 0x26, 0x86, 0x95, 0xFA, 0x40, 0x03, 0x02,
327 			0x7E, 0x22, 0xE6, 0x08, 0x30, 0x77, 0x52, 0x20,
328 			0x64, 0xBD, 0x4A, 0x5B, 0x90, 0x6B, 0x5F, 0x53,
329 			0x12, 0x74, 0xF2, 0x35, 0xED, 0x50, 0x6C, 0xFF,
330 			0x01, 0x54, 0xC7, 0x54, 0x92, 0x8A, 0x0C, 0xE5,
331 			0x47, 0x6F, 0x2C, 0xB1, 0x02, 0x0A, 0x12, 0x22,
332 			0xD3, 0x2C, 0x14, 0x55, 0xEC, 0xAE, 0xF1, 0xE3,
333 			0x68, 0xFB, 0x34, 0x4D, 0x17, 0x35, 0xBF, 0xBE,
334 			0xDE, 0xB7, 0x1D, 0x0A, 0x33, 0xA2, 0xA5, 0x4B,
335 			0x1D, 0xA5, 0xA2, 0x94, 0xE6, 0x79, 0x14, 0x4D,
336 			0xDF, 0x11, 0xEB, 0x1A, 0x3D, 0xE8, 0xCF, 0x0C,
337 			0xC0, 0x61, 0x91, 0x79, 0x74, 0xF3, 0x5C, 0x1D,
338 			0x9C, 0xA0, 0xAC, 0x81, 0x80, 0x7F, 0x8F, 0xCC,
339 			0xE6, 0x19, 0x9A, 0x6C, 0x77, 0x12, 0xDA, 0x86,
340 			0x50, 0x21, 0xB0, 0x4C, 0xE0, 0x43, 0x95, 0x16,
341 			0xF1, 0xA5, 0x26, 0xCC, 0xDA, 0x9F, 0xD9, 0xAB,
342 			0xBD, 0x53, 0xC3, 0xA6, 0x84, 0xF9, 0xAE, 0x1E,
343 			0x7E, 0xE6, 0xB1, 0x1D, 0xA1, 0x38, 0xEA, 0x82,
344 			0x6C, 0x55, 0x16, 0xB5, 0xAA, 0xDF, 0x1A, 0xBB,
345 			0xE3, 0x6F, 0xA7, 0xFF, 0xF9, 0x2E, 0x3A, 0x11,
346 			0x76, 0x06, 0x4E, 0x8D, 0x95, 0xF2, 0xE4, 0x88,
347 			0x2B, 0x55, 0x00, 0xB9, 0x32, 0x28, 0xB2, 0x19,
348 			0x4A, 0x47, 0x5C, 0x1A, 0x27, 0xF6, 0x3F, 0x9F,
349 			0xFD, 0x26, 0x49, 0x89, 0xA1, 0xBC
350 		},
351 		.len = 2800
352 	},
353 	.validDataLenInBits = {
354 		.len = 2798
355 	},
356 	.validCipherLenInBits = {
357 		.len = 2798
358 	}
359 };
360 
361 static struct wireless_test_data zuc_test_case_cipher_4019b = {
362 	.key = {
363 		.data = {
364 			0xE1, 0x3F, 0xED, 0x21, 0xB4, 0x6E, 0x4E, 0x7E,
365 			0xC3, 0x12, 0x53, 0xB2, 0xBB, 0x17, 0xB3, 0xE0
366 		},
367 		.len = 16
368 	},
369 	.cipher_iv = {
370 		.data = {
371 			0x27, 0x38, 0xCD, 0xAA, 0xD0, 0x00, 0x00, 0x00,
372 			0x27, 0x38, 0xCD, 0xAA, 0xD0, 0x00, 0x00, 0x00
373 		},
374 		.len = 16
375 	},
376 	.plaintext = {
377 		.data = {
378 			0x8D, 0x74, 0xE2, 0x0D, 0x54, 0x89, 0x4E, 0x06,
379 			0xD3, 0xCB, 0x13, 0xCB, 0x39, 0x33, 0x06, 0x5E,
380 			0x86, 0x74, 0xBE, 0x62, 0xAD, 0xB1, 0xC7, 0x2B,
381 			0x3A, 0x64, 0x69, 0x65, 0xAB, 0x63, 0xCB, 0x7B,
382 			0x78, 0x54, 0xDF, 0xDC, 0x27, 0xE8, 0x49, 0x29,
383 			0xF4, 0x9C, 0x64, 0xB8, 0x72, 0xA4, 0x90, 0xB1,
384 			0x3F, 0x95, 0x7B, 0x64, 0x82, 0x7E, 0x71, 0xF4,
385 			0x1F, 0xBD, 0x42, 0x69, 0xA4, 0x2C, 0x97, 0xF8,
386 			0x24, 0x53, 0x70, 0x27, 0xF8, 0x6E, 0x9F, 0x4A,
387 			0xD8, 0x2D, 0x1D, 0xF4, 0x51, 0x69, 0x0F, 0xDD,
388 			0x98, 0xB6, 0xD0, 0x3F, 0x3A, 0x0E, 0xBE, 0x3A,
389 			0x31, 0x2D, 0x6B, 0x84, 0x0B, 0xA5, 0xA1, 0x82,
390 			0x0B, 0x2A, 0x2C, 0x97, 0x09, 0xC0, 0x90, 0xD2,
391 			0x45, 0xED, 0x26, 0x7C, 0xF8, 0x45, 0xAE, 0x41,
392 			0xFA, 0x97, 0x5D, 0x33, 0x33, 0xAC, 0x30, 0x09,
393 			0xFD, 0x40, 0xEB, 0xA9, 0xEB, 0x5B, 0x88, 0x57,
394 			0x14, 0xB7, 0x68, 0xB6, 0x97, 0x13, 0x8B, 0xAF,
395 			0x21, 0x38, 0x0E, 0xCA, 0x49, 0xF6, 0x44, 0xD4,
396 			0x86, 0x89, 0xE4, 0x21, 0x57, 0x60, 0xB9, 0x06,
397 			0x73, 0x9F, 0x0D, 0x2B, 0x3F, 0x09, 0x11, 0x33,
398 			0xCA, 0x15, 0xD9, 0x81, 0xCB, 0xE4, 0x01, 0xBA,
399 			0xF7, 0x2D, 0x05, 0xAC, 0xE0, 0x5C, 0xCC, 0xB2,
400 			0xD2, 0x97, 0xF4, 0xEF, 0x6A, 0x5F, 0x58, 0xD9,
401 			0x12, 0x46, 0xCF, 0xA7, 0x72, 0x15, 0xB8, 0x92,
402 			0xAB, 0x44, 0x1D, 0x52, 0x78, 0x45, 0x27, 0x95,
403 			0xCC, 0xB7, 0xF5, 0xD7, 0x90, 0x57, 0xA1, 0xC4,
404 			0xF7, 0x7F, 0x80, 0xD4, 0x6D, 0xB2, 0x03, 0x3C,
405 			0xB7, 0x9B, 0xED, 0xF8, 0xE6, 0x05, 0x51, 0xCE,
406 			0x10, 0xC6, 0x67, 0xF6, 0x2A, 0x97, 0xAB, 0xAF,
407 			0xAB, 0xBC, 0xD6, 0x77, 0x20, 0x18, 0xDF, 0x96,
408 			0xA2, 0x82, 0xEA, 0x73, 0x7C, 0xE2, 0xCB, 0x33,
409 			0x12, 0x11, 0xF6, 0x0D, 0x53, 0x54, 0xCE, 0x78,
410 			0xF9, 0x91, 0x8D, 0x9C, 0x20, 0x6C, 0xA0, 0x42,
411 			0xC9, 0xB6, 0x23, 0x87, 0xDD, 0x70, 0x96, 0x04,
412 			0xA5, 0x0A, 0xF1, 0x6D, 0x8D, 0x35, 0xA8, 0x90,
413 			0x6B, 0xE4, 0x84, 0xCF, 0x2E, 0x74, 0xA9, 0x28,
414 			0x99, 0x40, 0x36, 0x43, 0x53, 0x24, 0x9B, 0x27,
415 			0xB4, 0xC9, 0xAE, 0x29, 0xED, 0xDF, 0xC7, 0xDA,
416 			0x64, 0x18, 0x79, 0x1A, 0x4E, 0x7B, 0xAA, 0x06,
417 			0x60, 0xFA, 0x64, 0x51, 0x1F, 0x2D, 0x68, 0x5C,
418 			0xC3, 0xA5, 0xFF, 0x70, 0xE0, 0xD2, 0xB7, 0x42,
419 			0x92, 0xE3, 0xB8, 0xA0, 0xCD, 0x6B, 0x04, 0xB1,
420 			0xC7, 0x90, 0xB8, 0xEA, 0xD2, 0x70, 0x37, 0x08,
421 			0x54, 0x0D, 0xEA, 0x2F, 0xC0, 0x9C, 0x3D, 0xA7,
422 			0x70, 0xF6, 0x54, 0x49, 0xE8, 0x4D, 0x81, 0x7A,
423 			0x4F, 0x55, 0x10, 0x55, 0xE1, 0x9A, 0xB8, 0x50,
424 			0x18, 0xA0, 0x02, 0x8B, 0x71, 0xA1, 0x44, 0xD9,
425 			0x67, 0x91, 0xE9, 0xA3, 0x57, 0x79, 0x33, 0x50,
426 			0x4E, 0xEE, 0x00, 0x60, 0x34, 0x0C, 0x69, 0xD2,
427 			0x74, 0xE1, 0xBF, 0x9D, 0x80, 0x5D, 0xCB, 0xCC,
428 			0x1A, 0x6F, 0xAA, 0x97, 0x68, 0x00, 0xB6, 0xFF,
429 			0x2B, 0x67, 0x1D, 0xC4, 0x63, 0x65, 0x2F, 0xA8,
430 			0xA3, 0x3E, 0xE5, 0x09, 0x74, 0xC1, 0xC2, 0x1B,
431 			0xE0, 0x1E, 0xAB, 0xB2, 0x16, 0x74, 0x30, 0x26,
432 			0x9D, 0x72, 0xEE, 0x51, 0x1C, 0x9D, 0xDE, 0x30,
433 			0x79, 0x7C, 0x9A, 0x25, 0xD8, 0x6C, 0xE7, 0x4F,
434 			0x5B, 0x96, 0x1B, 0xE5, 0xFD, 0xFB, 0x68, 0x07,
435 			0x81, 0x40, 0x39, 0xE7, 0x13, 0x76, 0x36, 0xBD,
436 			0x1D, 0x7F, 0xA9, 0xE0, 0x9E, 0xFD, 0x20, 0x07,
437 			0x50, 0x59, 0x06, 0xA5, 0xAC, 0x45, 0xDF, 0xDE,
438 			0xED, 0x77, 0x57, 0xBB, 0xEE, 0x74, 0x57, 0x49,
439 			0xC2, 0x96, 0x33, 0x35, 0x0B, 0xEE, 0x0E, 0xA6,
440 			0xF4, 0x09, 0xDF, 0x45, 0x80, 0x16, 0x00
441 		},
442 		.len = 4024
443 	},
444 	.ciphertext = {
445 		.data = {
446 			0x94, 0xEA, 0xA4, 0xAA, 0x30, 0xA5, 0x71, 0x37,
447 			0xDD, 0xF0, 0x9B, 0x97, 0xB2, 0x56, 0x18, 0xA2,
448 			0x0A, 0x13, 0xE2, 0xF1, 0x0F, 0xA5, 0xBF, 0x81,
449 			0x61, 0xA8, 0x79, 0xCC, 0x2A, 0xE7, 0x97, 0xA6,
450 			0xB4, 0xCF, 0x2D, 0x9D, 0xF3, 0x1D, 0xEB, 0xB9,
451 			0x90, 0x5C, 0xCF, 0xEC, 0x97, 0xDE, 0x60, 0x5D,
452 			0x21, 0xC6, 0x1A, 0xB8, 0x53, 0x1B, 0x7F, 0x3C,
453 			0x9D, 0xA5, 0xF0, 0x39, 0x31, 0xF8, 0xA0, 0x64,
454 			0x2D, 0xE4, 0x82, 0x11, 0xF5, 0xF5, 0x2F, 0xFE,
455 			0xA1, 0x0F, 0x39, 0x2A, 0x04, 0x76, 0x69, 0x98,
456 			0x5D, 0xA4, 0x54, 0xA2, 0x8F, 0x08, 0x09, 0x61,
457 			0xA6, 0xC2, 0xB6, 0x2D, 0xAA, 0x17, 0xF3, 0x3C,
458 			0xD6, 0x0A, 0x49, 0x71, 0xF4, 0x8D, 0x2D, 0x90,
459 			0x93, 0x94, 0xA5, 0x5F, 0x48, 0x11, 0x7A, 0xCE,
460 			0x43, 0xD7, 0x08, 0xE6, 0xB7, 0x7D, 0x3D, 0xC4,
461 			0x6D, 0x8B, 0xC0, 0x17, 0xD4, 0xD1, 0xAB, 0xB7,
462 			0x7B, 0x74, 0x28, 0xC0, 0x42, 0xB0, 0x6F, 0x2F,
463 			0x99, 0xD8, 0xD0, 0x7C, 0x98, 0x79, 0xD9, 0x96,
464 			0x00, 0x12, 0x7A, 0x31, 0x98, 0x5F, 0x10, 0x99,
465 			0xBB, 0xD7, 0xD6, 0xC1, 0x51, 0x9E, 0xDE, 0x8F,
466 			0x5E, 0xEB, 0x4A, 0x61, 0x0B, 0x34, 0x9A, 0xC0,
467 			0x1E, 0xA2, 0x35, 0x06, 0x91, 0x75, 0x6B, 0xD1,
468 			0x05, 0xC9, 0x74, 0xA5, 0x3E, 0xDD, 0xB3, 0x5D,
469 			0x1D, 0x41, 0x00, 0xB0, 0x12, 0xE5, 0x22, 0xAB,
470 			0x41, 0xF4, 0xC5, 0xF2, 0xFD, 0xE7, 0x6B, 0x59,
471 			0xCB, 0x8B, 0x96, 0xD8, 0x85, 0xCF, 0xE4, 0x08,
472 			0x0D, 0x13, 0x28, 0xA0, 0xD6, 0x36, 0xCC, 0x0E,
473 			0xDC, 0x05, 0x80, 0x0B, 0x76, 0xAC, 0xCA, 0x8F,
474 			0xEF, 0x67, 0x20, 0x84, 0xD1, 0xF5, 0x2A, 0x8B,
475 			0xBD, 0x8E, 0x09, 0x93, 0x32, 0x09, 0x92, 0xC7,
476 			0xFF, 0xBA, 0xE1, 0x7C, 0x40, 0x84, 0x41, 0xE0,
477 			0xEE, 0x88, 0x3F, 0xC8, 0xA8, 0xB0, 0x5E, 0x22,
478 			0xF5, 0xFF, 0x7F, 0x8D, 0x1B, 0x48, 0xC7, 0x4C,
479 			0x46, 0x8C, 0x46, 0x7A, 0x02, 0x8F, 0x09, 0xFD,
480 			0x7C, 0xE9, 0x11, 0x09, 0xA5, 0x70, 0xA2, 0xD5,
481 			0xC4, 0xD5, 0xF4, 0xFA, 0x18, 0xC5, 0xDD, 0x3E,
482 			0x45, 0x62, 0xAF, 0xE2, 0x4E, 0xF7, 0x71, 0x90,
483 			0x1F, 0x59, 0xAF, 0x64, 0x58, 0x98, 0xAC, 0xEF,
484 			0x08, 0x8A, 0xBA, 0xE0, 0x7E, 0x92, 0xD5, 0x2E,
485 			0xB2, 0xDE, 0x55, 0x04, 0x5B, 0xB1, 0xB7, 0xC4,
486 			0x16, 0x4E, 0xF2, 0xD7, 0xA6, 0xCA, 0xC1, 0x5E,
487 			0xEB, 0x92, 0x6D, 0x7E, 0xA2, 0xF0, 0x8B, 0x66,
488 			0xE1, 0xF7, 0x59, 0xF3, 0xAE, 0xE4, 0x46, 0x14,
489 			0x72, 0x5A, 0xA3, 0xC7, 0x48, 0x2B, 0x30, 0x84,
490 			0x4C, 0x14, 0x3F, 0xF8, 0x5B, 0x53, 0xF1, 0xE5,
491 			0x83, 0xC5, 0x01, 0x25, 0x7D, 0xDD, 0xD0, 0x96,
492 			0xB8, 0x12, 0x68, 0xDA, 0xA3, 0x03, 0xF1, 0x72,
493 			0x34, 0xC2, 0x33, 0x35, 0x41, 0xF0, 0xBB, 0x8E,
494 			0x19, 0x06, 0x48, 0xC5, 0x80, 0x7C, 0x86, 0x6D,
495 			0x71, 0x93, 0x22, 0x86, 0x09, 0xAD, 0xB9, 0x48,
496 			0x68, 0x6F, 0x7D, 0xE2, 0x94, 0xA8, 0x02, 0xCC,
497 			0x38, 0xF7, 0xFE, 0x52, 0x08, 0xF5, 0xEA, 0x31,
498 			0x96, 0xD0, 0x16, 0x7B, 0x9B, 0xDD, 0x02, 0xF0,
499 			0xD2, 0xA5, 0x22, 0x1C, 0xA5, 0x08, 0xF8, 0x93,
500 			0xAF, 0x5C, 0x4B, 0x4B, 0xB9, 0xF4, 0xF5, 0x20,
501 			0xFD, 0x84, 0x28, 0x9B, 0x3D, 0xBE, 0x7E, 0x61,
502 			0x49, 0x7A, 0x7E, 0x2A, 0x58, 0x40, 0x37, 0xEA,
503 			0x63, 0x7B, 0x69, 0x81, 0x12, 0x71, 0x74, 0xAF,
504 			0x57, 0xB4, 0x71, 0xDF, 0x4B, 0x27, 0x68, 0xFD,
505 			0x79, 0xC1, 0x54, 0x0F, 0xB3, 0xED, 0xF2, 0xEA,
506 			0x22, 0xCB, 0x69, 0xBE, 0xC0, 0xCF, 0x8D, 0x93,
507 			0x3D, 0x9C, 0x6F, 0xDD, 0x64, 0x5E, 0x85, 0x05,
508 			0x91, 0xCC, 0xA3, 0xD6, 0x2C, 0x0C, 0xC0
509 		},
510 		.len = 4024
511 	},
512 	.validDataLenInBits = {
513 		.len = 4019
514 	},
515 	.validCipherLenInBits = {
516 		.len = 4019
517 	}
518 };
519 
520 static struct wireless_test_data zuc_test_case_cipher_200b_auth_200b = {
521 	.key = {
522 		.data = {
523 			0x17, 0x3D, 0x14, 0xBA, 0x50, 0x03, 0x73, 0x1D,
524 			0x7A, 0x60, 0x04, 0x94, 0x70, 0xF0, 0x0A, 0x29
525 		},
526 		.len = 16
527 	},
528 	.cipher_iv = {
529 		.data = {
530 			0x66, 0x03, 0x54, 0x92, 0x78, 0x00, 0x00, 0x00,
531 			0x66, 0x03, 0x54, 0x92, 0x78, 0x00, 0x00, 0x00
532 		},
533 		.len = 16
534 	},
535 	.plaintext = {
536 		.data = {
537 			0x6C, 0xF6, 0x53, 0x40, 0x73, 0x55, 0x52, 0xAB,
538 			0x0C, 0x97, 0x52, 0xFA, 0x6F, 0x90, 0x25, 0xFE,
539 			0x0B, 0xD6, 0x75, 0xD9, 0x00, 0x58, 0x75, 0xB2,
540 			0x00
541 		},
542 		.len = 200
543 	},
544 	.ciphertext = {
545 		.data = {
546 			0xA6, 0xC8, 0x5F, 0xC6, 0x6A, 0xFB, 0x85, 0x33,
547 			0xAA, 0xFC, 0x25, 0x18, 0xDF, 0xE7, 0x84, 0x94,
548 			0x0E, 0xE1, 0xE4, 0xB0, 0x30, 0x23, 0x8C, 0xC8,
549 			0x10
550 		},
551 		.len = 200
552 	},
553 	.validDataLenInBits = {
554 		.len = 200
555 	},
556 	.validCipherLenInBits = {
557 		.len = 200
558 	},
559 	.auth_iv = {
560 		.data = {
561 			0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
562 			0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
563 		},
564 		.len = 16
565 	},
566 	.digest = {
567 		.data = {0x01, 0xFE, 0x5E, 0x38},
568 		.len  = 4
569 	},
570 	.validAuthLenInBits = {
571 		.len = 200
572 	}
573 };
574 
575 static struct wireless_test_data zuc_test_case_cipher_800b_auth_120b = {
576 	.key = {
577 		.data = {
578 			0xE5, 0xBD, 0x3E, 0xA0, 0xEB, 0x55, 0xAD, 0xE8,
579 			0x66, 0xC6, 0xAC, 0x58, 0xBD, 0x54, 0x30, 0x2A
580 		},
581 		.len = 16
582 	},
583 	.cipher_iv = {
584 		.data = {
585 			0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00,
586 			0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00
587 		},
588 		.len = 16
589 	},
590 	.plaintext = {
591 		.data = {
592 			0x14, 0xA8, 0xEF, 0x69, 0x3D, 0x67, 0x85, 0x07,
593 			0xBB, 0xE7, 0x27, 0x0A, 0x7F, 0x67, 0xFF, 0x50,
594 			0x06, 0xC3, 0x52, 0x5B, 0x98, 0x07, 0xE4, 0x67,
595 			0xC4, 0xE5, 0x60, 0x00, 0xBA, 0x33, 0x8F, 0x5D,
596 			0x42, 0x95, 0x59, 0x03, 0x67, 0x51, 0x82, 0x22,
597 			0x46, 0xC8, 0x0D, 0x3B, 0x38, 0xF0, 0x7F, 0x4B,
598 			0xE2, 0xD8, 0xFF, 0x58, 0x05, 0xF5, 0x13, 0x22,
599 			0x29, 0xBD, 0xE9, 0x3B, 0xBB, 0xDC, 0xAF, 0x38,
600 			0x2B, 0xF1, 0xEE, 0x97, 0x2F, 0xBF, 0x99, 0x77,
601 			0xBA, 0xDA, 0x89, 0x45, 0x84, 0x7A, 0x2A, 0x6C,
602 			0x9A, 0xD3, 0x4A, 0x66, 0x75, 0x54, 0xE0, 0x4D,
603 			0x1F, 0x7F, 0xA2, 0xC3, 0x32, 0x41, 0xBD, 0x8F,
604 			0x01, 0xBA, 0x22, 0x0D
605 		},
606 		.len = 800
607 	},
608 	.ciphertext = {
609 		.data = {
610 			0x13, 0x1D, 0x43, 0xE0, 0xDE, 0xA1, 0xBE, 0x5C,
611 			0x5A, 0x1B, 0xFD, 0x97, 0x1D, 0x85, 0x2C, 0xBF,
612 			0x71, 0x2D, 0x7B, 0x4F, 0x57, 0x96, 0x1F, 0xEA,
613 			0x32, 0x08, 0xAF, 0xA8, 0xBC, 0xA4, 0x33, 0xF4,
614 			0x56, 0xAD, 0x09, 0xC7, 0x41, 0x7E, 0x58, 0xBC,
615 			0x69, 0xCF, 0x88, 0x66, 0xD1, 0x35, 0x3F, 0x74,
616 			0x86, 0x5E, 0x80, 0x78, 0x1D, 0x20, 0x2D, 0xFB,
617 			0x3E, 0xCF, 0xF7, 0xFC, 0xBC, 0x3B, 0x19, 0x0F,
618 			0xE8, 0x2A, 0x20, 0x4E, 0xD0, 0xE3, 0x50, 0xFC,
619 			0x0F, 0x6F, 0x26, 0x13, 0xB2, 0xF2, 0xBC, 0xA6,
620 			0xDF, 0x5A, 0x47, 0x3A, 0x57, 0xA4, 0xA0, 0x0D,
621 			0x98, 0x5E, 0xBA, 0xD8, 0x80, 0xD6, 0xF2, 0x38,
622 			0x64, 0xA0, 0x7B, 0x01
623 		},
624 		.len = 800
625 	},
626 	.validDataLenInBits = {
627 		.len = 800
628 	},
629 	.validCipherLenInBits = {
630 		.len = 800
631 	},
632 	.auth_iv = {
633 		.data = {
634 			0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
635 			0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
636 		},
637 		.len = 16
638 	},
639 	.digest = {
640 		.data = {0x9D, 0x42, 0x1C, 0xEA},
641 		.len  = 4
642 	},
643 	.validAuthLenInBits = {
644 		.len = 120
645 	}
646 };
647 
648 struct wireless_test_data zuc_test_case_auth_1b = {
649 	.key = {
650 		.data = {
651 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
652 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
653 		},
654 		.len = 16
655 	},
656 	.auth_iv = {
657 		.data = {
658 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
659 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
660 		},
661 		.len = 16
662 	},
663 	.plaintext = {
664 		.data = {0x00},
665 		.len = 8
666 	},
667 	.validAuthLenInBits = {
668 		.len = 1
669 	},
670 	.digest = {
671 		.data = {0xC8, 0xA9, 0x59, 0x5E},
672 		.len  = 4
673 	}
674 };
675 
676 struct wireless_test_data zuc_test_case_auth_90b = {
677 	.key = {
678 		.data = {
679 			0x47, 0x05, 0x41, 0x25, 0x56, 0x1E, 0xB2, 0xDD,
680 			0xA9, 0x40, 0x59, 0xDA, 0x05, 0x09, 0x78, 0x50
681 		},
682 		.len = 16
683 	},
684 	.auth_iv = {
685 		.data = {
686 			0x56, 0x1E, 0xB2, 0xDD, 0xA0, 0x00, 0x00, 0x00,
687 			0x56, 0x1E, 0xB2, 0xDD, 0xA0, 0x00, 0x00, 0x00
688 		},
689 		.len = 16
690 	},
691 	.plaintext = {
692 		.data = {
693 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
694 			0x00, 0x00, 0x00, 0x00
695 		},
696 		.len = 96
697 	},
698 	.validAuthLenInBits = {
699 		.len = 90
700 	},
701 	.digest = {
702 		.data = {0x67, 0x19, 0xA0, 0x88},
703 		.len  = 4
704 	}
705 };
706 
707 struct wireless_test_data zuc_test_case_auth_577b = {
708 	.key = {
709 		.data = {
710 			0xC9, 0xE6, 0xCE, 0xC4, 0x60, 0x7C, 0x72, 0xDB,
711 			0x00, 0x0A, 0xEF, 0xA8, 0x83, 0x85, 0xAB, 0x0A
712 		},
713 		.len = 16
714 	},
715 	.auth_iv = {
716 		.data = {
717 			0xA9, 0x40, 0x59, 0xDA, 0x50, 0x00, 0x00, 0x00,
718 			0x29, 0x40, 0x59, 0xDA, 0x50, 0x00, 0x80, 0x00
719 		},
720 		.len = 16
721 	},
722 	.plaintext = {
723 		.data = {
724 			0x98, 0x3B, 0x41, 0xD4, 0x7D, 0x78, 0x0C, 0x9E,
725 			0x1A, 0xD1, 0x1D, 0x7E, 0xB7, 0x03, 0x91, 0xB1,
726 			0xDE, 0x0B, 0x35, 0xDA, 0x2D, 0xC6, 0x2F, 0x83,
727 			0xE7, 0xB7, 0x8D, 0x63, 0x06, 0xCA, 0x0E, 0xA0,
728 			0x7E, 0x94, 0x1B, 0x7B, 0xE9, 0x13, 0x48, 0xF9,
729 			0xFC, 0xB1, 0x70, 0xE2, 0x21, 0x7F, 0xEC, 0xD9,
730 			0x7F, 0x9F, 0x68, 0xAD, 0xB1, 0x6E, 0x5D, 0x7D,
731 			0x21, 0xE5, 0x69, 0xD2, 0x80, 0xED, 0x77, 0x5C,
732 			0xEB, 0xDE, 0x3F, 0x40, 0x93, 0xC5, 0x38, 0x81,
733 			0x00
734 		},
735 		.len = 584
736 	},
737 	.validAuthLenInBits = {
738 		.len = 577
739 	},
740 	.digest = {
741 		.data = {0xFA, 0xE8, 0xFF, 0x0B},
742 		.len  = 4
743 	}
744 };
745 
746 struct wireless_test_data zuc_test_case_auth_2079b = {
747 	.key = {
748 		.data = {
749 			0xC8, 0xA4, 0x82, 0x62, 0xD0, 0xC2, 0xE2, 0xBA,
750 			0xC4, 0xB9, 0x6E, 0xF7, 0x7E, 0x80, 0xCA, 0x59
751 		},
752 		.len = 16
753 	},
754 	.auth_iv = {
755 		.data = {
756 			0x05, 0x09, 0x78, 0x50, 0x80, 0x00, 0x00, 0x00,
757 			0x85, 0x09, 0x78, 0x50, 0x80, 0x00, 0x80, 0x00
758 		},
759 		.len = 16
760 	},
761 	.plaintext = {
762 		.data = {
763 			0xB5, 0x46, 0x43, 0x0B, 0xF8, 0x7B, 0x4F, 0x1E,
764 			0xE8, 0x34, 0x70, 0x4C, 0xD6, 0x95, 0x1C, 0x36,
765 			0xE2, 0x6F, 0x10, 0x8C, 0xF7, 0x31, 0x78, 0x8F,
766 			0x48, 0xDC, 0x34, 0xF1, 0x67, 0x8C, 0x05, 0x22,
767 			0x1C, 0x8F, 0xA7, 0xFF, 0x2F, 0x39, 0xF4, 0x77,
768 			0xE7, 0xE4, 0x9E, 0xF6, 0x0A, 0x4E, 0xC2, 0xC3,
769 			0xDE, 0x24, 0x31, 0x2A, 0x96, 0xAA, 0x26, 0xE1,
770 			0xCF, 0xBA, 0x57, 0x56, 0x38, 0x38, 0xB2, 0x97,
771 			0xF4, 0x7E, 0x85, 0x10, 0xC7, 0x79, 0xFD, 0x66,
772 			0x54, 0xB1, 0x43, 0x38, 0x6F, 0xA6, 0x39, 0xD3,
773 			0x1E, 0xDB, 0xD6, 0xC0, 0x6E, 0x47, 0xD1, 0x59,
774 			0xD9, 0x43, 0x62, 0xF2, 0x6A, 0xEE, 0xED, 0xEE,
775 			0x0E, 0x4F, 0x49, 0xD9, 0xBF, 0x84, 0x12, 0x99,
776 			0x54, 0x15, 0xBF, 0xAD, 0x56, 0xEE, 0x82, 0xD1,
777 			0xCA, 0x74, 0x63, 0xAB, 0xF0, 0x85, 0xB0, 0x82,
778 			0xB0, 0x99, 0x04, 0xD6, 0xD9, 0x90, 0xD4, 0x3C,
779 			0xF2, 0xE0, 0x62, 0xF4, 0x08, 0x39, 0xD9, 0x32,
780 			0x48, 0xB1, 0xEB, 0x92, 0xCD, 0xFE, 0xD5, 0x30,
781 			0x0B, 0xC1, 0x48, 0x28, 0x04, 0x30, 0xB6, 0xD0,
782 			0xCA, 0xA0, 0x94, 0xB6, 0xEC, 0x89, 0x11, 0xAB,
783 			0x7D, 0xC3, 0x68, 0x24, 0xB8, 0x24, 0xDC, 0x0A,
784 			0xF6, 0x68, 0x2B, 0x09, 0x35, 0xFD, 0xE7, 0xB4,
785 			0x92, 0xA1, 0x4D, 0xC2, 0xF4, 0x36, 0x48, 0x03,
786 			0x8D, 0xA2, 0xCF, 0x79, 0x17, 0x0D, 0x2D, 0x50,
787 			0x13, 0x3F, 0xD4, 0x94, 0x16, 0xCB, 0x6E, 0x33,
788 			0xBE, 0xA9, 0x0B, 0x8B, 0xF4, 0x55, 0x9B, 0x03,
789 			0x73, 0x2A, 0x01, 0xEA, 0x29, 0x0E, 0x6D, 0x07,
790 			0x4F, 0x79, 0xBB, 0x83, 0xC1, 0x0E, 0x58, 0x00,
791 			0x15, 0xCC, 0x1A, 0x85, 0xB3, 0x6B, 0x55, 0x01,
792 			0x04, 0x6E, 0x9C, 0x4B, 0xDC, 0xAE, 0x51, 0x35,
793 			0x69, 0x0B, 0x86, 0x66, 0xBD, 0x54, 0xB7, 0xA7,
794 			0x03, 0xEA, 0x7B, 0x6F, 0x22, 0x0A, 0x54, 0x69,
795 			0xA5, 0x68, 0x02, 0x7E
796 		},
797 		.len = 2080
798 	},
799 	.validAuthLenInBits = {
800 		.len = 2079
801 	},
802 	.digest = {
803 		.data = {0x00, 0x4A, 0xC4, 0xD6},
804 		.len  = 4
805 	}
806 };
807 
808 struct wireless_test_data zuc_test_auth_5670b = {
809 	.key = {
810 		.data = {
811 			0x6B, 0x8B, 0x08, 0xEE, 0x79, 0xE0, 0xB5, 0x98,
812 			0x2D, 0x6D, 0x12, 0x8E, 0xA9, 0xF2, 0x20, 0xCB
813 		},
814 		.len = 16
815 	},
816 	.auth_iv = {
817 		.data = {
818 			0x56, 0x1E, 0xB2, 0xDD, 0xE0, 0x00, 0x00, 0x00,
819 			0x56, 0x1E, 0xB2, 0xDD, 0xE0, 0x00, 0x00, 0x00
820 		},
821 		.len = 16
822 	},
823 	.plaintext = {
824 		.data = {
825 			0x5B, 0xAD, 0x72, 0x47, 0x10, 0xBA, 0x1C, 0x56,
826 			0xD5, 0xA3, 0x15, 0xF8, 0xD4, 0x0F, 0x6E, 0x09,
827 			0x37, 0x80, 0xBE, 0x8E, 0x8D, 0xE0, 0x7B, 0x69,
828 			0x92, 0x43, 0x20, 0x18, 0xE0, 0x8E, 0xD9, 0x6A,
829 			0x57, 0x34, 0xAF, 0x8B, 0xAD, 0x8A, 0x57, 0x5D,
830 			0x3A, 0x1F, 0x16, 0x2F, 0x85, 0x04, 0x5C, 0xC7,
831 			0x70, 0x92, 0x55, 0x71, 0xD9, 0xF5, 0xB9, 0x4E,
832 			0x45, 0x4A, 0x77, 0xC1, 0x6E, 0x72, 0x93, 0x6B,
833 			0xF0, 0x16, 0xAE, 0x15, 0x74, 0x99, 0xF0, 0x54,
834 			0x3B, 0x5D, 0x52, 0xCA, 0xA6, 0xDB, 0xEA, 0xB6,
835 			0x97, 0xD2, 0xBB, 0x73, 0xE4, 0x1B, 0x80, 0x75,
836 			0xDC, 0xE7, 0x9B, 0x4B, 0x86, 0x04, 0x4F, 0x66,
837 			0x1D, 0x44, 0x85, 0xA5, 0x43, 0xDD, 0x78, 0x60,
838 			0x6E, 0x04, 0x19, 0xE8, 0x05, 0x98, 0x59, 0xD3,
839 			0xCB, 0x2B, 0x67, 0xCE, 0x09, 0x77, 0x60, 0x3F,
840 			0x81, 0xFF, 0x83, 0x9E, 0x33, 0x18, 0x59, 0x54,
841 			0x4C, 0xFB, 0xC8, 0xD0, 0x0F, 0xEF, 0x1A, 0x4C,
842 			0x85, 0x10, 0xFB, 0x54, 0x7D, 0x6B, 0x06, 0xC6,
843 			0x11, 0xEF, 0x44, 0xF1, 0xBC, 0xE1, 0x07, 0xCF,
844 			0xA4, 0x5A, 0x06, 0xAA, 0xB3, 0x60, 0x15, 0x2B,
845 			0x28, 0xDC, 0x1E, 0xBE, 0x6F, 0x7F, 0xE0, 0x9B,
846 			0x05, 0x16, 0xF9, 0xA5, 0xB0, 0x2A, 0x1B, 0xD8,
847 			0x4B, 0xB0, 0x18, 0x1E, 0x2E, 0x89, 0xE1, 0x9B,
848 			0xD8, 0x12, 0x59, 0x30, 0xD1, 0x78, 0x68, 0x2F,
849 			0x38, 0x62, 0xDC, 0x51, 0xB6, 0x36, 0xF0, 0x4E,
850 			0x72, 0x0C, 0x47, 0xC3, 0xCE, 0x51, 0xAD, 0x70,
851 			0xD9, 0x4B, 0x9B, 0x22, 0x55, 0xFB, 0xAE, 0x90,
852 			0x65, 0x49, 0xF4, 0x99, 0xF8, 0xC6, 0xD3, 0x99,
853 			0x47, 0xED, 0x5E, 0x5D, 0xF8, 0xE2, 0xDE, 0xF1,
854 			0x13, 0x25, 0x3E, 0x7B, 0x08, 0xD0, 0xA7, 0x6B,
855 			0x6B, 0xFC, 0x68, 0xC8, 0x12, 0xF3, 0x75, 0xC7,
856 			0x9B, 0x8F, 0xE5, 0xFD, 0x85, 0x97, 0x6A, 0xA6,
857 			0xD4, 0x6B, 0x4A, 0x23, 0x39, 0xD8, 0xAE, 0x51,
858 			0x47, 0xF6, 0x80, 0xFB, 0xE7, 0x0F, 0x97, 0x8B,
859 			0x38, 0xEF, 0xFD, 0x7B, 0x2F, 0x78, 0x66, 0xA2,
860 			0x25, 0x54, 0xE1, 0x93, 0xA9, 0x4E, 0x98, 0xA6,
861 			0x8B, 0x74, 0xBD, 0x25, 0xBB, 0x2B, 0x3F, 0x5F,
862 			0xB0, 0xA5, 0xFD, 0x59, 0x88, 0x7F, 0x9A, 0xB6,
863 			0x81, 0x59, 0xB7, 0x17, 0x8D, 0x5B, 0x7B, 0x67,
864 			0x7C, 0xB5, 0x46, 0xBF, 0x41, 0xEA, 0xDC, 0xA2,
865 			0x16, 0xFC, 0x10, 0x85, 0x01, 0x28, 0xF8, 0xBD,
866 			0xEF, 0x5C, 0x8D, 0x89, 0xF9, 0x6A, 0xFA, 0x4F,
867 			0xA8, 0xB5, 0x48, 0x85, 0x56, 0x5E, 0xD8, 0x38,
868 			0xA9, 0x50, 0xFE, 0xE5, 0xF1, 0xC3, 0xB0, 0xA4,
869 			0xF6, 0xFB, 0x71, 0xE5, 0x4D, 0xFD, 0x16, 0x9E,
870 			0x82, 0xCE, 0xCC, 0x72, 0x66, 0xC8, 0x50, 0xE6,
871 			0x7C, 0x5E, 0xF0, 0xBA, 0x96, 0x0F, 0x52, 0x14,
872 			0x06, 0x0E, 0x71, 0xEB, 0x17, 0x2A, 0x75, 0xFC,
873 			0x14, 0x86, 0x83, 0x5C, 0xBE, 0xA6, 0x53, 0x44,
874 			0x65, 0xB0, 0x55, 0xC9, 0x6A, 0x72, 0xE4, 0x10,
875 			0x52, 0x24, 0x18, 0x23, 0x25, 0xD8, 0x30, 0x41,
876 			0x4B, 0x40, 0x21, 0x4D, 0xAA, 0x80, 0x91, 0xD2,
877 			0xE0, 0xFB, 0x01, 0x0A, 0xE1, 0x5C, 0x6D, 0xE9,
878 			0x08, 0x50, 0x97, 0x3B, 0xDF, 0x1E, 0x42, 0x3B,
879 			0xE1, 0x48, 0xA2, 0x37, 0xB8, 0x7A, 0x0C, 0x9F,
880 			0x34, 0xD4, 0xB4, 0x76, 0x05, 0xB8, 0x03, 0xD7,
881 			0x43, 0xA8, 0x6A, 0x90, 0x39, 0x9A, 0x4A, 0xF3,
882 			0x96, 0xD3, 0xA1, 0x20, 0x0A, 0x62, 0xF3, 0xD9,
883 			0x50, 0x79, 0x62, 0xE8, 0xE5, 0xBE, 0xE6, 0xD3,
884 			0xDA, 0x2B, 0xB3, 0xF7, 0x23, 0x76, 0x64, 0xAC,
885 			0x7A, 0x29, 0x28, 0x23, 0x90, 0x0B, 0xC6, 0x35,
886 			0x03, 0xB2, 0x9E, 0x80, 0xD6, 0x3F, 0x60, 0x67,
887 			0xBF, 0x8E, 0x17, 0x16, 0xAC, 0x25, 0xBE, 0xBA,
888 			0x35, 0x0D, 0xEB, 0x62, 0xA9, 0x9F, 0xE0, 0x31,
889 			0x85, 0xEB, 0x4F, 0x69, 0x93, 0x7E, 0xCD, 0x38,
890 			0x79, 0x41, 0xFD, 0xA5, 0x44, 0xBA, 0x67, 0xDB,
891 			0x09, 0x11, 0x77, 0x49, 0x38, 0xB0, 0x18, 0x27,
892 			0xBC, 0xC6, 0x9C, 0x92, 0xB3, 0xF7, 0x72, 0xA9,
893 			0xD2, 0x85, 0x9E, 0xF0, 0x03, 0x39, 0x8B, 0x1F,
894 			0x6B, 0xBA, 0xD7, 0xB5, 0x74, 0xF7, 0x98, 0x9A,
895 			0x1D, 0x10, 0xB2, 0xDF, 0x79, 0x8E, 0x0D, 0xBF,
896 			0x30, 0xD6, 0x58, 0x74, 0x64, 0xD2, 0x48, 0x78,
897 			0xCD, 0x00, 0xC0, 0xEA, 0xEE, 0x8A, 0x1A, 0x0C,
898 			0xC7, 0x53, 0xA2, 0x79, 0x79, 0xE1, 0x1B, 0x41,
899 			0xDB, 0x1D, 0xE3, 0xD5, 0x03, 0x8A, 0xFA, 0xF4,
900 			0x9F, 0x5C, 0x68, 0x2C, 0x37, 0x48, 0xD8, 0xA3,
901 			0xA9, 0xEC, 0x54, 0xE6, 0xA3, 0x71, 0x27, 0x5F,
902 			0x16, 0x83, 0x51, 0x0F, 0x8E, 0x4F, 0x90, 0x93,
903 			0x8F, 0x9A, 0xB6, 0xE1, 0x34, 0xC2, 0xCF, 0xDF,
904 			0x48, 0x41, 0xCB, 0xA8, 0x8E, 0x0C, 0xFF, 0x2B,
905 			0x0B, 0xCC, 0x8E, 0x6A, 0xDC, 0xB7, 0x11, 0x09,
906 			0xB5, 0x19, 0x8F, 0xEC, 0xF1, 0xBB, 0x7E, 0x5C,
907 			0x53, 0x1A, 0xCA, 0x50, 0xA5, 0x6A, 0x8A, 0x3B,
908 			0x6D, 0xE5, 0x98, 0x62, 0xD4, 0x1F, 0xA1, 0x13,
909 			0xD9, 0xCD, 0x95, 0x78, 0x08, 0xF0, 0x85, 0x71,
910 			0xD9, 0xA4, 0xBB, 0x79, 0x2A, 0xF2, 0x71, 0xF6,
911 			0xCC, 0x6D, 0xBB, 0x8D, 0xC7, 0xEC, 0x36, 0xE3,
912 			0x6B, 0xE1, 0xED, 0x30, 0x81, 0x64, 0xC3, 0x1C,
913 			0x7C, 0x0A, 0xFC, 0x54, 0x1C
914 		},
915 		.len = 5672
916 	},
917 	.validAuthLenInBits = {
918 		.len = 5670
919 	},
920 	.digest = {
921 		.data = {0x0C, 0xA1, 0x27, 0x92},
922 		.len  = 4
923 	}
924 };
925 
926 static struct wireless_test_data zuc_test_case_auth_128b = {
927 	.key = {
928 		.data = { 0x0 },
929 		.len = 16
930 	},
931 	.auth_iv = {
932 		.data = { 0x0 },
933 		.len = 16
934 	},
935 	.plaintext = {
936 		.data = { 0x0 },
937 		.len = 8
938 	},
939 	.validAuthLenInBits = {
940 		.len = 8
941 	},
942 	.digest = {
943 		.data = { 0x39, 0x0a, 0x91, 0xb7 },
944 		.len  = 4
945 	}
946 };
947 
948 static struct wireless_test_data zuc_test_case_auth_2080b = {
949 	.key = {
950 		.data = {
951 			0xC8, 0xA4, 0x82, 0x62, 0xD0, 0xC2, 0xE2, 0xBA,
952 			0xC4, 0xB9, 0x6E, 0xF7, 0x7E, 0x80, 0xCA, 0x59
953 		},
954 		.len = 16
955 	},
956 	.auth_iv = {
957 		.data = {
958 			0x05, 0x09, 0x78, 0x50, 0x80, 0x00, 0x00, 0x00,
959 			0x85, 0x09, 0x78, 0x50, 0x80, 0x00, 0x80, 0x00
960 		},
961 		.len = 16
962 	},
963 	.plaintext = {
964 		.data = {
965 			0xB5, 0x46, 0x43, 0x0B, 0xF8, 0x7B, 0x4F, 0x1E,
966 			0xE8, 0x34, 0x70, 0x4C, 0xD6, 0x95, 0x1C, 0x36,
967 			0xE2, 0x6F, 0x10, 0x8C, 0xF7, 0x31, 0x78, 0x8F,
968 			0x48, 0xDC, 0x34, 0xF1, 0x67, 0x8C, 0x05, 0x22,
969 			0x1C, 0x8F, 0xA7, 0xFF, 0x2F, 0x39, 0xF4, 0x77,
970 			0xE7, 0xE4, 0x9E, 0xF6, 0x0A, 0x4E, 0xC2, 0xC3,
971 			0xDE, 0x24, 0x31, 0x2A, 0x96, 0xAA, 0x26, 0xE1,
972 			0xCF, 0xBA, 0x57, 0x56, 0x38, 0x38, 0xB2, 0x97,
973 			0xF4, 0x7E, 0x85, 0x10, 0xC7, 0x79, 0xFD, 0x66,
974 			0x54, 0xB1, 0x43, 0x38, 0x6F, 0xA6, 0x39, 0xD3,
975 			0x1E, 0xDB, 0xD6, 0xC0, 0x6E, 0x47, 0xD1, 0x59,
976 			0xD9, 0x43, 0x62, 0xF2, 0x6A, 0xEE, 0xED, 0xEE,
977 			0x0E, 0x4F, 0x49, 0xD9, 0xBF, 0x84, 0x12, 0x99,
978 			0x54, 0x15, 0xBF, 0xAD, 0x56, 0xEE, 0x82, 0xD1,
979 			0xCA, 0x74, 0x63, 0xAB, 0xF0, 0x85, 0xB0, 0x82,
980 			0xB0, 0x99, 0x04, 0xD6, 0xD9, 0x90, 0xD4, 0x3C,
981 			0xF2, 0xE0, 0x62, 0xF4, 0x08, 0x39, 0xD9, 0x32,
982 			0x48, 0xB1, 0xEB, 0x92, 0xCD, 0xFE, 0xD5, 0x30,
983 			0x0B, 0xC1, 0x48, 0x28, 0x04, 0x30, 0xB6, 0xD0,
984 			0xCA, 0xA0, 0x94, 0xB6, 0xEC, 0x89, 0x11, 0xAB,
985 			0x7D, 0xC3, 0x68, 0x24, 0xB8, 0x24, 0xDC, 0x0A,
986 			0xF6, 0x68, 0x2B, 0x09, 0x35, 0xFD, 0xE7, 0xB4,
987 			0x92, 0xA1, 0x4D, 0xC2, 0xF4, 0x36, 0x48, 0x03,
988 			0x8D, 0xA2, 0xCF, 0x79, 0x17, 0x0D, 0x2D, 0x50,
989 			0x13, 0x3F, 0xD4, 0x94, 0x16, 0xCB, 0x6E, 0x33,
990 			0xBE, 0xA9, 0x0B, 0x8B, 0xF4, 0x55, 0x9B, 0x03,
991 			0x73, 0x2A, 0x01, 0xEA, 0x29, 0x0E, 0x6D, 0x07,
992 			0x4F, 0x79, 0xBB, 0x83, 0xC1, 0x0E, 0x58, 0x00,
993 			0x15, 0xCC, 0x1A, 0x85, 0xB3, 0x6B, 0x55, 0x01,
994 			0x04, 0x6E, 0x9C, 0x4B, 0xDC, 0xAE, 0x51, 0x35,
995 			0x69, 0x0B, 0x86, 0x66, 0xBD, 0x54, 0xB7, 0xA7,
996 			0x03, 0xEA, 0x7B, 0x6F, 0x22, 0x0A, 0x54, 0x69,
997 			0xA5, 0x68, 0x02, 0x7E
998 		},
999 		.len = 2080
1000 	},
1001 	.validAuthLenInBits = {
1002 		.len = 2080
1003 	},
1004 	.digest = {
1005 		.data = {0x03, 0x95, 0x32, 0xe1},
1006 		.len  = 4
1007 	}
1008 };
1009 
1010 static struct wireless_test_data zuc_test_case_auth_584b = {
1011 	.key = {
1012 		.data = {
1013 			0xc9, 0xe6, 0xce, 0xc4, 0x60, 0x7c, 0x72, 0xdb,
1014 			0x00, 0x0a, 0xef, 0xa8, 0x83, 0x85, 0xab, 0x0a
1015 		},
1016 		.len = 16
1017 	},
1018 	.auth_iv = {
1019 		.data = {
1020 			0xa9, 0x40, 0x59, 0xda, 0x50, 0x0, 0x0, 0x0,
1021 			0x29, 0x40, 0x59, 0xda, 0x50, 0x0, 0x80, 0x0
1022 		},
1023 		.len = 16
1024 	},
1025 	.plaintext = {
1026 		.data = {
1027 			0x98, 0x3b, 0x41, 0xd4, 0x7d, 0x78, 0x0c, 0x9e,
1028 			0x1a, 0xd1, 0x1d, 0x7e, 0xb7, 0x03, 0x91, 0xb1,
1029 			0xde, 0x0b, 0x35, 0xda, 0x2d, 0xc6, 0x2f, 0x83,
1030 			0xe7, 0xb7, 0x8d, 0x63, 0x06, 0xca, 0x0e, 0xa0,
1031 			0x7e, 0x94, 0x1b, 0x7b, 0xe9, 0x13, 0x48, 0xf9,
1032 			0xfc, 0xb1, 0x70, 0xe2, 0x21, 0x7f, 0xec, 0xd9,
1033 			0x7f, 0x9f, 0x68, 0xad, 0xb1, 0x6e, 0x5d, 0x7d,
1034 			0x21, 0xe5, 0x69, 0xd2, 0x80, 0xed, 0x77, 0x5c,
1035 			0xeb, 0xde, 0x3f, 0x40, 0x93, 0xc5, 0x38, 0x81,
1036 			0x00, 0x00, 0x00, 0x00
1037 		},
1038 		.len = 584
1039 	},
1040 	.validAuthLenInBits = {
1041 		.len = 584
1042 	},
1043 	.digest = {
1044 		.data = {0x24, 0xa8, 0x42, 0xb3},
1045 		.len  = 4
1046 	}
1047 };
1048 
1049 static struct wireless_test_data zuc_test_case_auth_4000b_mac_128b = {
1050 	.key = {
1051 		.data = {
1052 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1053 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1054 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1055 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1056 		},
1057 		.len = 32
1058 	},
1059 	.auth_iv = {
1060 		.data = {
1061 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1062 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1063 			0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
1064 			0x3f
1065 			},
1066 		.len = 25
1067 	},
1068 	.plaintext = {
1069 		.data = {
1070 			[0 ... 499] = 0x11,
1071 		},
1072 		.len = 4000
1073 	},
1074 	.validAuthLenInBits = {
1075 		.len = 4000
1076 	},
1077 	.digest = {
1078 		.data = {
1079 			0x3a, 0x83, 0xb5, 0x54, 0xbe, 0x40, 0x8c, 0xa5,
1080 			0x49, 0x41, 0x24, 0xed, 0x9d, 0x47, 0x32, 0x05
1081 		},
1082 		.len  = 16
1083 	}
1084 };
1085 
1086 static struct wireless_test_data zuc_test_case_auth_4000b_mac_64b = {
1087 	.key = {
1088 		.data = {
1089 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1090 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1091 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1092 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1093 		},
1094 		.len = 32
1095 	},
1096 	.auth_iv = {
1097 		.data = {
1098 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1099 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1100 			0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
1101 			0x3f
1102 			},
1103 		.len = 25
1104 	},
1105 	.plaintext = {
1106 		.data = {
1107 			[0 ... 499] = 0x11,
1108 		},
1109 		.len = 4000
1110 	},
1111 	.validAuthLenInBits = {
1112 		.len = 4000
1113 	},
1114 	.digest = {
1115 		.data = {
1116 			0xea, 0x1d, 0xee, 0x54, 0x4b, 0xb6, 0x22, 0x3b
1117 		},
1118 		.len  = 8
1119 	}
1120 };
1121 
1122 static struct wireless_test_data zuc_test_case_auth_4000b_mac_32b = {
1123 	.key = {
1124 		.data = {
1125 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1126 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1127 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1128 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1129 		},
1130 		.len = 32
1131 	},
1132 	.auth_iv = {
1133 		.data = {
1134 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1135 			0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1136 			0xff, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,
1137 			0x3f
1138 			},
1139 		.len = 25
1140 	},
1141 	.plaintext = {
1142 		.data = {
1143 			[0 ... 499] = 0x11,
1144 		},
1145 		.len = 4000
1146 	},
1147 	.validAuthLenInBits = {
1148 		.len = 4000
1149 	},
1150 	.digest = {
1151 		.data = {
1152 			0x5c, 0x7c, 0x8b, 0x88
1153 		},
1154 		.len  = 4
1155 	}
1156 };
1157 
1158 
1159 struct wireless_test_data zuc_auth_cipher_test_case_1 = {
1160 	.key = {
1161 		.data = {
1162 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1163 			0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10
1164 		},
1165 		.len = 16
1166 	},
1167 	.cipher_iv = {
1168 		.data = {
1169 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1170 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1171 		},
1172 		.len = 16
1173 	},
1174 	.auth_iv = {
1175 		.data = {
1176 			0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1177 			0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1178 		},
1179 		.len = 16
1180 	},
1181 	.plaintext = {
1182 		.data = {
1183 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1184 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1185 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1186 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1187 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1188 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1189 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1190 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1191 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1192 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1193 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1194 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1195 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1196 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1197 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1198 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A
1199 		},
1200 		.len = 128 << 3
1201 	},
1202 	.ciphertext = {
1203 		.data = {
1204 			0x5A, 0x5A, 0xDB, 0x3D, 0xD5, 0xB7, 0xB9, 0x58,
1205 			0xA5, 0xD3, 0xE3, 0xF9, 0x18, 0x73, 0xB4, 0x74,
1206 			0x05, 0xF0, 0xE9, 0xB6, 0x5D, 0x9A, 0xE3, 0xFA,
1207 			0x5D, 0xFD, 0x24, 0x51, 0xAD, 0x73, 0xCA, 0x64,
1208 			0x91, 0xD5, 0xB3, 0x94, 0x10, 0x91, 0x89, 0xEA,
1209 			0x73, 0x6F, 0xB0, 0x2A, 0x0A, 0x63, 0x0F, 0x8D,
1210 			0x64, 0x87, 0xA3, 0x14, 0x6B, 0x93, 0x31, 0x0F,
1211 			0x14, 0xAD, 0xEA, 0x62, 0x80, 0x3F, 0x44, 0xDD,
1212 			0x4E, 0x30, 0xFA, 0xC8, 0x0E, 0x5F, 0x46, 0xE7,
1213 			0x60, 0xEC, 0xDF, 0x8B, 0x94, 0x7D, 0x2E, 0x63,
1214 			0x48, 0xD9, 0x69, 0x06, 0x13, 0xF2, 0x20, 0x49,
1215 			0x54, 0xA6, 0xD4, 0x98, 0xF4, 0xF6, 0x1D, 0x4A,
1216 			0xC9, 0xA5, 0xDA, 0x46, 0x3D, 0xD9, 0x02, 0x47,
1217 			0x1C, 0x20, 0x73, 0x35, 0x17, 0x1D, 0x81, 0x8D,
1218 			0x2E, 0xCD, 0x70, 0x37, 0x22, 0x55, 0x3C, 0xF3,
1219 			0xDA, 0x70, 0x42, 0x12, 0x0E, 0xAA, 0xC4, 0xAB
1220 		},
1221 		.len = 128 << 3
1222 	},
1223 	.validDataLenInBits = {
1224 		.len = 128 << 3
1225 	},
1226 	.validCipherLenInBits = {
1227 		.len = 126 << 3
1228 	},
1229 	.validAuthLenInBits = {
1230 		.len = 124 << 3
1231 	},
1232 	.validCipherOffsetInBits = {
1233 		.len = 2 << 3
1234 	},
1235 	.digest = {
1236 		.data = {0x0E, 0xAA, 0xC4, 0xAB},
1237 		.len  = 4,
1238 		.offset_bytes = 124
1239 	}
1240 };
1241 
1242 /** ZUC-256 vectors **/
1243 static struct wireless_test_data zuc256_test_case_cipher_1 = {
1244 	.key = {
1245 		.data = {
1246 			0xf7, 0xb4, 0x04, 0x5a, 0x81, 0x5c, 0x1b, 0x01,
1247 			0x82, 0xf9, 0xf4, 0x26, 0x80, 0xd4, 0x56, 0x26,
1248 			0xd5, 0xf7, 0x4b, 0x68, 0x48, 0x6b, 0x92, 0x6a,
1249 			0x34, 0x1f, 0x86, 0x66, 0x60, 0x0a, 0xfc, 0x57
1250 		},
1251 		.len = 32
1252 	},
1253 	.cipher_iv = {
1254 		.data = {
1255 			0x8e, 0x5d, 0xbc, 0x3f, 0xb9, 0xae, 0x66, 0xa3,
1256 			0xb9, 0x5c, 0x12, 0x14, 0xdb, 0xc5, 0xbc, 0x18,
1257 			0x48, 0x12, 0x09, 0x06, 0x25, 0x33, 0x2e, 0x12,
1258 			0x12
1259 		},
1260 		.len = 25
1261 	},
1262 	.plaintext = {
1263 		.data = {
1264 			0x36, 0xdb, 0x63, 0x68, 0xb5, 0x1f, 0x4e, 0x92,
1265 			0x46, 0x1f, 0xde, 0xdb, 0xc2, 0xec, 0xfa, 0x7e,
1266 			0x49, 0x85, 0x77, 0xaa, 0x46, 0x98, 0x30, 0x2d,
1267 			0x3b, 0xc4, 0x11, 0x24, 0x98, 0x20, 0xa9, 0xce,
1268 			0xfb, 0x0d, 0x36, 0xb0, 0x2c, 0x85, 0x42, 0x72,
1269 			0xa4, 0x21, 0x4e, 0x66, 0x0d, 0x48, 0xe4, 0x57,
1270 			0xce, 0x5b, 0x01, 0x14, 0xf3, 0x31, 0x42, 0x2e,
1271 			0xf5, 0x53, 0x52, 0x8d, 0x73, 0xfc, 0x5c, 0x6e,
1272 			0x09, 0x92, 0x1e, 0x35, 0x17, 0x60, 0xa8, 0xbb,
1273 			0x81, 0xf6, 0x21, 0x8f, 0x3e, 0x05, 0xe6, 0x0c,
1274 			0x60, 0xe7, 0x21, 0x53, 0x18, 0x63, 0x81, 0x0d,
1275 			0xb6, 0xd4, 0x9a, 0x29, 0xd0, 0xf6, 0x97, 0xd9,
1276 			0x89, 0xb5, 0x0e, 0xa0, 0x15, 0xb6, 0x5c, 0x97,
1277 			0xac, 0x7d, 0x26, 0xeb, 0x83, 0x0c, 0xf7, 0xe3,
1278 			0xf3, 0x18, 0x37, 0x0b, 0x7b, 0xb8, 0x18, 0x31,
1279 			0x8c, 0xb2, 0x5a, 0x5c, 0xa9, 0xf1, 0x35, 0x32
1280 		},
1281 		.len = 1024
1282 	},
1283 	.ciphertext = {
1284 		.data = {
1285 			0xa6, 0xe5, 0x71, 0x58, 0x5c, 0xcf, 0x5d, 0x0d,
1286 			0x59, 0xb5, 0x51, 0xab, 0xf5, 0xfa, 0x31, 0xf9,
1287 			0x8d, 0x4f, 0xf0, 0x3c, 0x7d, 0x61, 0x8d, 0x7a,
1288 			0x6b, 0xcb, 0x2c, 0x79, 0xca, 0x99, 0x06, 0x6f,
1289 			0xff, 0x5d, 0x12, 0x5f, 0x0e, 0x7a, 0x33, 0x6b,
1290 			0x51, 0xbc, 0x58, 0x53, 0xff, 0xbd, 0x85, 0xc9,
1291 			0xac, 0x5f, 0x33, 0xc2, 0xa2, 0xf1, 0x17, 0x7a,
1292 			0xd9, 0x3f, 0x81, 0x82, 0x2f, 0x0a, 0xb0, 0xaf,
1293 			0xb9, 0x19, 0x3b, 0xfa, 0xcd, 0xa4, 0x06, 0x81,
1294 			0x2a, 0x7a, 0xbf, 0x2c, 0x07, 0xde, 0xc1, 0xa4,
1295 			0x8c, 0x15, 0x85, 0x81, 0xa6, 0xd3, 0x73, 0x1c,
1296 			0x29, 0x0b, 0xee, 0x3c, 0x57, 0xfa, 0x82, 0xad,
1297 			0x6f, 0xe0, 0xa1, 0x54, 0x8d, 0xa4, 0x92, 0x29,
1298 			0xf4, 0xfa, 0x6d, 0x01, 0xe3, 0x6c, 0xb9, 0x76,
1299 			0x80, 0x53, 0xbb, 0x27, 0xb8, 0x18, 0x47, 0x6c,
1300 			0xae, 0xb5, 0x44, 0x60, 0x43, 0x9d, 0xa7, 0x3f
1301 		},
1302 		.len = 1024
1303 	},
1304 	.validDataLenInBits = {
1305 		.len = 1024
1306 	},
1307 	.validCipherLenInBits = {
1308 		.len = 1024
1309 	}
1310 };
1311 
1312 static struct wireless_test_data zuc256_test_case_cipher_2 = {
1313 	.key = {
1314 		.data = {
1315 			0x1d, 0x0f, 0x0e, 0x75, 0x86, 0xb3, 0xfc, 0x65,
1316 			0x94, 0xbf, 0xaa, 0xa8, 0xf5, 0xd0, 0x0f, 0xe8,
1317 			0x14, 0x7a, 0x96, 0x61, 0x15, 0x49, 0x79, 0x71,
1318 			0x13, 0x82, 0xb4, 0xae, 0x34, 0x04, 0x75, 0x51
1319 		},
1320 		.len = 32
1321 	},
1322 	.cipher_iv = {
1323 		.data = {
1324 			0x98, 0xcc, 0x89, 0x9f, 0xaf, 0x6d, 0x64, 0xb6,
1325 			0xb1, 0xe8, 0x21, 0x72, 0xee, 0xb6, 0xcc, 0xe3,
1326 			0xcf, 0x32, 0x28, 0x21, 0x21, 0x0d, 0x1e, 0x1c,
1327 			0x34
1328 		},
1329 		.len = 25
1330 	},
1331 	.plaintext = {
1332 		.data = {
1333 			0xa4, 0xcb, 0x6e, 0x76, 0x99, 0xfb, 0x0c, 0xab,
1334 			0x6d, 0x57, 0xb1, 0x69, 0xc0, 0x47, 0x80, 0x63,
1335 			0x00, 0xe1, 0xf9, 0x51, 0x10, 0xbe, 0xc0, 0x0f,
1336 			0x99, 0x62, 0x2d, 0x71, 0xca, 0x75, 0xa0, 0x6e,
1337 			0x41, 0x0e, 0xe4, 0xda, 0x09, 0xf1, 0x86, 0x76,
1338 			0x48, 0x37, 0xe0, 0x08, 0x7e, 0x60, 0x6c, 0x7f,
1339 			0x41, 0x65, 0xd0, 0x51, 0x24, 0x91, 0x61, 0xbd,
1340 			0xf3, 0x8e, 0x2e, 0xbd, 0x04, 0xce, 0x2b, 0x45,
1341 			0xdc, 0x0f, 0x1f, 0xe5, 0x00, 0xa5, 0x5c, 0x48,
1342 			0xdd, 0x3c, 0x51, 0x5b, 0x9c, 0xbd, 0xda, 0xde,
1343 			0x22, 0xab, 0x2f, 0x46, 0x3c, 0x90, 0x03, 0x2f,
1344 			0x1f, 0x31, 0xec, 0x23, 0xff, 0x17, 0x68, 0xdb,
1345 			0x26, 0x87, 0xc1, 0x27, 0x2d, 0x1d, 0x6f, 0x0a,
1346 			0x59, 0xc0, 0x65, 0xf5, 0x7d, 0x40, 0xd3, 0xa0,
1347 			0xeb, 0x03, 0xe6, 0x27, 0x93, 0xea, 0x56, 0xb2,
1348 			0x1b, 0x42, 0xd5, 0x1b, 0x59, 0x3d, 0xf6, 0x7f,
1349 			0xc5, 0xb7, 0xa6, 0xf2, 0xd4, 0x16, 0xfc, 0x2d,
1350 			0xd6, 0x61, 0x23, 0x54, 0xa1, 0xf6, 0xf4, 0x8c,
1351 			0xf9, 0xda, 0xb3, 0x8d, 0xc4, 0x09, 0x3f, 0xe0,
1352 			0x4b, 0x15, 0xfb, 0xa4, 0x52, 0xf1, 0x24, 0x17,
1353 			0xa9, 0xca, 0x09, 0x7d, 0xe0, 0x05, 0xab, 0xb7,
1354 			0x67, 0xce, 0x0b, 0x08, 0xc4, 0xff, 0x95, 0xbe,
1355 			0xd9, 0x48, 0x4b, 0x9e, 0x52, 0x8a, 0x7e, 0x9d,
1356 			0x9f, 0x79, 0x42, 0xf2, 0x6a, 0x66, 0x09, 0x13,
1357 			0x30, 0x13, 0x91, 0x11, 0x18, 0x3c, 0xc8, 0x7f,
1358 			0x0a, 0xd3, 0x88, 0xce, 0xd2, 0x1d, 0x8c, 0xab,
1359 			0x65, 0xd7, 0x49, 0xb7, 0x62, 0xc7, 0x55, 0x01,
1360 			0x40, 0x97, 0xf3, 0xab, 0xfd, 0xfd, 0xbe, 0x2d,
1361 			0x10, 0x4f, 0x3e, 0x28, 0x8b, 0x06, 0xa8, 0x95,
1362 			0xd9, 0x30, 0x64, 0xab, 0x4d, 0xf0, 0x57, 0xb2,
1363 			0xc8
1364 		},
1365 		.len = 1928
1366 	},
1367 	.ciphertext = {
1368 		.data = {
1369 			0xd0, 0xf9, 0xff, 0xce, 0x03, 0x81, 0x14, 0x9c,
1370 			0xd5, 0xf2, 0xbf, 0xe5, 0xff, 0xc8, 0x15, 0x4a,
1371 			0x9c, 0x06, 0x2b, 0x17, 0x99, 0xe3, 0x48, 0x70,
1372 			0x37, 0x01, 0x5e, 0x24, 0x80, 0x9a, 0x46, 0x4e,
1373 			0xa8, 0xc0, 0x59, 0xd7, 0x03, 0x74, 0x28, 0x91,
1374 			0x79, 0xb4, 0xb5, 0xd6, 0x52, 0x92, 0x04, 0x77,
1375 			0x5b, 0x4f, 0x34, 0xd1, 0xbe, 0xaa, 0x74, 0xd9,
1376 			0x01, 0x40, 0x24, 0xc7, 0x8c, 0x62, 0x2a, 0x51,
1377 			0x5a, 0x58, 0x0e, 0xc8, 0x70, 0x12, 0x06, 0x1c,
1378 			0x62, 0x7f, 0xf5, 0x23, 0xcb, 0x3c, 0xc1, 0xbe,
1379 			0x8b, 0x7f, 0x9d, 0x12, 0xb8, 0x26, 0xc8, 0xa3,
1380 			0x77, 0x7e, 0x83, 0xda, 0x83, 0xe1, 0x9f, 0xef,
1381 			0x33, 0x62, 0x17, 0xa7, 0x74, 0x68, 0x34, 0x5e,
1382 			0x16, 0xcc, 0xbc, 0x6c, 0x33, 0x2f, 0x73, 0xf0,
1383 			0xfc, 0xe5, 0x2c, 0x2d, 0xfb, 0x81, 0xbe, 0x1e,
1384 			0x6e, 0x4f, 0xf4, 0x14, 0x37, 0x7c, 0x97, 0xac,
1385 			0xa9, 0xac, 0x68, 0x95, 0xf3, 0x55, 0xb3, 0xfb,
1386 			0xf6, 0x64, 0xd9, 0x1b, 0xe1, 0x54, 0x79, 0x6e,
1387 			0xfa, 0x21, 0xa4, 0x19, 0x9f, 0xb4, 0x4b, 0xb7,
1388 			0xef, 0x52, 0xd8, 0x44, 0x75, 0x99, 0x07, 0x6d,
1389 			0xa9, 0xcf, 0x32, 0xc5, 0xc1, 0x31, 0x0c, 0xa8,
1390 			0x86, 0x40, 0x75, 0xeb, 0x12, 0xcf, 0x26, 0x5c,
1391 			0x5f, 0xa3, 0x3c, 0xb6, 0x12, 0x45, 0xf3, 0x0a,
1392 			0x38, 0x09, 0xa8, 0x36, 0x32, 0x4a, 0x2f, 0xad,
1393 			0x50, 0x11, 0x38, 0xba, 0x8f, 0xdd, 0xd1, 0x58,
1394 			0xd7, 0x3d, 0x3a, 0x40, 0x7c, 0x3f, 0xa7, 0x98,
1395 			0xf3, 0x12, 0x7f, 0x9f, 0x89, 0xcf, 0x48, 0x58,
1396 			0x01, 0xeb, 0x98, 0x7c, 0x59, 0x11, 0x9f, 0x57,
1397 			0x74, 0x5f, 0x70, 0x72, 0x74, 0xa4, 0x82, 0x3c,
1398 			0x36, 0xe6, 0x31, 0x9e, 0xba, 0x7b, 0x53, 0xfc,
1399 			0x56
1400 		},
1401 		.len = 1928
1402 	},
1403 	.validDataLenInBits = {
1404 		.len = 1928
1405 	},
1406 	.validCipherLenInBits = {
1407 		.len = 1928
1408 	}
1409 };
1410 
1411 static struct wireless_test_data zuc256_test_case_auth_1 = {
1412 	.key = {
1413 		.data = {
1414 			0xe3, 0x8e, 0xaf, 0x08, 0xde, 0x8c, 0x08, 0x41,
1415 			0x7f, 0x2b, 0x97, 0x20, 0x10, 0x87, 0xc7, 0xf7,
1416 			0xbe, 0x3c, 0xd2, 0x68, 0x80, 0x10, 0x1e, 0x71,
1417 			0xfd, 0xb2, 0xbb, 0xad, 0x25, 0x0f, 0x06, 0x08
1418 		},
1419 		.len = 32
1420 	},
1421 	.auth_iv = {
1422 		.data = {
1423 			0xf5, 0x8d, 0x08, 0x26, 0x94, 0x14, 0xc7, 0x4d,
1424 			0xf5, 0x7c, 0x9c, 0xaa, 0x45, 0x53, 0xfd, 0x85,
1425 			0x23, 0x0b, 0x00, 0x0e, 0x26, 0x2b, 0x0f, 0x01,
1426 			0x26
1427 		},
1428 		.len = 25
1429 	},
1430 	.plaintext = {
1431 		.data = {
1432 			0x08, 0xba, 0x8d, 0xf1, 0xf8, 0x62, 0xa6, 0xaf,
1433 			0xf9, 0x03, 0x88, 0x9c, 0xa3, 0x68, 0x6b, 0x87,
1434 			0xb6, 0x92, 0xd1, 0x47, 0x3e, 0x54, 0xaf, 0x46,
1435 			0x07, 0x8f, 0x89, 0xea, 0x26, 0x9d, 0x0e, 0x2f,
1436 			0x57, 0x9b, 0x20, 0x4f, 0xfe, 0xc7, 0xfe, 0xf7,
1437 			0xca, 0x86, 0x93, 0x6d, 0xee
1438 		},
1439 		.len = 360
1440 	},
1441 	.validAuthLenInBits = {
1442 		.len = 360
1443 	},
1444 	.digest = {
1445 		.data = { 0x58, 0x19, 0xab, 0xa5 },
1446 		.len  = 4
1447 	}
1448 };
1449 
1450 static struct wireless_test_data zuc256_test_case_auth_2 = {
1451 	.key = {
1452 		.data = {
1453 			0x6a, 0x7e, 0x4c, 0x7e, 0x51, 0x25, 0xb3, 0x48,
1454 			0x84, 0x53, 0x3a, 0x94, 0xfb, 0x31, 0x99, 0x90,
1455 			0x32, 0x57, 0x44, 0xee, 0x9b, 0xbc, 0xe9, 0xe5,
1456 			0x25, 0xcf, 0x08, 0xf5, 0xe9, 0xe2, 0x5e, 0x53
1457 		},
1458 		.len = 32
1459 	},
1460 	.auth_iv = {
1461 		.data = {
1462 			0x60, 0xaa, 0xd2, 0xb2, 0xd0, 0x85, 0xfa, 0x54,
1463 			0xd8, 0x35, 0xe8, 0xd4, 0x66, 0x82, 0x64, 0x98,
1464 			0xd9, 0x2a, 0x08, 0x1d, 0x35, 0x19, 0x17, 0x01,
1465 			0x1A
1466 		},
1467 		.len = 25
1468 	},
1469 	.plaintext = {
1470 		.data = {
1471 			0xc6, 0x69, 0x73, 0x51, 0xff, 0x4a, 0xec, 0x29,
1472 			0xcd, 0xba, 0xab, 0xf2, 0xfb, 0xe3, 0x46, 0x7c,
1473 			0xc2, 0x54, 0xf8, 0x1b, 0xe8, 0xe7, 0x8d, 0x76,
1474 			0x5a, 0x2e, 0x63, 0x33, 0x9f, 0xc9, 0x9a, 0x66,
1475 			0x32, 0x0d, 0xb7, 0x31, 0x58, 0xa3, 0x5a, 0x25,
1476 			0x5d, 0x05, 0x17, 0x58, 0xe9, 0x5e, 0xd4, 0xab,
1477 			0xb2, 0xcd, 0xc6, 0x9b, 0xb4, 0x54, 0x11, 0x0e,
1478 			0x82, 0x74, 0x41, 0x21, 0x3d, 0xdc, 0x87, 0x70,
1479 			0xe9, 0x3e, 0xa1, 0x41, 0xe1, 0xfc, 0x67, 0x3e,
1480 			0x01, 0x7e, 0x97, 0xea, 0xdc, 0x6b, 0x96, 0x8f,
1481 			0x38, 0x5c, 0x2a, 0xec, 0xb0, 0x3b, 0xfb, 0x32,
1482 			0xaf, 0x3c, 0x54, 0xec, 0x18, 0xdb, 0x5c, 0x02,
1483 			0x1a, 0xfe, 0x43, 0xfb, 0xfa, 0xaa, 0x3a, 0xfb,
1484 			0x29, 0xd1, 0xe6, 0x05, 0x3c, 0x7c, 0x94, 0x75,
1485 			0xd8, 0xbe, 0x61, 0x89, 0xf9, 0x5c, 0xbb, 0xa8,
1486 			0x99, 0x0f, 0x95, 0xb1, 0xeb, 0xf1, 0xb3, 0x05,
1487 			0xef, 0xf7, 0x00, 0xe9, 0xa1, 0x3a, 0xe5, 0xca,
1488 			0x0b, 0xcb, 0xd0, 0x48, 0x47, 0x64, 0xbd, 0x1f,
1489 			0x23, 0x1e, 0xa8, 0x1c, 0x7b, 0x64, 0xc5, 0x14,
1490 			0x73, 0x5a, 0xc5, 0x5e, 0x4b, 0x79, 0x63, 0x3b,
1491 			0x70, 0x64, 0x24, 0x11, 0x9e, 0x09, 0xdc, 0xaa,
1492 			0xd4, 0xac, 0xf2, 0x1b, 0x10, 0xaf, 0x3b, 0x33,
1493 			0xcd, 0xe3, 0x50, 0x48, 0x47, 0x15, 0x5c, 0xbb,
1494 			0x6f, 0x22, 0x19, 0xba, 0x9b, 0x7d, 0xf5, 0x0b,
1495 			0xe1, 0x1a, 0x1c, 0x7f, 0x23, 0xf8, 0x29, 0xf8,
1496 			0xa4, 0x1b, 0x13, 0xb5, 0xca, 0x4e, 0xe8, 0x98,
1497 			0x32, 0x38, 0xe0, 0x79, 0x4d, 0x3d, 0x34, 0xbc,
1498 			0x5f, 0x4e, 0x77, 0xfa, 0xcb, 0x6c, 0x05, 0xac,
1499 			0x86, 0x21, 0x2b, 0xaa, 0x1a, 0x55, 0xa2, 0xbe,
1500 			0x70, 0xb5, 0x73, 0x3b, 0x04, 0x5c, 0xd3, 0x36,
1501 			0x94, 0xb3, 0xaf, 0xe2, 0xf0, 0xe4, 0x9e, 0x4f,
1502 			0x32, 0x15, 0x49, 0xfd, 0x82, 0x4e, 0xa9, 0x08,
1503 			0x70, 0xd4, 0xb2, 0x8a, 0x29, 0x54, 0x48, 0x9a,
1504 			0x0a, 0xbc, 0xd5, 0x0e, 0x18, 0xa8, 0x44, 0xac,
1505 			0x5b, 0xf3, 0x8e, 0x4c, 0xd7, 0x2d, 0x9b, 0x09,
1506 			0x42, 0xe5, 0x06, 0xc4, 0x33, 0xaf, 0xcd, 0xa3,
1507 			0x84, 0x7f, 0x2d, 0xad, 0xd4, 0x76, 0x47, 0xde,
1508 			0x32, 0x1c, 0xec, 0x4a, 0xc4, 0x30, 0xf6, 0x20,
1509 			0x23, 0x85, 0x6c, 0xfb, 0xb2, 0x07, 0x04, 0xf4,
1510 			0xec, 0x0b, 0xb9, 0x20, 0xba, 0x86, 0xc3, 0x3e,
1511 			0x05, 0xf1, 0xec, 0xd9, 0x67, 0x33, 0xb7, 0x99,
1512 			0x50, 0xa3, 0xe3, 0x14, 0xd3, 0xd9, 0x34, 0xf7,
1513 			0x5e, 0xa0, 0xf2, 0x10, 0xa8, 0xf6, 0x05, 0x94,
1514 			0x01, 0xbe, 0xb4, 0xbc, 0x44, 0x78, 0xfa, 0x49,
1515 			0x69, 0xe6, 0x23, 0xd0, 0x1a, 0xda, 0x69
1516 		},
1517 		.len = 2872
1518 	},
1519 	.validAuthLenInBits = {
1520 		.len = 2872
1521 	},
1522 	.digest = {
1523 		.data = { 0xd1, 0x1e, 0x33, 0xf6 },
1524 		.len  = 4
1525 	}
1526 };
1527 
1528 #endif /* TEST_CRYPTODEV_ZUC_TEST_VECTORS_H_ */
1529