xref: /dpdk/app/test/test_cryptodev_zuc_test_vectors.h (revision 0efea35a2bb0ae9df6e204151c7f96b5eb93e130)
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 		alignas(16) uint8_t data[64];
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, 0x18, 0x00, 0x00, 0x00,
562 			0xFA, 0x55, 0x6B, 0x26, 0x18, 0x00, 0x00, 0x00
563 		},
564 		.len = 16
565 	},
566 	.digest = {
567 		.data = {0x2F, 0x45, 0x7D, 0x7B},
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, 0x18, 0x00, 0x00, 0x00,
635 			0xFA, 0x55, 0x6B, 0x26, 0x18, 0x00, 0x00, 0x00
636 		},
637 		.len = 16
638 	},
639 	.digest = {
640 		.data = {0xCA, 0xBB, 0x8D, 0x94},
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 			0x66, 0x03, 0x54, 0x92, 0x78, 0x00, 0x00, 0x00,
1170 			0x66, 0x03, 0x54, 0x92, 0x78, 0x00, 0x00, 0x00
1171 		},
1172 		.len = 16
1173 	},
1174 	.auth_iv = {
1175 		.data = {
1176 			0xFA, 0x55, 0x6B, 0x26, 0x18, 0x00, 0x00, 0x00,
1177 			0xFA, 0x55, 0x6B, 0x26, 0x18, 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, 0x94, 0xE7, 0xB8, 0xD7, 0x4E, 0xBB,
1205 			0x4C, 0xC3, 0xD1, 0x16, 0xFC, 0x8C, 0xE4, 0x27,
1206 			0x44, 0xEC, 0x04, 0x26, 0x60, 0x9C, 0xFF, 0x81,
1207 			0xB6, 0x2B, 0x48, 0x1D, 0xEE, 0x26, 0xF7, 0x58,
1208 			0x40, 0x38, 0x58, 0xEA, 0x22, 0x23, 0xE6, 0x34,
1209 			0x9A, 0x69, 0x32, 0x68, 0xBD, 0xDD, 0x7D, 0xA3,
1210 			0xC0, 0x04, 0x79, 0xF0, 0xF1, 0x58, 0x78, 0x5E,
1211 			0xD0, 0xDF, 0x27, 0x9A, 0x53, 0x70, 0x5D, 0xFB,
1212 			0x1B, 0xCA, 0xBA, 0x97, 0x12, 0x1F, 0x59, 0x6B,
1213 			0x75, 0x7B, 0x94, 0xF6, 0xE7, 0xFA, 0x49, 0x6B,
1214 			0x7D, 0x7F, 0x8F, 0x0F, 0x78, 0x56, 0x40, 0x52,
1215 			0x84, 0x3E, 0xA9, 0xE8, 0x84, 0x6F, 0xEF, 0xFB,
1216 			0x4A, 0x48, 0x3A, 0x4C, 0x81, 0x98, 0xDD, 0x17,
1217 			0x89, 0x66, 0x3B, 0xC0, 0xEC, 0x71, 0xDB, 0xF6,
1218 			0x44, 0xDF, 0xA7, 0x97, 0xB2, 0x9B, 0x84, 0xA7,
1219 			0x2D, 0x2D, 0xC1, 0x93, 0x12, 0x37, 0xEA, 0xD2
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 = {0x12, 0x37, 0xEA, 0xD2},
1237 		.len  = 4,
1238 		.offset_bytes = 124
1239 	}
1240 };
1241 
1242 struct wireless_test_data zuc_auth_cipher_test_case_2 = {
1243 	.key = {
1244 		.data = {
1245 			0xE5, 0xBD, 0x3E, 0xA0, 0xEB, 0x55, 0xAD, 0xE8,
1246 			0x66, 0xC6, 0xAC, 0x58, 0xBD, 0x54, 0x30, 0x2A
1247 		},
1248 		.len = 16
1249 	},
1250 	.cipher_iv = {
1251 		.data = {
1252 			0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00,
1253 			0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00
1254 		},
1255 		.len = 16
1256 	},
1257 	.auth_iv = {
1258 		.data = {
1259 			0xFA, 0x55, 0x6B, 0x26, 0x18, 0x00, 0x00, 0x00,
1260 			0xFA, 0x55, 0x6B, 0x26, 0x18, 0x00, 0x00, 0x00
1261 		},
1262 		.len = 16
1263 	},
1264 	.plaintext = {
1265 		.data = {
1266 			0x14, 0xA8, 0xEF, 0x69, 0x3D, 0x67, 0x85, 0x07,
1267 			0xBB, 0xE7, 0x27, 0x0A, 0x7F, 0x67, 0xFF, 0x50,
1268 			0x06, 0xC3, 0x52, 0x5B, 0x98, 0x07, 0xE4, 0x67,
1269 			0xC4, 0xE5, 0x60, 0x00, 0xBA, 0x33, 0x8F, 0x5D,
1270 			0x42, 0x95, 0x59, 0x03, 0x67, 0x51, 0x82, 0x22,
1271 			0x46, 0xC8, 0x0D, 0x3B, 0x38, 0xF0, 0x7F, 0x4B,
1272 			0xE2, 0xD8, 0xFF, 0x58, 0x05, 0xF5, 0x13, 0x22,
1273 			0x29, 0xBD, 0xE9, 0x3B, 0xBB, 0xDC, 0xAF, 0x38,
1274 			0x2B, 0xF1, 0xEE, 0x97, 0x2F, 0xBF, 0x99, 0x77,
1275 			0xBA, 0xDA, 0x89, 0x45, 0x84, 0x7A, 0x2A, 0x6C,
1276 			0x9A, 0xD3, 0x4A, 0x66, 0x75, 0x54, 0xE0, 0x4D,
1277 			0x1F, 0x7F, 0xA2, 0xC3, 0x32, 0x41, 0xBD, 0x8F,
1278 			0x01, 0xBA, 0x22, 0x0D
1279 		},
1280 		.len = 96 << 3
1281 	},
1282 	.ciphertext = {
1283 		.data = {
1284 			0x13, 0x1D, 0x43, 0xE0, 0xDE, 0xA1, 0xBE, 0x5C,
1285 			0x5A, 0x1B, 0xFD, 0x97, 0x1D, 0x85, 0x2C, 0xBF,
1286 			0x71, 0x2D, 0x7B, 0x4F, 0x57, 0x96, 0x1F, 0xEA,
1287 			0x32, 0x08, 0xAF, 0xA8, 0xBC, 0xA4, 0x33, 0xF4,
1288 			0x56, 0xAD, 0x09, 0xC7, 0x41, 0x7E, 0x58, 0xBC,
1289 			0x69, 0xCF, 0x88, 0x66, 0xD1, 0x35, 0x3F, 0x74,
1290 			0x86, 0x5E, 0x80, 0x78, 0x1D, 0x20, 0x2D, 0xFB,
1291 			0x3E, 0xCF, 0xF7, 0xFC, 0xBC, 0x3B, 0x19, 0x0F,
1292 			0xE8, 0x2A, 0x20, 0x4E, 0xD0, 0xE3, 0x50, 0xFC,
1293 			0x0F, 0x6F, 0x26, 0x13, 0xB2, 0xF2, 0xBC, 0xA6,
1294 			0xDF, 0x5A, 0x47, 0x3A, 0x57, 0xA4, 0xA0, 0x0D,
1295 			0x98, 0x5E, 0xBA, 0xD8, 0x80, 0xD6, 0xF2, 0x38,
1296 			0x00, 0x3B, 0x7C, 0x75
1297 		},
1298 		.len = 800
1299 	},
1300 	.validDataLenInBits = {
1301 		.len = 800
1302 	},
1303 	.validCipherLenInBits = {
1304 		.len = 800
1305 	},
1306 	.validAuthLenInBits = {
1307 		.len = 96 << 3
1308 	},
1309 	.validCipherOffsetInBits = {
1310 		.len = 0
1311 	},
1312 	.digest = {
1313 		.data = { 0x00, 0x3B, 0x7C, 0x75 },
1314 		.len  = 4,
1315 		.offset_bytes = 96
1316 	}
1317 };
1318 
1319 /** ZUC-256 vectors **/
1320 static struct wireless_test_data zuc256_test_case_cipher_1 = {
1321 	.key = {
1322 		.data = {
1323 			0xf7, 0xb4, 0x04, 0x5a, 0x81, 0x5c, 0x1b, 0x01,
1324 			0x82, 0xf9, 0xf4, 0x26, 0x80, 0xd4, 0x56, 0x26,
1325 			0xd5, 0xf7, 0x4b, 0x68, 0x48, 0x6b, 0x92, 0x6a,
1326 			0x34, 0x1f, 0x86, 0x66, 0x60, 0x0a, 0xfc, 0x57
1327 		},
1328 		.len = 32
1329 	},
1330 	.cipher_iv = {
1331 		.data = {
1332 			0x8e, 0x5d, 0xbc, 0x3f, 0xb9, 0xae, 0x66, 0xa3,
1333 			0xb9, 0x5c, 0x12, 0x14, 0xdb, 0xc5, 0xbc, 0x18,
1334 			0x48, 0x12, 0x09, 0x06, 0x25, 0x33, 0x2e, 0x12,
1335 			0x12
1336 		},
1337 		.len = 25
1338 	},
1339 	.plaintext = {
1340 		.data = {
1341 			0x36, 0xdb, 0x63, 0x68, 0xb5, 0x1f, 0x4e, 0x92,
1342 			0x46, 0x1f, 0xde, 0xdb, 0xc2, 0xec, 0xfa, 0x7e,
1343 			0x49, 0x85, 0x77, 0xaa, 0x46, 0x98, 0x30, 0x2d,
1344 			0x3b, 0xc4, 0x11, 0x24, 0x98, 0x20, 0xa9, 0xce,
1345 			0xfb, 0x0d, 0x36, 0xb0, 0x2c, 0x85, 0x42, 0x72,
1346 			0xa4, 0x21, 0x4e, 0x66, 0x0d, 0x48, 0xe4, 0x57,
1347 			0xce, 0x5b, 0x01, 0x14, 0xf3, 0x31, 0x42, 0x2e,
1348 			0xf5, 0x53, 0x52, 0x8d, 0x73, 0xfc, 0x5c, 0x6e,
1349 			0x09, 0x92, 0x1e, 0x35, 0x17, 0x60, 0xa8, 0xbb,
1350 			0x81, 0xf6, 0x21, 0x8f, 0x3e, 0x05, 0xe6, 0x0c,
1351 			0x60, 0xe7, 0x21, 0x53, 0x18, 0x63, 0x81, 0x0d,
1352 			0xb6, 0xd4, 0x9a, 0x29, 0xd0, 0xf6, 0x97, 0xd9,
1353 			0x89, 0xb5, 0x0e, 0xa0, 0x15, 0xb6, 0x5c, 0x97,
1354 			0xac, 0x7d, 0x26, 0xeb, 0x83, 0x0c, 0xf7, 0xe3,
1355 			0xf3, 0x18, 0x37, 0x0b, 0x7b, 0xb8, 0x18, 0x31,
1356 			0x8c, 0xb2, 0x5a, 0x5c, 0xa9, 0xf1, 0x35, 0x32
1357 		},
1358 		.len = 1024
1359 	},
1360 	.ciphertext = {
1361 		.data = {
1362 			0xa6, 0xe5, 0x71, 0x58, 0x5c, 0xcf, 0x5d, 0x0d,
1363 			0x59, 0xb5, 0x51, 0xab, 0xf5, 0xfa, 0x31, 0xf9,
1364 			0x8d, 0x4f, 0xf0, 0x3c, 0x7d, 0x61, 0x8d, 0x7a,
1365 			0x6b, 0xcb, 0x2c, 0x79, 0xca, 0x99, 0x06, 0x6f,
1366 			0xff, 0x5d, 0x12, 0x5f, 0x0e, 0x7a, 0x33, 0x6b,
1367 			0x51, 0xbc, 0x58, 0x53, 0xff, 0xbd, 0x85, 0xc9,
1368 			0xac, 0x5f, 0x33, 0xc2, 0xa2, 0xf1, 0x17, 0x7a,
1369 			0xd9, 0x3f, 0x81, 0x82, 0x2f, 0x0a, 0xb0, 0xaf,
1370 			0xb9, 0x19, 0x3b, 0xfa, 0xcd, 0xa4, 0x06, 0x81,
1371 			0x2a, 0x7a, 0xbf, 0x2c, 0x07, 0xde, 0xc1, 0xa4,
1372 			0x8c, 0x15, 0x85, 0x81, 0xa6, 0xd3, 0x73, 0x1c,
1373 			0x29, 0x0b, 0xee, 0x3c, 0x57, 0xfa, 0x82, 0xad,
1374 			0x6f, 0xe0, 0xa1, 0x54, 0x8d, 0xa4, 0x92, 0x29,
1375 			0xf4, 0xfa, 0x6d, 0x01, 0xe3, 0x6c, 0xb9, 0x76,
1376 			0x80, 0x53, 0xbb, 0x27, 0xb8, 0x18, 0x47, 0x6c,
1377 			0xae, 0xb5, 0x44, 0x60, 0x43, 0x9d, 0xa7, 0x3f
1378 		},
1379 		.len = 1024
1380 	},
1381 	.validDataLenInBits = {
1382 		.len = 1024
1383 	},
1384 	.validCipherLenInBits = {
1385 		.len = 1024
1386 	}
1387 };
1388 
1389 static struct wireless_test_data zuc256_test_case_cipher_2 = {
1390 	.key = {
1391 		.data = {
1392 			0x1d, 0x0f, 0x0e, 0x75, 0x86, 0xb3, 0xfc, 0x65,
1393 			0x94, 0xbf, 0xaa, 0xa8, 0xf5, 0xd0, 0x0f, 0xe8,
1394 			0x14, 0x7a, 0x96, 0x61, 0x15, 0x49, 0x79, 0x71,
1395 			0x13, 0x82, 0xb4, 0xae, 0x34, 0x04, 0x75, 0x51
1396 		},
1397 		.len = 32
1398 	},
1399 	.cipher_iv = {
1400 		.data = {
1401 			0x98, 0xcc, 0x89, 0x9f, 0xaf, 0x6d, 0x64, 0xb6,
1402 			0xb1, 0xe8, 0x21, 0x72, 0xee, 0xb6, 0xcc, 0xe3,
1403 			0xcf, 0x32, 0x28, 0x21, 0x21, 0x0d, 0x1e, 0x1c,
1404 			0x34
1405 		},
1406 		.len = 25
1407 	},
1408 	.plaintext = {
1409 		.data = {
1410 			0xa4, 0xcb, 0x6e, 0x76, 0x99, 0xfb, 0x0c, 0xab,
1411 			0x6d, 0x57, 0xb1, 0x69, 0xc0, 0x47, 0x80, 0x63,
1412 			0x00, 0xe1, 0xf9, 0x51, 0x10, 0xbe, 0xc0, 0x0f,
1413 			0x99, 0x62, 0x2d, 0x71, 0xca, 0x75, 0xa0, 0x6e,
1414 			0x41, 0x0e, 0xe4, 0xda, 0x09, 0xf1, 0x86, 0x76,
1415 			0x48, 0x37, 0xe0, 0x08, 0x7e, 0x60, 0x6c, 0x7f,
1416 			0x41, 0x65, 0xd0, 0x51, 0x24, 0x91, 0x61, 0xbd,
1417 			0xf3, 0x8e, 0x2e, 0xbd, 0x04, 0xce, 0x2b, 0x45,
1418 			0xdc, 0x0f, 0x1f, 0xe5, 0x00, 0xa5, 0x5c, 0x48,
1419 			0xdd, 0x3c, 0x51, 0x5b, 0x9c, 0xbd, 0xda, 0xde,
1420 			0x22, 0xab, 0x2f, 0x46, 0x3c, 0x90, 0x03, 0x2f,
1421 			0x1f, 0x31, 0xec, 0x23, 0xff, 0x17, 0x68, 0xdb,
1422 			0x26, 0x87, 0xc1, 0x27, 0x2d, 0x1d, 0x6f, 0x0a,
1423 			0x59, 0xc0, 0x65, 0xf5, 0x7d, 0x40, 0xd3, 0xa0,
1424 			0xeb, 0x03, 0xe6, 0x27, 0x93, 0xea, 0x56, 0xb2,
1425 			0x1b, 0x42, 0xd5, 0x1b, 0x59, 0x3d, 0xf6, 0x7f,
1426 			0xc5, 0xb7, 0xa6, 0xf2, 0xd4, 0x16, 0xfc, 0x2d,
1427 			0xd6, 0x61, 0x23, 0x54, 0xa1, 0xf6, 0xf4, 0x8c,
1428 			0xf9, 0xda, 0xb3, 0x8d, 0xc4, 0x09, 0x3f, 0xe0,
1429 			0x4b, 0x15, 0xfb, 0xa4, 0x52, 0xf1, 0x24, 0x17,
1430 			0xa9, 0xca, 0x09, 0x7d, 0xe0, 0x05, 0xab, 0xb7,
1431 			0x67, 0xce, 0x0b, 0x08, 0xc4, 0xff, 0x95, 0xbe,
1432 			0xd9, 0x48, 0x4b, 0x9e, 0x52, 0x8a, 0x7e, 0x9d,
1433 			0x9f, 0x79, 0x42, 0xf2, 0x6a, 0x66, 0x09, 0x13,
1434 			0x30, 0x13, 0x91, 0x11, 0x18, 0x3c, 0xc8, 0x7f,
1435 			0x0a, 0xd3, 0x88, 0xce, 0xd2, 0x1d, 0x8c, 0xab,
1436 			0x65, 0xd7, 0x49, 0xb7, 0x62, 0xc7, 0x55, 0x01,
1437 			0x40, 0x97, 0xf3, 0xab, 0xfd, 0xfd, 0xbe, 0x2d,
1438 			0x10, 0x4f, 0x3e, 0x28, 0x8b, 0x06, 0xa8, 0x95,
1439 			0xd9, 0x30, 0x64, 0xab, 0x4d, 0xf0, 0x57, 0xb2,
1440 			0xc8
1441 		},
1442 		.len = 1928
1443 	},
1444 	.ciphertext = {
1445 		.data = {
1446 			0xd0, 0xf9, 0xff, 0xce, 0x03, 0x81, 0x14, 0x9c,
1447 			0xd5, 0xf2, 0xbf, 0xe5, 0xff, 0xc8, 0x15, 0x4a,
1448 			0x9c, 0x06, 0x2b, 0x17, 0x99, 0xe3, 0x48, 0x70,
1449 			0x37, 0x01, 0x5e, 0x24, 0x80, 0x9a, 0x46, 0x4e,
1450 			0xa8, 0xc0, 0x59, 0xd7, 0x03, 0x74, 0x28, 0x91,
1451 			0x79, 0xb4, 0xb5, 0xd6, 0x52, 0x92, 0x04, 0x77,
1452 			0x5b, 0x4f, 0x34, 0xd1, 0xbe, 0xaa, 0x74, 0xd9,
1453 			0x01, 0x40, 0x24, 0xc7, 0x8c, 0x62, 0x2a, 0x51,
1454 			0x5a, 0x58, 0x0e, 0xc8, 0x70, 0x12, 0x06, 0x1c,
1455 			0x62, 0x7f, 0xf5, 0x23, 0xcb, 0x3c, 0xc1, 0xbe,
1456 			0x8b, 0x7f, 0x9d, 0x12, 0xb8, 0x26, 0xc8, 0xa3,
1457 			0x77, 0x7e, 0x83, 0xda, 0x83, 0xe1, 0x9f, 0xef,
1458 			0x33, 0x62, 0x17, 0xa7, 0x74, 0x68, 0x34, 0x5e,
1459 			0x16, 0xcc, 0xbc, 0x6c, 0x33, 0x2f, 0x73, 0xf0,
1460 			0xfc, 0xe5, 0x2c, 0x2d, 0xfb, 0x81, 0xbe, 0x1e,
1461 			0x6e, 0x4f, 0xf4, 0x14, 0x37, 0x7c, 0x97, 0xac,
1462 			0xa9, 0xac, 0x68, 0x95, 0xf3, 0x55, 0xb3, 0xfb,
1463 			0xf6, 0x64, 0xd9, 0x1b, 0xe1, 0x54, 0x79, 0x6e,
1464 			0xfa, 0x21, 0xa4, 0x19, 0x9f, 0xb4, 0x4b, 0xb7,
1465 			0xef, 0x52, 0xd8, 0x44, 0x75, 0x99, 0x07, 0x6d,
1466 			0xa9, 0xcf, 0x32, 0xc5, 0xc1, 0x31, 0x0c, 0xa8,
1467 			0x86, 0x40, 0x75, 0xeb, 0x12, 0xcf, 0x26, 0x5c,
1468 			0x5f, 0xa3, 0x3c, 0xb6, 0x12, 0x45, 0xf3, 0x0a,
1469 			0x38, 0x09, 0xa8, 0x36, 0x32, 0x4a, 0x2f, 0xad,
1470 			0x50, 0x11, 0x38, 0xba, 0x8f, 0xdd, 0xd1, 0x58,
1471 			0xd7, 0x3d, 0x3a, 0x40, 0x7c, 0x3f, 0xa7, 0x98,
1472 			0xf3, 0x12, 0x7f, 0x9f, 0x89, 0xcf, 0x48, 0x58,
1473 			0x01, 0xeb, 0x98, 0x7c, 0x59, 0x11, 0x9f, 0x57,
1474 			0x74, 0x5f, 0x70, 0x72, 0x74, 0xa4, 0x82, 0x3c,
1475 			0x36, 0xe6, 0x31, 0x9e, 0xba, 0x7b, 0x53, 0xfc,
1476 			0x56
1477 		},
1478 		.len = 1928
1479 	},
1480 	.validDataLenInBits = {
1481 		.len = 1928
1482 	},
1483 	.validCipherLenInBits = {
1484 		.len = 1928
1485 	}
1486 };
1487 
1488 static struct wireless_test_data zuc256_test_case_auth_1 = {
1489 	.key = {
1490 		.data = {
1491 			0xe3, 0x8e, 0xaf, 0x08, 0xde, 0x8c, 0x08, 0x41,
1492 			0x7f, 0x2b, 0x97, 0x20, 0x10, 0x87, 0xc7, 0xf7,
1493 			0xbe, 0x3c, 0xd2, 0x68, 0x80, 0x10, 0x1e, 0x71,
1494 			0xfd, 0xb2, 0xbb, 0xad, 0x25, 0x0f, 0x06, 0x08
1495 		},
1496 		.len = 32
1497 	},
1498 	.auth_iv = {
1499 		.data = {
1500 			0xf5, 0x8d, 0x08, 0x26, 0x94, 0x14, 0xc7, 0x4d,
1501 			0xf5, 0x7c, 0x9c, 0xaa, 0x45, 0x53, 0xfd, 0x85,
1502 			0x23, 0x0b, 0x00, 0x0e, 0x26, 0x2b, 0x0f, 0x01,
1503 			0x26
1504 		},
1505 		.len = 25
1506 	},
1507 	.plaintext = {
1508 		.data = {
1509 			0x08, 0xba, 0x8d, 0xf1, 0xf8, 0x62, 0xa6, 0xaf,
1510 			0xf9, 0x03, 0x88, 0x9c, 0xa3, 0x68, 0x6b, 0x87,
1511 			0xb6, 0x92, 0xd1, 0x47, 0x3e, 0x54, 0xaf, 0x46,
1512 			0x07, 0x8f, 0x89, 0xea, 0x26, 0x9d, 0x0e, 0x2f,
1513 			0x57, 0x9b, 0x20, 0x4f, 0xfe, 0xc7, 0xfe, 0xf7,
1514 			0xca, 0x86, 0x93, 0x6d, 0xee
1515 		},
1516 		.len = 360
1517 	},
1518 	.validAuthLenInBits = {
1519 		.len = 360
1520 	},
1521 	.digest = {
1522 		.data = { 0x58, 0x19, 0xab, 0xa5 },
1523 		.len  = 4
1524 	}
1525 };
1526 
1527 static struct wireless_test_data zuc256_test_case_auth_2 = {
1528 	.key = {
1529 		.data = {
1530 			0x6a, 0x7e, 0x4c, 0x7e, 0x51, 0x25, 0xb3, 0x48,
1531 			0x84, 0x53, 0x3a, 0x94, 0xfb, 0x31, 0x99, 0x90,
1532 			0x32, 0x57, 0x44, 0xee, 0x9b, 0xbc, 0xe9, 0xe5,
1533 			0x25, 0xcf, 0x08, 0xf5, 0xe9, 0xe2, 0x5e, 0x53
1534 		},
1535 		.len = 32
1536 	},
1537 	.auth_iv = {
1538 		.data = {
1539 			0x60, 0xaa, 0xd2, 0xb2, 0xd0, 0x85, 0xfa, 0x54,
1540 			0xd8, 0x35, 0xe8, 0xd4, 0x66, 0x82, 0x64, 0x98,
1541 			0xd9, 0x2a, 0x08, 0x1d, 0x35, 0x19, 0x17, 0x01,
1542 			0x1A
1543 		},
1544 		.len = 25
1545 	},
1546 	.plaintext = {
1547 		.data = {
1548 			0xc6, 0x69, 0x73, 0x51, 0xff, 0x4a, 0xec, 0x29,
1549 			0xcd, 0xba, 0xab, 0xf2, 0xfb, 0xe3, 0x46, 0x7c,
1550 			0xc2, 0x54, 0xf8, 0x1b, 0xe8, 0xe7, 0x8d, 0x76,
1551 			0x5a, 0x2e, 0x63, 0x33, 0x9f, 0xc9, 0x9a, 0x66,
1552 			0x32, 0x0d, 0xb7, 0x31, 0x58, 0xa3, 0x5a, 0x25,
1553 			0x5d, 0x05, 0x17, 0x58, 0xe9, 0x5e, 0xd4, 0xab,
1554 			0xb2, 0xcd, 0xc6, 0x9b, 0xb4, 0x54, 0x11, 0x0e,
1555 			0x82, 0x74, 0x41, 0x21, 0x3d, 0xdc, 0x87, 0x70,
1556 			0xe9, 0x3e, 0xa1, 0x41, 0xe1, 0xfc, 0x67, 0x3e,
1557 			0x01, 0x7e, 0x97, 0xea, 0xdc, 0x6b, 0x96, 0x8f,
1558 			0x38, 0x5c, 0x2a, 0xec, 0xb0, 0x3b, 0xfb, 0x32,
1559 			0xaf, 0x3c, 0x54, 0xec, 0x18, 0xdb, 0x5c, 0x02,
1560 			0x1a, 0xfe, 0x43, 0xfb, 0xfa, 0xaa, 0x3a, 0xfb,
1561 			0x29, 0xd1, 0xe6, 0x05, 0x3c, 0x7c, 0x94, 0x75,
1562 			0xd8, 0xbe, 0x61, 0x89, 0xf9, 0x5c, 0xbb, 0xa8,
1563 			0x99, 0x0f, 0x95, 0xb1, 0xeb, 0xf1, 0xb3, 0x05,
1564 			0xef, 0xf7, 0x00, 0xe9, 0xa1, 0x3a, 0xe5, 0xca,
1565 			0x0b, 0xcb, 0xd0, 0x48, 0x47, 0x64, 0xbd, 0x1f,
1566 			0x23, 0x1e, 0xa8, 0x1c, 0x7b, 0x64, 0xc5, 0x14,
1567 			0x73, 0x5a, 0xc5, 0x5e, 0x4b, 0x79, 0x63, 0x3b,
1568 			0x70, 0x64, 0x24, 0x11, 0x9e, 0x09, 0xdc, 0xaa,
1569 			0xd4, 0xac, 0xf2, 0x1b, 0x10, 0xaf, 0x3b, 0x33,
1570 			0xcd, 0xe3, 0x50, 0x48, 0x47, 0x15, 0x5c, 0xbb,
1571 			0x6f, 0x22, 0x19, 0xba, 0x9b, 0x7d, 0xf5, 0x0b,
1572 			0xe1, 0x1a, 0x1c, 0x7f, 0x23, 0xf8, 0x29, 0xf8,
1573 			0xa4, 0x1b, 0x13, 0xb5, 0xca, 0x4e, 0xe8, 0x98,
1574 			0x32, 0x38, 0xe0, 0x79, 0x4d, 0x3d, 0x34, 0xbc,
1575 			0x5f, 0x4e, 0x77, 0xfa, 0xcb, 0x6c, 0x05, 0xac,
1576 			0x86, 0x21, 0x2b, 0xaa, 0x1a, 0x55, 0xa2, 0xbe,
1577 			0x70, 0xb5, 0x73, 0x3b, 0x04, 0x5c, 0xd3, 0x36,
1578 			0x94, 0xb3, 0xaf, 0xe2, 0xf0, 0xe4, 0x9e, 0x4f,
1579 			0x32, 0x15, 0x49, 0xfd, 0x82, 0x4e, 0xa9, 0x08,
1580 			0x70, 0xd4, 0xb2, 0x8a, 0x29, 0x54, 0x48, 0x9a,
1581 			0x0a, 0xbc, 0xd5, 0x0e, 0x18, 0xa8, 0x44, 0xac,
1582 			0x5b, 0xf3, 0x8e, 0x4c, 0xd7, 0x2d, 0x9b, 0x09,
1583 			0x42, 0xe5, 0x06, 0xc4, 0x33, 0xaf, 0xcd, 0xa3,
1584 			0x84, 0x7f, 0x2d, 0xad, 0xd4, 0x76, 0x47, 0xde,
1585 			0x32, 0x1c, 0xec, 0x4a, 0xc4, 0x30, 0xf6, 0x20,
1586 			0x23, 0x85, 0x6c, 0xfb, 0xb2, 0x07, 0x04, 0xf4,
1587 			0xec, 0x0b, 0xb9, 0x20, 0xba, 0x86, 0xc3, 0x3e,
1588 			0x05, 0xf1, 0xec, 0xd9, 0x67, 0x33, 0xb7, 0x99,
1589 			0x50, 0xa3, 0xe3, 0x14, 0xd3, 0xd9, 0x34, 0xf7,
1590 			0x5e, 0xa0, 0xf2, 0x10, 0xa8, 0xf6, 0x05, 0x94,
1591 			0x01, 0xbe, 0xb4, 0xbc, 0x44, 0x78, 0xfa, 0x49,
1592 			0x69, 0xe6, 0x23, 0xd0, 0x1a, 0xda, 0x69
1593 		},
1594 		.len = 2872
1595 	},
1596 	.validAuthLenInBits = {
1597 		.len = 2872
1598 	},
1599 	.digest = {
1600 		.data = { 0xd1, 0x1e, 0x33, 0xf6 },
1601 		.len  = 4
1602 	}
1603 };
1604 
1605 static struct wireless_test_data zuc256_test_case_cipher_auth_1 = {
1606 	.key = {
1607 		.data = {
1608 			0xf7, 0xb4, 0x04, 0x5a, 0x81, 0x5c, 0x1b, 0x01,
1609 			0x82, 0xf9, 0xf4, 0x26, 0x80, 0xd4, 0x56, 0x26,
1610 			0xd5, 0xf7, 0x4b, 0x68, 0x48, 0x6b, 0x92, 0x6a,
1611 			0x34, 0x1f, 0x86, 0x66, 0x60, 0x0a, 0xfc, 0x57
1612 		},
1613 		.len = 32
1614 	},
1615 	.cipher_iv = {
1616 		.data = {
1617 			0x8e, 0x5d, 0xbc, 0x3f, 0xb9, 0xae, 0x66, 0xa3,
1618 			0xb9, 0x5c, 0x12, 0x14, 0xdb, 0xc5, 0xbc, 0x18,
1619 			0x48, 0x12, 0x09, 0x06, 0x25, 0x33, 0x2e, 0x12,
1620 			0x12
1621 		},
1622 		.len = 25
1623 	},
1624 	.plaintext = {
1625 		.data = {
1626 			0x36, 0xdb, 0x63, 0x68, 0xb5, 0x1f, 0x4e, 0x92,
1627 			0x46, 0x1f, 0xde, 0xdb, 0xc2, 0xec, 0xfa, 0x7e,
1628 			0x49, 0x85, 0x77, 0xaa, 0x46, 0x98, 0x30, 0x2d,
1629 			0x3b, 0xc4, 0x11, 0x24, 0x98, 0x20, 0xa9, 0xce,
1630 			0xfb, 0x0d, 0x36, 0xb0, 0x2c, 0x85, 0x42, 0x72,
1631 			0xa4, 0x21, 0x4e, 0x66, 0x0d, 0x48, 0xe4, 0x57,
1632 			0xce, 0x5b, 0x01, 0x14, 0xf3, 0x31, 0x42, 0x2e,
1633 			0xf5, 0x53, 0x52, 0x8d, 0x73, 0xfc, 0x5c, 0x6e,
1634 			0x09, 0x92, 0x1e, 0x35, 0x17, 0x60, 0xa8, 0xbb,
1635 			0x81, 0xf6, 0x21, 0x8f, 0x3e, 0x05, 0xe6, 0x0c,
1636 			0x60, 0xe7, 0x21, 0x53, 0x18, 0x63, 0x81, 0x0d,
1637 			0xb6, 0xd4, 0x9a, 0x29, 0xd0, 0xf6, 0x97, 0xd9,
1638 			0x89, 0xb5, 0x0e, 0xa0, 0x15, 0xb6, 0x5c, 0x97,
1639 			0xac, 0x7d, 0x26, 0xeb, 0x83, 0x0c, 0xf7, 0xe3,
1640 			0xf3, 0x18, 0x37, 0x0b, 0x7b, 0xb8, 0x18, 0x31,
1641 			0x8c, 0xb2, 0x5a, 0x5c, 0xa9, 0xf1, 0x35, 0x32
1642 		},
1643 		.len = 128 << 3
1644 	},
1645 	.ciphertext = {
1646 		.data = {
1647 			0xa6, 0xe5, 0x71, 0x58, 0x5c, 0xcf, 0x5d, 0x0d,
1648 			0x59, 0xb5, 0x51, 0xab, 0xf5, 0xfa, 0x31, 0xf9,
1649 			0x8d, 0x4f, 0xf0, 0x3c, 0x7d, 0x61, 0x8d, 0x7a,
1650 			0x6b, 0xcb, 0x2c, 0x79, 0xca, 0x99, 0x06, 0x6f,
1651 			0xff, 0x5d, 0x12, 0x5f, 0x0e, 0x7a, 0x33, 0x6b,
1652 			0x51, 0xbc, 0x58, 0x53, 0xff, 0xbd, 0x85, 0xc9,
1653 			0xac, 0x5f, 0x33, 0xc2, 0xa2, 0xf1, 0x17, 0x7a,
1654 			0xd9, 0x3f, 0x81, 0x82, 0x2f, 0x0a, 0xb0, 0xaf,
1655 			0xb9, 0x19, 0x3b, 0xfa, 0xcd, 0xa4, 0x06, 0x81,
1656 			0x2a, 0x7a, 0xbf, 0x2c, 0x07, 0xde, 0xc1, 0xa4,
1657 			0x8c, 0x15, 0x85, 0x81, 0xa6, 0xd3, 0x73, 0x1c,
1658 			0x29, 0x0b, 0xee, 0x3c, 0x57, 0xfa, 0x82, 0xad,
1659 			0x6f, 0xe0, 0xa1, 0x54, 0x8d, 0xa4, 0x92, 0x29,
1660 			0xf4, 0xfa, 0x6d, 0x01, 0xe3, 0x6c, 0xb9, 0x76,
1661 			0x80, 0x53, 0xbb, 0x27, 0xb8, 0x18, 0x47, 0x6c,
1662 			0xae, 0xb5, 0x44, 0x60, 0x43, 0x9d, 0xa7, 0x3f
1663 		},
1664 		.len = 128 << 3
1665 	},
1666 	.validDataLenInBits = {
1667 		.len = 128 << 3
1668 	},
1669 	.validCipherLenInBits = {
1670 		.len = 128 << 3
1671 	},
1672 	.auth_iv = {
1673 		.data = {
1674 			0xf5, 0x8d, 0x08, 0x26, 0x94, 0x14, 0xc7, 0x4d,
1675 			0xf5, 0x7c, 0x9c, 0xaa, 0x45, 0x53, 0xfd, 0x85,
1676 			0x23, 0x0b, 0x00, 0x0e, 0x26, 0x2b, 0x0f, 0x01,
1677 			0x26
1678 		},
1679 		.len = 25
1680 	},
1681 	.digest = {
1682 		.data = {0x95, 0x86, 0xe4, 0x46},
1683 		.len  = 4
1684 	},
1685 	.validAuthLenInBits = {
1686 		.len = 128 << 3
1687 	}
1688 };
1689 
1690 static struct wireless_test_data zuc256_test_case_cipher_auth_2 = {
1691 	.key = {
1692 		.data = {
1693 			0x1d, 0x0f, 0x0e, 0x75, 0x86, 0xb3, 0xfc, 0x65,
1694 			0x94, 0xbf, 0xaa, 0xa8, 0xf5, 0xd0, 0x0f, 0xe8,
1695 			0x14, 0x7a, 0x96, 0x61, 0x15, 0x49, 0x79, 0x71,
1696 			0x13, 0x82, 0xb4, 0xae, 0x34, 0x04, 0x75, 0x51
1697 		},
1698 		.len = 32
1699 	},
1700 	.cipher_iv = {
1701 		.data = {
1702 			0x98, 0xcc, 0x89, 0x9f, 0xaf, 0x6d, 0x64, 0xb6,
1703 			0xb1, 0xe8, 0x21, 0x72, 0xee, 0xb6, 0xcc, 0xe3,
1704 			0xcf, 0x32, 0x28, 0x21, 0x21, 0x0d, 0x1e, 0x1c,
1705 			0x34
1706 		},
1707 		.len = 25
1708 	},
1709 	.plaintext = {
1710 		.data = {
1711 			0xa4, 0xcb, 0x6e, 0x76, 0x99, 0xfb, 0x0c, 0xab,
1712 			0x6d, 0x57, 0xb1, 0x69, 0xc0, 0x47, 0x80, 0x63,
1713 			0x00, 0xe1, 0xf9, 0x51, 0x10, 0xbe, 0xc0, 0x0f,
1714 			0x99, 0x62, 0x2d, 0x71, 0xca, 0x75, 0xa0, 0x6e,
1715 			0x41, 0x0e, 0xe4, 0xda, 0x09, 0xf1, 0x86, 0x76,
1716 			0x48, 0x37, 0xe0, 0x08, 0x7e, 0x60, 0x6c, 0x7f,
1717 			0x41, 0x65, 0xd0, 0x51, 0x24, 0x91, 0x61, 0xbd,
1718 			0xf3, 0x8e, 0x2e, 0xbd, 0x04, 0xce, 0x2b, 0x45,
1719 			0xdc, 0x0f, 0x1f, 0xe5, 0x00, 0xa5, 0x5c, 0x48,
1720 			0xdd, 0x3c, 0x51, 0x5b, 0x9c, 0xbd, 0xda, 0xde,
1721 			0x22, 0xab, 0x2f, 0x46, 0x3c, 0x90, 0x03, 0x2f,
1722 			0x1f, 0x31, 0xec, 0x23, 0xff, 0x17, 0x68, 0xdb,
1723 			0x26, 0x87, 0xc1, 0x27, 0x2d, 0x1d, 0x6f, 0x0a,
1724 			0x59, 0xc0, 0x65, 0xf5, 0x7d, 0x40, 0xd3, 0xa0,
1725 			0xeb, 0x03, 0xe6, 0x27, 0x93, 0xea, 0x56, 0xb2,
1726 			0x1b, 0x42, 0xd5, 0x1b, 0x59, 0x3d, 0xf6, 0x7f,
1727 			0xc5, 0xb7, 0xa6, 0xf2, 0xd4, 0x16, 0xfc, 0x2d,
1728 			0xd6, 0x61, 0x23, 0x54, 0xa1, 0xf6, 0xf4, 0x8c,
1729 			0xf9, 0xda, 0xb3, 0x8d, 0xc4, 0x09, 0x3f, 0xe0,
1730 			0x4b, 0x15, 0xfb, 0xa4, 0x52, 0xf1, 0x24, 0x17,
1731 			0xa9, 0xca, 0x09, 0x7d, 0xe0, 0x05, 0xab, 0xb7,
1732 			0x67, 0xce, 0x0b, 0x08, 0xc4, 0xff, 0x95, 0xbe,
1733 			0xd9, 0x48, 0x4b, 0x9e, 0x52, 0x8a, 0x7e, 0x9d,
1734 			0x9f, 0x79, 0x42, 0xf2, 0x6a, 0x66, 0x09, 0x13,
1735 			0x30, 0x13, 0x91, 0x11, 0x18, 0x3c, 0xc8, 0x7f,
1736 			0x0a, 0xd3, 0x88, 0xce, 0xd2, 0x1d, 0x8c, 0xab,
1737 			0x65, 0xd7, 0x49, 0xb7, 0x62, 0xc7, 0x55, 0x01,
1738 			0x40, 0x97, 0xf3, 0xab, 0xfd, 0xfd, 0xbe, 0x2d,
1739 			0x10, 0x4f, 0x3e, 0x28, 0x8b, 0x06, 0xa8, 0x95,
1740 			0xd9, 0x30, 0x64, 0xab, 0x4d, 0xf0, 0x57, 0xb2,
1741 			0xc8
1742 		},
1743 		.len = 241 << 3
1744 	},
1745 	.ciphertext = {
1746 		.data = {
1747 			0xd0, 0xf9, 0xff, 0xce, 0x03, 0x81, 0x14, 0x9c,
1748 			0xd5, 0xf2, 0xbf, 0xe5, 0xff, 0xc8, 0x15, 0x4a,
1749 			0x9c, 0x06, 0x2b, 0x17, 0x99, 0xe3, 0x48, 0x70,
1750 			0x37, 0x01, 0x5e, 0x24, 0x80, 0x9a, 0x46, 0x4e,
1751 			0xa8, 0xc0, 0x59, 0xd7, 0x03, 0x74, 0x28, 0x91,
1752 			0x79, 0xb4, 0xb5, 0xd6, 0x52, 0x92, 0x04, 0x77,
1753 			0x5b, 0x4f, 0x34, 0xd1, 0xbe, 0xaa, 0x74, 0xd9,
1754 			0x01, 0x40, 0x24, 0xc7, 0x8c, 0x62, 0x2a, 0x51,
1755 			0x5a, 0x58, 0x0e, 0xc8, 0x70, 0x12, 0x06, 0x1c,
1756 			0x62, 0x7f, 0xf5, 0x23, 0xcb, 0x3c, 0xc1, 0xbe,
1757 			0x8b, 0x7f, 0x9d, 0x12, 0xb8, 0x26, 0xc8, 0xa3,
1758 			0x77, 0x7e, 0x83, 0xda, 0x83, 0xe1, 0x9f, 0xef,
1759 			0x33, 0x62, 0x17, 0xa7, 0x74, 0x68, 0x34, 0x5e,
1760 			0x16, 0xcc, 0xbc, 0x6c, 0x33, 0x2f, 0x73, 0xf0,
1761 			0xfc, 0xe5, 0x2c, 0x2d, 0xfb, 0x81, 0xbe, 0x1e,
1762 			0x6e, 0x4f, 0xf4, 0x14, 0x37, 0x7c, 0x97, 0xac,
1763 			0xa9, 0xac, 0x68, 0x95, 0xf3, 0x55, 0xb3, 0xfb,
1764 			0xf6, 0x64, 0xd9, 0x1b, 0xe1, 0x54, 0x79, 0x6e,
1765 			0xfa, 0x21, 0xa4, 0x19, 0x9f, 0xb4, 0x4b, 0xb7,
1766 			0xef, 0x52, 0xd8, 0x44, 0x75, 0x99, 0x07, 0x6d,
1767 			0xa9, 0xcf, 0x32, 0xc5, 0xc1, 0x31, 0x0c, 0xa8,
1768 			0x86, 0x40, 0x75, 0xeb, 0x12, 0xcf, 0x26, 0x5c,
1769 			0x5f, 0xa3, 0x3c, 0xb6, 0x12, 0x45, 0xf3, 0x0a,
1770 			0x38, 0x09, 0xa8, 0x36, 0x32, 0x4a, 0x2f, 0xad,
1771 			0x50, 0x11, 0x38, 0xba, 0x8f, 0xdd, 0xd1, 0x58,
1772 			0xd7, 0x3d, 0x3a, 0x40, 0x7c, 0x3f, 0xa7, 0x98,
1773 			0xf3, 0x12, 0x7f, 0x9f, 0x89, 0xcf, 0x48, 0x58,
1774 			0x01, 0xeb, 0x98, 0x7c, 0x59, 0x11, 0x9f, 0x57,
1775 			0x74, 0x5f, 0x70, 0x72, 0x74, 0xa4, 0x82, 0x3c,
1776 			0x36, 0xe6, 0x31, 0x9e, 0xba, 0x7b, 0x53, 0xfc,
1777 			0x56
1778 		},
1779 		.len = 241 << 3
1780 	},
1781 	.validDataLenInBits = {
1782 		.len = 241 << 3
1783 	},
1784 	.validCipherLenInBits = {
1785 		.len = 241 << 3
1786 	},
1787 	.auth_iv = {
1788 		.data = {
1789 			0x60, 0xaa, 0xd2, 0xb2, 0xd0, 0x85, 0xfa, 0x54,
1790 			0xd8, 0x35, 0xe8, 0xd4, 0x66, 0x82, 0x64, 0x98,
1791 			0xd9, 0x2a, 0x08, 0x1d, 0x35, 0x19, 0x17, 0x01,
1792 			0x1A
1793 		},
1794 		.len = 25
1795 	},
1796 	.digest = {
1797 		.data = {0x2c, 0x48, 0x3a, 0xe5},
1798 		.len  = 4
1799 	},
1800 	.validAuthLenInBits = {
1801 		.len = 241 << 3
1802 	}
1803 };
1804 
1805 static struct wireless_test_data zuc256_test_case_cipher_auth_3 = {
1806 	.key = {
1807 		.data = {
1808 			0xf7, 0xb4, 0x04, 0x5a, 0x81, 0x5c, 0x1b, 0x01,
1809 			0x82, 0xf9, 0xf4, 0x26, 0x80, 0xd4, 0x56, 0x26,
1810 			0xd5, 0xf7, 0x4b, 0x68, 0x48, 0x6b, 0x92, 0x6a,
1811 			0x34, 0x1f, 0x86, 0x66, 0x60, 0x0a, 0xfc, 0x57
1812 		},
1813 		.len = 32
1814 	},
1815 	.cipher_iv = {
1816 		.data = {
1817 			0x8e, 0x5d, 0xbc, 0x3f, 0xb9, 0xae, 0x66, 0xa3,
1818 			0xb9, 0x5c, 0x12, 0x14, 0xdb, 0xc5, 0xbc, 0x18,
1819 			0x48, 0x12, 0x09, 0x06, 0x25, 0x33, 0x2e, 0x12,
1820 			0x12
1821 		},
1822 		.len = 25
1823 	},
1824 	.plaintext = {
1825 		.data = {
1826 			0x36, 0xdb, 0x63, 0x68, 0xb5, 0x1f, 0x4e, 0x92,
1827 			0x46, 0x1f, 0xde, 0xdb, 0xc2, 0xec, 0xfa, 0x7e,
1828 			0x49, 0x85, 0x77, 0xaa, 0x46, 0x98, 0x30, 0x2d,
1829 			0x3b, 0xc4, 0x11, 0x24, 0x98, 0x20, 0xa9, 0xce,
1830 			0xfb, 0x0d, 0x36, 0xb0, 0x2c, 0x85, 0x42, 0x72,
1831 			0xa4, 0x21, 0x4e, 0x66, 0x0d, 0x48, 0xe4, 0x57,
1832 			0xce, 0x5b, 0x01, 0x14, 0xf3, 0x31, 0x42, 0x2e,
1833 			0xf5, 0x53, 0x52, 0x8d, 0x73, 0xfc, 0x5c, 0x6e,
1834 			0x09, 0x92, 0x1e, 0x35, 0x17, 0x60, 0xa8, 0xbb,
1835 			0x81, 0xf6, 0x21, 0x8f, 0x3e, 0x05, 0xe6, 0x0c,
1836 			0x60, 0xe7, 0x21, 0x53, 0x18, 0x63, 0x81, 0x0d,
1837 			0xb6, 0xd4, 0x9a, 0x29, 0xd0, 0xf6, 0x97, 0xd9,
1838 			0x89, 0xb5, 0x0e, 0xa0, 0x15, 0xb6, 0x5c, 0x97,
1839 			0xac, 0x7d, 0x26, 0xeb, 0x83, 0x0c, 0xf7, 0xe3,
1840 			0xf3, 0x18, 0x37, 0x0b, 0x7b, 0xb8, 0x18, 0x31,
1841 			0x8c, 0xb2, 0x5a, 0x5c, 0xa9, 0xf1, 0x35, 0x32
1842 		},
1843 		.len = 128 << 3
1844 	},
1845 	.ciphertext = {
1846 		.data = {
1847 			0xa6, 0xe5, 0x71, 0x58, 0x5c, 0xcf, 0x5d, 0x0d,
1848 			0x59, 0xb5, 0x51, 0xab, 0xf5, 0xfa, 0x31, 0xf9,
1849 			0x8d, 0x4f, 0xf0, 0x3c, 0x7d, 0x61, 0x8d, 0x7a,
1850 			0x6b, 0xcb, 0x2c, 0x79, 0xca, 0x99, 0x06, 0x6f,
1851 			0xff, 0x5d, 0x12, 0x5f, 0x0e, 0x7a, 0x33, 0x6b,
1852 			0x51, 0xbc, 0x58, 0x53, 0xff, 0xbd, 0x85, 0xc9,
1853 			0xac, 0x5f, 0x33, 0xc2, 0xa2, 0xf1, 0x17, 0x7a,
1854 			0xd9, 0x3f, 0x81, 0x82, 0x2f, 0x0a, 0xb0, 0xaf,
1855 			0xb9, 0x19, 0x3b, 0xfa, 0xcd, 0xa4, 0x06, 0x81,
1856 			0x2a, 0x7a, 0xbf, 0x2c, 0x07, 0xde, 0xc1, 0xa4,
1857 			0x8c, 0x15, 0x85, 0x81, 0xa6, 0xd3, 0x73, 0x1c,
1858 			0x29, 0x0b, 0xee, 0x3c, 0x57, 0xfa, 0x82, 0xad,
1859 			0x6f, 0xe0, 0xa1, 0x54, 0x8d, 0xa4, 0x92, 0x29,
1860 			0xf4, 0xfa, 0x6d, 0x01, 0xe3, 0x6c, 0xb9, 0x76,
1861 			0x80, 0x53, 0xbb, 0x27, 0xb8, 0x18, 0x47, 0x6c,
1862 			0xae, 0xb5, 0x44, 0x60, 0x43, 0x9d, 0xa7, 0x3f
1863 		},
1864 		.len = 128 << 3
1865 	},
1866 	.validDataLenInBits = {
1867 		.len = 128 << 3
1868 	},
1869 	.validCipherLenInBits = {
1870 		.len = 128 << 3
1871 	},
1872 	.auth_iv = {
1873 		.data = {
1874 			0xf5, 0x8d, 0x08, 0x26, 0x94, 0x14, 0xc7, 0x4d,
1875 			0xf5, 0x7c, 0x9c, 0xaa, 0x45, 0x53, 0xfd, 0x85,
1876 			0x23, 0x0b, 0x00, 0x0e, 0x26, 0x2b, 0x0f, 0x01,
1877 			0x26
1878 		},
1879 		.len = 25
1880 	},
1881 	.digest = {
1882 		.data = {0xD5, 0x2F, 0xC4, 0x2B, 0xC2, 0x03, 0xAC, 0xF7},
1883 		.len  = 8
1884 	},
1885 	.validAuthLenInBits = {
1886 		.len = 128 << 3
1887 	}
1888 };
1889 
1890 static struct wireless_test_data zuc256_test_case_cipher_auth_4 = {
1891 	.key = {
1892 		.data = {
1893 			0xf7, 0xb4, 0x04, 0x5a, 0x81, 0x5c, 0x1b, 0x01,
1894 			0x82, 0xf9, 0xf4, 0x26, 0x80, 0xd4, 0x56, 0x26,
1895 			0xd5, 0xf7, 0x4b, 0x68, 0x48, 0x6b, 0x92, 0x6a,
1896 			0x34, 0x1f, 0x86, 0x66, 0x60, 0x0a, 0xfc, 0x57
1897 		},
1898 		.len = 32
1899 	},
1900 	.cipher_iv = {
1901 		.data = {
1902 			0x8e, 0x5d, 0xbc, 0x3f, 0xb9, 0xae, 0x66, 0xa3,
1903 			0xb9, 0x5c, 0x12, 0x14, 0xdb, 0xc5, 0xbc, 0x18,
1904 			0x48, 0x12, 0x09, 0x06, 0x25, 0x33, 0x2e, 0x12,
1905 			0x12
1906 		},
1907 		.len = 25
1908 	},
1909 	.plaintext = {
1910 		.data = {
1911 			0x36, 0xdb, 0x63, 0x68, 0xb5, 0x1f, 0x4e, 0x92,
1912 			0x46, 0x1f, 0xde, 0xdb, 0xc2, 0xec, 0xfa, 0x7e,
1913 			0x49, 0x85, 0x77, 0xaa, 0x46, 0x98, 0x30, 0x2d,
1914 			0x3b, 0xc4, 0x11, 0x24, 0x98, 0x20, 0xa9, 0xce,
1915 			0xfb, 0x0d, 0x36, 0xb0, 0x2c, 0x85, 0x42, 0x72,
1916 			0xa4, 0x21, 0x4e, 0x66, 0x0d, 0x48, 0xe4, 0x57,
1917 			0xce, 0x5b, 0x01, 0x14, 0xf3, 0x31, 0x42, 0x2e,
1918 			0xf5, 0x53, 0x52, 0x8d, 0x73, 0xfc, 0x5c, 0x6e,
1919 			0x09, 0x92, 0x1e, 0x35, 0x17, 0x60, 0xa8, 0xbb,
1920 			0x81, 0xf6, 0x21, 0x8f, 0x3e, 0x05, 0xe6, 0x0c,
1921 			0x60, 0xe7, 0x21, 0x53, 0x18, 0x63, 0x81, 0x0d,
1922 			0xb6, 0xd4, 0x9a, 0x29, 0xd0, 0xf6, 0x97, 0xd9,
1923 			0x89, 0xb5, 0x0e, 0xa0, 0x15, 0xb6, 0x5c, 0x97,
1924 			0xac, 0x7d, 0x26, 0xeb, 0x83, 0x0c, 0xf7, 0xe3,
1925 			0xf3, 0x18, 0x37, 0x0b, 0x7b, 0xb8, 0x18, 0x31,
1926 			0x8c, 0xb2, 0x5a, 0x5c, 0xa9, 0xf1, 0x35, 0x32
1927 		},
1928 		.len = 128 << 3
1929 	},
1930 	.ciphertext = {
1931 		.data = {
1932 			0xa6, 0xe5, 0x71, 0x58, 0x5c, 0xcf, 0x5d, 0x0d,
1933 			0x59, 0xb5, 0x51, 0xab, 0xf5, 0xfa, 0x31, 0xf9,
1934 			0x8d, 0x4f, 0xf0, 0x3c, 0x7d, 0x61, 0x8d, 0x7a,
1935 			0x6b, 0xcb, 0x2c, 0x79, 0xca, 0x99, 0x06, 0x6f,
1936 			0xff, 0x5d, 0x12, 0x5f, 0x0e, 0x7a, 0x33, 0x6b,
1937 			0x51, 0xbc, 0x58, 0x53, 0xff, 0xbd, 0x85, 0xc9,
1938 			0xac, 0x5f, 0x33, 0xc2, 0xa2, 0xf1, 0x17, 0x7a,
1939 			0xd9, 0x3f, 0x81, 0x82, 0x2f, 0x0a, 0xb0, 0xaf,
1940 			0xb9, 0x19, 0x3b, 0xfa, 0xcd, 0xa4, 0x06, 0x81,
1941 			0x2a, 0x7a, 0xbf, 0x2c, 0x07, 0xde, 0xc1, 0xa4,
1942 			0x8c, 0x15, 0x85, 0x81, 0xa6, 0xd3, 0x73, 0x1c,
1943 			0x29, 0x0b, 0xee, 0x3c, 0x57, 0xfa, 0x82, 0xad,
1944 			0x6f, 0xe0, 0xa1, 0x54, 0x8d, 0xa4, 0x92, 0x29,
1945 			0xf4, 0xfa, 0x6d, 0x01, 0xe3, 0x6c, 0xb9, 0x76,
1946 			0x80, 0x53, 0xbb, 0x27, 0xb8, 0x18, 0x47, 0x6c,
1947 			0xae, 0xb5, 0x44, 0x60, 0x43, 0x9d, 0xa7, 0x3f
1948 		},
1949 		.len = 128 << 3
1950 	},
1951 	.validDataLenInBits = {
1952 		.len = 128 << 3
1953 	},
1954 	.validCipherLenInBits = {
1955 		.len = 128 << 3
1956 	},
1957 	.auth_iv = {
1958 		.data = {
1959 			0xf5, 0x8d, 0x08, 0x26, 0x94, 0x14, 0xc7, 0x4d,
1960 			0xf5, 0x7c, 0x9c, 0xaa, 0x45, 0x53, 0xfd, 0x85,
1961 			0x23, 0x0b, 0x00, 0x0e, 0x26, 0x2b, 0x0f, 0x01,
1962 			0x26
1963 		},
1964 		.len = 25
1965 	},
1966 	.digest = {
1967 		.data = {
1968 			0x8B, 0x31, 0x9E, 0x86, 0x7F, 0xB1, 0x94, 0xE5,
1969 			0xA5, 0x53, 0x73, 0xC5, 0x59, 0xD5, 0x6D, 0x37
1970 		},
1971 		.len  = 16
1972 	},
1973 	.validAuthLenInBits = {
1974 		.len = 128 << 3
1975 	}
1976 };
1977 
1978 struct wireless_test_data zuc256_auth_cipher_test_case_1 = {
1979 	.key = {
1980 		.data = {
1981 			0xe3, 0x8e, 0xaf, 0x08, 0xde, 0x8c, 0x08, 0x41,
1982 			0x7f, 0x2b, 0x97, 0x20, 0x10, 0x87, 0xc7, 0xf7,
1983 			0xbe, 0x3c, 0xd2, 0x68, 0x80, 0x10, 0x1e, 0x71,
1984 			0xfd, 0xb2, 0xbb, 0xad, 0x25, 0x0f, 0x06, 0x08
1985 		},
1986 		.len = 32
1987 	},
1988 	.cipher_iv = {
1989 		.data = {
1990 			0x8e, 0x5d, 0xbc, 0x3f, 0xb9, 0xae, 0x66, 0xa3,
1991 			0xb9, 0x5c, 0x12, 0x14, 0xdb, 0xc5, 0xbc, 0x18,
1992 			0x48, 0x12, 0x09, 0x06, 0x25, 0x33, 0x2e, 0x12,
1993 			0x12
1994 		},
1995 		.len = 25
1996 	},
1997 	.auth_iv = {
1998 		.data = {
1999 			0xf5, 0x8d, 0x08, 0x26, 0x94, 0x14, 0xc7, 0x4d,
2000 			0xf5, 0x7c, 0x9c, 0xaa, 0x45, 0x53, 0xfd, 0x85,
2001 			0x23, 0x0b, 0x00, 0x0e, 0x26, 0x2b, 0x0f, 0x01,
2002 			0x26
2003 		},
2004 		.len = 25
2005 	},
2006 	.plaintext = {
2007 		.data = {
2008 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2009 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2010 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2011 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2012 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2013 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2014 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2015 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2016 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2017 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2018 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2019 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2020 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2021 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2022 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2023 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A
2024 		},
2025 		.len = 128 << 3
2026 	},
2027 	.ciphertext = {
2028 		.data = {
2029 			0xF8, 0xBA, 0xBD, 0x3E, 0x52, 0xC7, 0xF9, 0x86,
2030 			0x5F, 0xA3, 0x84, 0xE8, 0x20, 0xE1, 0xBB, 0x80,
2031 			0xDB, 0x2D, 0x02, 0xA7, 0x35, 0x6A, 0x54, 0x98,
2032 			0x90, 0x32, 0xCE, 0x99, 0xE7, 0x66, 0x0E, 0x5D,
2033 			0x43, 0xBB, 0x4D, 0xF3, 0x4A, 0xB7, 0x9F, 0x3B,
2034 			0x44, 0xFF, 0x0D, 0xB9, 0xAE, 0xEA, 0xAB, 0x95,
2035 			0x5F, 0xA7, 0x39, 0x6D, 0xBC, 0x72, 0x59, 0x8B,
2036 			0x75, 0xD3, 0x7E, 0xC6, 0x90, 0x7B, 0xE7, 0x3C,
2037 			0x12, 0x38, 0xDD, 0x50, 0xD6, 0x74, 0x91, 0x02,
2038 			0x66, 0x3D, 0xBA, 0x59, 0x1B, 0x93, 0xED, 0x87,
2039 			0xAB, 0xD7, 0x2E, 0xEF, 0xFF, 0x80, 0x98, 0x7E,
2040 			0x0F, 0x2A, 0x4E, 0x5F, 0xEB, 0x3A, 0x0E, 0xCC,
2041 			0xBF, 0xDA, 0x67, 0xA0, 0x54, 0xC6, 0x56, 0x29,
2042 			0x5D, 0x3C, 0x1A, 0x73, 0xA7, 0xE3, 0xC9, 0xD2,
2043 			0x08, 0x33, 0x73, 0x13, 0xEC, 0x56, 0x59, 0x11,
2044 			0xC9, 0x8A, 0x4B, 0x7A, 0xB1, 0xDD, 0x55, 0x9B
2045 		},
2046 		.len = 128 << 3
2047 	},
2048 	.validDataLenInBits = {
2049 		.len = 128 << 3
2050 	},
2051 	.validCipherLenInBits = {
2052 		.len = 128 << 3
2053 	},
2054 	.validAuthLenInBits = {
2055 		.len = 124 << 3
2056 	},
2057 	.digest = {
2058 		.data = {0xB1, 0xDD, 0x55, 0x9B},
2059 		.len  = 4,
2060 		.offset_bytes = 124
2061 	}
2062 };
2063 
2064 struct wireless_test_data zuc256_auth_cipher_test_case_2 = {
2065 	.key = {
2066 		.data = {
2067 			0x6a, 0x7e, 0x4c, 0x7e, 0x51, 0x25, 0xb3, 0x48,
2068 			0x84, 0x53, 0x3a, 0x94, 0xfb, 0x31, 0x99, 0x90,
2069 			0x32, 0x57, 0x44, 0xee, 0x9b, 0xbc, 0xe9, 0xe5,
2070 			0x25, 0xcf, 0x08, 0xf5, 0xe9, 0xe2, 0x5e, 0x53
2071 		},
2072 		.len = 32
2073 	},
2074 	.cipher_iv = {
2075 		.data = {
2076 			0x98, 0xcc, 0x89, 0x9f, 0xaf, 0x6d, 0x64, 0xb6,
2077 			0xb1, 0xe8, 0x21, 0x72, 0xee, 0xb6, 0xcc, 0xe3,
2078 			0xcf, 0x32, 0x28, 0x21, 0x21, 0x0d, 0x1e, 0x1c,
2079 			0x34
2080 		},
2081 		.len = 25
2082 	},
2083 	.auth_iv = {
2084 		.data = {
2085 			0x60, 0xaa, 0xd2, 0xb2, 0xd0, 0x85, 0xfa, 0x54,
2086 			0xd8, 0x35, 0xe8, 0xd4, 0x66, 0x82, 0x64, 0x98,
2087 			0xd9, 0x2a, 0x08, 0x1d, 0x35, 0x19, 0x17, 0x01,
2088 			0x1A
2089 		},
2090 		.len = 25
2091 	},
2092 	.plaintext = {
2093 		.data = {
2094 			0x14, 0xA8, 0xEF, 0x69, 0x3D, 0x67, 0x85, 0x07,
2095 			0xBB, 0xE7, 0x27, 0x0A, 0x7F, 0x67, 0xFF, 0x50,
2096 			0x06, 0xC3, 0x52, 0x5B, 0x98, 0x07, 0xE4, 0x67,
2097 			0xC4, 0xE5, 0x60, 0x00, 0xBA, 0x33, 0x8F, 0x5D,
2098 			0x42, 0x95, 0x59, 0x03, 0x67, 0x51, 0x82, 0x22,
2099 			0x46, 0xC8, 0x0D, 0x3B, 0x38, 0xF0, 0x7F, 0x4B,
2100 			0xE2, 0xD8, 0xFF, 0x58, 0x05, 0xF5, 0x13, 0x22,
2101 			0x29, 0xBD, 0xE9, 0x3B, 0xBB, 0xDC, 0xAF, 0x38,
2102 			0x2B, 0xF1, 0xEE, 0x97, 0x2F, 0xBF, 0x99, 0x77,
2103 			0xBA, 0xDA, 0x89, 0x45, 0x84, 0x7A, 0x2A, 0x6C,
2104 			0x9A, 0xD3, 0x4A, 0x66, 0x75, 0x54, 0xE0, 0x4D,
2105 			0x1F, 0x7F, 0xA2, 0xC3, 0x32, 0x41, 0xBD, 0x8F,
2106 			0x01, 0xBA, 0x22, 0x0D
2107 		},
2108 		.len = 96 << 3
2109 	},
2110 	.ciphertext = {
2111 		.data = {
2112 			0x52, 0x4E, 0x50, 0x7A, 0x90, 0x37, 0x65, 0x66,
2113 			0xD5, 0x46, 0x04, 0x68, 0x2A, 0x42, 0xD1, 0xE9,
2114 			0x73, 0x9F, 0xE9, 0x53, 0x8C, 0x0E, 0x72, 0x05,
2115 			0x05, 0xA9, 0xDB, 0x8C, 0x2A, 0x18, 0xFD, 0x73,
2116 			0xB9, 0x2C, 0x45, 0x48, 0xA4, 0x54, 0xF7, 0x62,
2117 			0xB9, 0x8B, 0x42, 0x62, 0x0B, 0xA8, 0xE7, 0x79,
2118 			0x67, 0x3C, 0x96, 0xB6, 0x4B, 0x23, 0x66, 0x13,
2119 			0xC9, 0x74, 0x71, 0x3E, 0x23, 0x0D, 0x4B, 0x08,
2120 			0x78, 0x36, 0x9E, 0xAC, 0x82, 0xDF, 0xDE, 0xE9,
2121 			0xF4, 0xD6, 0x62, 0x28, 0x44, 0x86, 0x6C, 0xEA,
2122 			0xD0, 0x59, 0x34, 0x83, 0x67, 0x28, 0xDE, 0xC8,
2123 			0x89, 0xFE, 0x21, 0x9B, 0x87, 0x88, 0x8D, 0xAB,
2124 			0x51, 0x05, 0x0F, 0x5C
2125 		},
2126 		.len = 100 << 3
2127 	},
2128 	.validDataLenInBits = {
2129 		.len = 100 << 3
2130 	},
2131 	.validCipherLenInBits = {
2132 		.len = 100 << 3
2133 	},
2134 	.validAuthLenInBits = {
2135 		.len = 96 << 3
2136 	},
2137 	.digest = {
2138 		.data = {0x51, 0x05, 0x0F, 0x5C},
2139 		.len  = 4,
2140 		.offset_bytes = 96
2141 	}
2142 };
2143 
2144 struct wireless_test_data zuc256_auth_cipher_test_case_3 = {
2145 	.key = {
2146 		.data = {
2147 			0xe3, 0x8e, 0xaf, 0x08, 0xde, 0x8c, 0x08, 0x41,
2148 			0x7f, 0x2b, 0x97, 0x20, 0x10, 0x87, 0xc7, 0xf7,
2149 			0xbe, 0x3c, 0xd2, 0x68, 0x80, 0x10, 0x1e, 0x71,
2150 			0xfd, 0xb2, 0xbb, 0xad, 0x25, 0x0f, 0x06, 0x08
2151 		},
2152 		.len = 32
2153 	},
2154 	.cipher_iv = {
2155 		.data = {
2156 			0x8e, 0x5d, 0xbc, 0x3f, 0xb9, 0xae, 0x66, 0xa3,
2157 			0xb9, 0x5c, 0x12, 0x14, 0xdb, 0xc5, 0xbc, 0x18,
2158 			0x48, 0x12, 0x09, 0x06, 0x25, 0x33, 0x2e, 0x12,
2159 			0x12
2160 		},
2161 		.len = 25
2162 	},
2163 	.auth_iv = {
2164 		.data = {
2165 			0xf5, 0x8d, 0x08, 0x26, 0x94, 0x14, 0xc7, 0x4d,
2166 			0xf5, 0x7c, 0x9c, 0xaa, 0x45, 0x53, 0xfd, 0x85,
2167 			0x23, 0x0b, 0x00, 0x0e, 0x26, 0x2b, 0x0f, 0x01,
2168 			0x26
2169 		},
2170 		.len = 25
2171 	},
2172 	.plaintext = {
2173 		.data = {
2174 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2175 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2176 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2177 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2178 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2179 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2180 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2181 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2182 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2183 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2184 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2185 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2186 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2187 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2188 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2189 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A
2190 		},
2191 		.len = 128 << 3
2192 	},
2193 	.ciphertext = {
2194 		.data = {
2195 			0xF8, 0xBA, 0xBD, 0x3E,	0x52, 0xC7, 0xF9, 0x86,
2196 			0x5F, 0xA3, 0x84, 0xE8,	0x20, 0xE1, 0xBB, 0x80,
2197 			0xDB, 0x2D, 0x02, 0xA7,	0x35, 0x6A, 0x54, 0x98,
2198 			0x90, 0x32, 0xCE, 0x99,	0xE7, 0x66, 0x0E, 0x5D,
2199 			0x43, 0xBB, 0x4D, 0xF3,	0x4A, 0xB7, 0x9F, 0x3B,
2200 			0x44, 0xFF, 0x0D, 0xB9,	0xAE, 0xEA, 0xAB, 0x95,
2201 			0x5F, 0xA7, 0x39, 0x6D,	0xBC, 0x72, 0x59, 0x8B,
2202 			0x75, 0xD3, 0x7E, 0xC6,	0x90, 0x7B, 0xE7, 0x3C,
2203 			0x12, 0x38, 0xDD, 0x50,	0xD6, 0x74, 0x91, 0x02,
2204 			0x66, 0x3D, 0xBA, 0x59,	0x1B, 0x93, 0xED, 0x87,
2205 			0xAB, 0xD7, 0x2E, 0xEF,	0xFF, 0x80, 0x98, 0x7E,
2206 			0x0F, 0x2A, 0x4E, 0x5F,	0xEB, 0x3A, 0x0E, 0xCC,
2207 			0xBF, 0xDA, 0x67, 0xA0,	0x54, 0xC6, 0x56, 0x29,
2208 			0x5D, 0x3C, 0x1A, 0x73,	0xA7, 0xE3, 0xC9, 0xD2,
2209 			0x08, 0x33, 0x73, 0x13,	0xEC, 0x56, 0x59, 0x11,
2210 			0x4C, 0x7C, 0x4D, 0xC7, 0x3E, 0x81, 0x35, 0x20
2211 		},
2212 		.len = 128 << 3
2213 	},
2214 	.validDataLenInBits = {
2215 		.len = 128 << 3
2216 	},
2217 	.validCipherLenInBits = {
2218 		.len = 128 << 3
2219 	},
2220 	.validAuthLenInBits = {
2221 		.len = 120 << 3
2222 	},
2223 	.digest = {
2224 		.data = {0x4C, 0x7C, 0x4D, 0xC7, 0x3E, 0x81, 0x35, 0x20},
2225 		.len  = 8,
2226 		.offset_bytes = 120
2227 	}
2228 };
2229 
2230 struct wireless_test_data zuc256_auth_cipher_test_case_4 = {
2231 	.key = {
2232 		.data = {
2233 			0xe3, 0x8e, 0xaf, 0x08, 0xde, 0x8c, 0x08, 0x41,
2234 			0x7f, 0x2b, 0x97, 0x20, 0x10, 0x87, 0xc7, 0xf7,
2235 			0xbe, 0x3c, 0xd2, 0x68, 0x80, 0x10, 0x1e, 0x71,
2236 			0xfd, 0xb2, 0xbb, 0xad, 0x25, 0x0f, 0x06, 0x08
2237 		},
2238 		.len = 32
2239 	},
2240 	.cipher_iv = {
2241 		.data = {
2242 			0x8e, 0x5d, 0xbc, 0x3f, 0xb9, 0xae, 0x66, 0xa3,
2243 			0xb9, 0x5c, 0x12, 0x14, 0xdb, 0xc5, 0xbc, 0x18,
2244 			0x48, 0x12, 0x09, 0x06, 0x25, 0x33, 0x2e, 0x12,
2245 			0x12
2246 		},
2247 		.len = 25
2248 	},
2249 	.auth_iv = {
2250 		.data = {
2251 			0xf5, 0x8d, 0x08, 0x26, 0x94, 0x14, 0xc7, 0x4d,
2252 			0xf5, 0x7c, 0x9c, 0xaa, 0x45, 0x53, 0xfd, 0x85,
2253 			0x23, 0x0b, 0x00, 0x0e, 0x26, 0x2b, 0x0f, 0x01,
2254 			0x26
2255 		},
2256 		.len = 25
2257 	},
2258 	.plaintext = {
2259 		.data = {
2260 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2261 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2262 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2263 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2264 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2265 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2266 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2267 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2268 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2269 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2270 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2271 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2272 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2273 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2274 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
2275 			0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A
2276 		},
2277 		.len = 128 << 3
2278 	},
2279 	.ciphertext = {
2280 		.data = {
2281 			0xF8, 0xBA, 0xBD, 0x3E, 0x52, 0xC7, 0xF9, 0x86,
2282 			0x5F, 0xA3, 0x84, 0xE8, 0x20, 0xE1, 0xBB, 0x80,
2283 			0xDB, 0x2D, 0x02, 0xA7, 0x35, 0x6A, 0x54, 0x98,
2284 			0x90, 0x32, 0xCE, 0x99, 0xE7, 0x66, 0x0E, 0x5D,
2285 			0x43, 0xBB, 0x4D, 0xF3, 0x4A, 0xB7, 0x9F, 0x3B,
2286 			0x44, 0xFF, 0x0D, 0xB9, 0xAE, 0xEA, 0xAB, 0x95,
2287 			0x5F, 0xA7, 0x39, 0x6D, 0xBC, 0x72, 0x59, 0x8B,
2288 			0x75, 0xD3, 0x7E, 0xC6, 0x90, 0x7B, 0xE7, 0x3C,
2289 			0x12, 0x38, 0xDD, 0x50, 0xD6, 0x74, 0x91, 0x02,
2290 			0x66, 0x3D, 0xBA, 0x59, 0x1B, 0x93, 0xED, 0x87,
2291 			0xAB, 0xD7, 0x2E, 0xEF, 0xFF, 0x80, 0x98, 0x7E,
2292 			0x0F, 0x2A, 0x4E, 0x5F, 0xEB, 0x3A, 0x0E, 0xCC,
2293 			0xBF, 0xDA, 0x67, 0xA0, 0x54, 0xC6, 0x56, 0x29,
2294 			0x5D, 0x3C, 0x1A, 0x73, 0xA7, 0xE3, 0xC9, 0xD2,
2295 			0x96, 0x2B, 0x25, 0x9F, 0xDD, 0x6E, 0x72, 0xE3,
2296 			0x86, 0x01, 0xA5, 0x56, 0x66, 0x90, 0xAE, 0xC2
2297 		},
2298 		.len = 128 << 3
2299 	},
2300 	.validDataLenInBits = {
2301 		.len = 128 << 3
2302 	},
2303 	.validCipherLenInBits = {
2304 		.len = 128 << 3
2305 	},
2306 	.validAuthLenInBits = {
2307 		.len = 112 << 3
2308 	},
2309 	.digest = {
2310 		.data = {
2311 			0x96, 0x2B, 0x25, 0x9F, 0xDD, 0x6E, 0x72, 0xE3,
2312 			0x86, 0x01, 0xA5, 0x56, 0x66, 0x90, 0xAE, 0xC2
2313 		},
2314 		.len  = 16,
2315 		.offset_bytes = 112
2316 	}
2317 };
2318 
2319 #endif /* TEST_CRYPTODEV_ZUC_TEST_VECTORS_H_ */
2320