net/sfc: rename array of SW stats descriptions
[dpdk.git] / app / test / test_cryptodev_zuc_test_vectors.h
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_800b_key_256b = {
521         .key = {
522                 .data = {
523                         0xE5, 0xBD, 0x3E, 0xA0, 0xEB, 0x55, 0xAD, 0xE8,
524                         0x66, 0xC6, 0xAC, 0x58, 0xBD, 0x54, 0x30, 0x2A,
525                         0xE5, 0xBD, 0x3E, 0xA0, 0xEB, 0x55, 0xAD, 0xE8,
526                         0x66, 0xC6, 0xAC, 0x58, 0xBD, 0x54, 0x30, 0x2A
527                 },
528                 .len = 32
529         },
530         .cipher_iv = {
531                 .data = {
532                         0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00,
533                         0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00,
534                         0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00
535                 },
536                 .len = 24
537         },
538         .plaintext = {
539                 .data = {
540                         0x14, 0xA8, 0xEF, 0x69, 0x3D, 0x67, 0x85, 0x07,
541                         0xBB, 0xE7, 0x27, 0x0A, 0x7F, 0x67, 0xFF, 0x50,
542                         0x06, 0xC3, 0x52, 0x5B, 0x98, 0x07, 0xE4, 0x67,
543                         0xC4, 0xE5, 0x60, 0x00, 0xBA, 0x33, 0x8F, 0x5D,
544                         0x42, 0x95, 0x59, 0x03, 0x67, 0x51, 0x82, 0x22,
545                         0x46, 0xC8, 0x0D, 0x3B, 0x38, 0xF0, 0x7F, 0x4B,
546                         0xE2, 0xD8, 0xFF, 0x58, 0x05, 0xF5, 0x13, 0x22,
547                         0x29, 0xBD, 0xE9, 0x3B, 0xBB, 0xDC, 0xAF, 0x38,
548                         0x2B, 0xF1, 0xEE, 0x97, 0x2F, 0xBF, 0x99, 0x77,
549                         0xBA, 0xDA, 0x89, 0x45, 0x84, 0x7A, 0x2A, 0x6C,
550                         0x9A, 0xD3, 0x4A, 0x66, 0x75, 0x54, 0xE0, 0x4D,
551                         0x1F, 0x7F, 0xA2, 0xC3, 0x32, 0x41, 0xBD, 0x8F,
552                         0x01, 0xBA, 0x22, 0x0D
553                 },
554                 .len = 800
555         },
556         .ciphertext = {
557                 .data = {
558                         0xd0, 0xb4, 0x09, 0x5a, 0x83, 0xf3, 0x8d, 0x2a,
559                         0x8a, 0xc1, 0x75, 0x5a, 0xed, 0x53, 0xd3, 0xc6,
560                         0x15, 0x9d, 0x8c, 0x12, 0x98, 0x89, 0x66, 0x28,
561                         0x05, 0xc8, 0xd1, 0xc4, 0xbf, 0xf7, 0x72, 0x79,
562                         0xc7, 0x42, 0xde, 0xc8, 0xdc, 0xe9, 0xb4, 0x4a,
563                         0x92, 0x85, 0x31, 0xb7, 0xc6, 0x51, 0x83, 0x0b,
564                         0x96, 0x29, 0xdd, 0xe0, 0x3b, 0x7e, 0xbe, 0x7b,
565                         0x34, 0x23, 0x1b, 0xe1, 0x8d, 0x8a, 0xe7, 0x0f,
566                         0x12, 0x68, 0x41, 0x4e, 0xaa, 0xf0, 0xeb, 0x9d,
567                         0xbf, 0xed, 0x00, 0xd9, 0x3c, 0x4d, 0x9a, 0xfb,
568                         0x9c, 0xfe, 0xc7, 0xca, 0x3f, 0xd6, 0xbf, 0x03,
569                         0x73, 0x67, 0xcc, 0xc2, 0x38, 0xa3, 0xe0, 0x6e,
570                         0xe6, 0x4b, 0x63, 0x61
571                 },
572                 .len = 800
573         },
574         .validDataLenInBits = {
575                 .len = 800
576         },
577         .validCipherLenInBits = {
578                 .len = 800
579         }
580 };
581
582 static struct wireless_test_data zuc_test_case_cipher_200b_auth_200b = {
583         .key = {
584                 .data = {
585                         0x17, 0x3D, 0x14, 0xBA, 0x50, 0x03, 0x73, 0x1D,
586                         0x7A, 0x60, 0x04, 0x94, 0x70, 0xF0, 0x0A, 0x29
587                 },
588                 .len = 16
589         },
590         .cipher_iv = {
591                 .data = {
592                         0x66, 0x03, 0x54, 0x92, 0x78, 0x00, 0x00, 0x00,
593                         0x66, 0x03, 0x54, 0x92, 0x78, 0x00, 0x00, 0x00
594                 },
595                 .len = 16
596         },
597         .plaintext = {
598                 .data = {
599                         0x6C, 0xF6, 0x53, 0x40, 0x73, 0x55, 0x52, 0xAB,
600                         0x0C, 0x97, 0x52, 0xFA, 0x6F, 0x90, 0x25, 0xFE,
601                         0x0B, 0xD6, 0x75, 0xD9, 0x00, 0x58, 0x75, 0xB2,
602                         0x00
603                 },
604                 .len = 200
605         },
606         .ciphertext = {
607                 .data = {
608                         0xA6, 0xC8, 0x5F, 0xC6, 0x6A, 0xFB, 0x85, 0x33,
609                         0xAA, 0xFC, 0x25, 0x18, 0xDF, 0xE7, 0x84, 0x94,
610                         0x0E, 0xE1, 0xE4, 0xB0, 0x30, 0x23, 0x8C, 0xC8,
611                         0x10
612                 },
613                 .len = 200
614         },
615         .validDataLenInBits = {
616                 .len = 200
617         },
618         .validCipherLenInBits = {
619                 .len = 200
620         },
621         .auth_iv = {
622                 .data = {
623                         0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
624                         0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
625                 },
626                 .len = 16
627         },
628         .digest = {
629                 .data = {0x01, 0xFE, 0x5E, 0x38},
630                 .len  = 4
631         },
632         .validAuthLenInBits = {
633                 .len = 200
634         }
635 };
636
637 static struct wireless_test_data zuc_test_case_cipher_800b_auth_120b = {
638         .key = {
639                 .data = {
640                         0xE5, 0xBD, 0x3E, 0xA0, 0xEB, 0x55, 0xAD, 0xE8,
641                         0x66, 0xC6, 0xAC, 0x58, 0xBD, 0x54, 0x30, 0x2A
642                 },
643                 .len = 16
644         },
645         .cipher_iv = {
646                 .data = {
647                         0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00,
648                         0x00, 0x05, 0x68, 0x23, 0xC4, 0x00, 0x00, 0x00
649                 },
650                 .len = 16
651         },
652         .plaintext = {
653                 .data = {
654                         0x14, 0xA8, 0xEF, 0x69, 0x3D, 0x67, 0x85, 0x07,
655                         0xBB, 0xE7, 0x27, 0x0A, 0x7F, 0x67, 0xFF, 0x50,
656                         0x06, 0xC3, 0x52, 0x5B, 0x98, 0x07, 0xE4, 0x67,
657                         0xC4, 0xE5, 0x60, 0x00, 0xBA, 0x33, 0x8F, 0x5D,
658                         0x42, 0x95, 0x59, 0x03, 0x67, 0x51, 0x82, 0x22,
659                         0x46, 0xC8, 0x0D, 0x3B, 0x38, 0xF0, 0x7F, 0x4B,
660                         0xE2, 0xD8, 0xFF, 0x58, 0x05, 0xF5, 0x13, 0x22,
661                         0x29, 0xBD, 0xE9, 0x3B, 0xBB, 0xDC, 0xAF, 0x38,
662                         0x2B, 0xF1, 0xEE, 0x97, 0x2F, 0xBF, 0x99, 0x77,
663                         0xBA, 0xDA, 0x89, 0x45, 0x84, 0x7A, 0x2A, 0x6C,
664                         0x9A, 0xD3, 0x4A, 0x66, 0x75, 0x54, 0xE0, 0x4D,
665                         0x1F, 0x7F, 0xA2, 0xC3, 0x32, 0x41, 0xBD, 0x8F,
666                         0x01, 0xBA, 0x22, 0x0D
667                 },
668                 .len = 800
669         },
670         .ciphertext = {
671                 .data = {
672                         0x13, 0x1D, 0x43, 0xE0, 0xDE, 0xA1, 0xBE, 0x5C,
673                         0x5A, 0x1B, 0xFD, 0x97, 0x1D, 0x85, 0x2C, 0xBF,
674                         0x71, 0x2D, 0x7B, 0x4F, 0x57, 0x96, 0x1F, 0xEA,
675                         0x32, 0x08, 0xAF, 0xA8, 0xBC, 0xA4, 0x33, 0xF4,
676                         0x56, 0xAD, 0x09, 0xC7, 0x41, 0x7E, 0x58, 0xBC,
677                         0x69, 0xCF, 0x88, 0x66, 0xD1, 0x35, 0x3F, 0x74,
678                         0x86, 0x5E, 0x80, 0x78, 0x1D, 0x20, 0x2D, 0xFB,
679                         0x3E, 0xCF, 0xF7, 0xFC, 0xBC, 0x3B, 0x19, 0x0F,
680                         0xE8, 0x2A, 0x20, 0x4E, 0xD0, 0xE3, 0x50, 0xFC,
681                         0x0F, 0x6F, 0x26, 0x13, 0xB2, 0xF2, 0xBC, 0xA6,
682                         0xDF, 0x5A, 0x47, 0x3A, 0x57, 0xA4, 0xA0, 0x0D,
683                         0x98, 0x5E, 0xBA, 0xD8, 0x80, 0xD6, 0xF2, 0x38,
684                         0x64, 0xA0, 0x7B, 0x01
685                 },
686                 .len = 800
687         },
688         .validDataLenInBits = {
689                 .len = 800
690         },
691         .validCipherLenInBits = {
692                 .len = 800
693         },
694         .auth_iv = {
695                 .data = {
696                         0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00,
697                         0xFA, 0x55, 0x6B, 0x26, 0x1C, 0x00, 0x00, 0x00
698                 },
699                 .len = 16
700         },
701         .digest = {
702                 .data = {0x9D, 0x42, 0x1C, 0xEA},
703                 .len  = 4
704         },
705         .validAuthLenInBits = {
706                 .len = 120
707         }
708 };
709
710 struct wireless_test_data zuc_test_case_auth_1b = {
711         .key = {
712                 .data = {
713                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
714                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
715                 },
716                 .len = 16
717         },
718         .auth_iv = {
719                 .data = {
720                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
721                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
722                 },
723                 .len = 16
724         },
725         .plaintext = {
726                 .data = {0x00},
727                 .len = 8
728         },
729         .validAuthLenInBits = {
730                 .len = 1
731         },
732         .digest = {
733                 .data = {0xC8, 0xA9, 0x59, 0x5E},
734                 .len  = 4
735         }
736 };
737
738 struct wireless_test_data zuc_test_case_auth_90b = {
739         .key = {
740                 .data = {
741                         0x47, 0x05, 0x41, 0x25, 0x56, 0x1E, 0xB2, 0xDD,
742                         0xA9, 0x40, 0x59, 0xDA, 0x05, 0x09, 0x78, 0x50
743                 },
744                 .len = 16
745         },
746         .auth_iv = {
747                 .data = {
748                         0x56, 0x1E, 0xB2, 0xDD, 0xA0, 0x00, 0x00, 0x00,
749                         0x56, 0x1E, 0xB2, 0xDD, 0xA0, 0x00, 0x00, 0x00
750                 },
751                 .len = 16
752         },
753         .plaintext = {
754                 .data = {
755                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
756                         0x00, 0x00, 0x00, 0x00
757                 },
758                 .len = 96
759         },
760         .validAuthLenInBits = {
761                 .len = 90
762         },
763         .digest = {
764                 .data = {0x67, 0x19, 0xA0, 0x88},
765                 .len  = 4
766         }
767 };
768
769 struct wireless_test_data zuc_test_case_auth_577b = {
770         .key = {
771                 .data = {
772                         0xC9, 0xE6, 0xCE, 0xC4, 0x60, 0x7C, 0x72, 0xDB,
773                         0x00, 0x0A, 0xEF, 0xA8, 0x83, 0x85, 0xAB, 0x0A
774                 },
775                 .len = 16
776         },
777         .auth_iv = {
778                 .data = {
779                         0xA9, 0x40, 0x59, 0xDA, 0x50, 0x00, 0x00, 0x00,
780                         0x29, 0x40, 0x59, 0xDA, 0x50, 0x00, 0x80, 0x00
781                 },
782                 .len = 16
783         },
784         .plaintext = {
785                 .data = {
786                         0x98, 0x3B, 0x41, 0xD4, 0x7D, 0x78, 0x0C, 0x9E,
787                         0x1A, 0xD1, 0x1D, 0x7E, 0xB7, 0x03, 0x91, 0xB1,
788                         0xDE, 0x0B, 0x35, 0xDA, 0x2D, 0xC6, 0x2F, 0x83,
789                         0xE7, 0xB7, 0x8D, 0x63, 0x06, 0xCA, 0x0E, 0xA0,
790                         0x7E, 0x94, 0x1B, 0x7B, 0xE9, 0x13, 0x48, 0xF9,
791                         0xFC, 0xB1, 0x70, 0xE2, 0x21, 0x7F, 0xEC, 0xD9,
792                         0x7F, 0x9F, 0x68, 0xAD, 0xB1, 0x6E, 0x5D, 0x7D,
793                         0x21, 0xE5, 0x69, 0xD2, 0x80, 0xED, 0x77, 0x5C,
794                         0xEB, 0xDE, 0x3F, 0x40, 0x93, 0xC5, 0x38, 0x81,
795                         0x00
796                 },
797                 .len = 584
798         },
799         .validAuthLenInBits = {
800                 .len = 577
801         },
802         .digest = {
803                 .data = {0xFA, 0xE8, 0xFF, 0x0B},
804                 .len  = 4
805         }
806 };
807
808 struct wireless_test_data zuc_test_case_auth_2079b = {
809         .key = {
810                 .data = {
811                         0xC8, 0xA4, 0x82, 0x62, 0xD0, 0xC2, 0xE2, 0xBA,
812                         0xC4, 0xB9, 0x6E, 0xF7, 0x7E, 0x80, 0xCA, 0x59
813                 },
814                 .len = 16
815         },
816         .auth_iv = {
817                 .data = {
818                         0x05, 0x09, 0x78, 0x50, 0x80, 0x00, 0x00, 0x00,
819                         0x85, 0x09, 0x78, 0x50, 0x80, 0x00, 0x80, 0x00
820                 },
821                 .len = 16
822         },
823         .plaintext = {
824                 .data = {
825                         0xB5, 0x46, 0x43, 0x0B, 0xF8, 0x7B, 0x4F, 0x1E,
826                         0xE8, 0x34, 0x70, 0x4C, 0xD6, 0x95, 0x1C, 0x36,
827                         0xE2, 0x6F, 0x10, 0x8C, 0xF7, 0x31, 0x78, 0x8F,
828                         0x48, 0xDC, 0x34, 0xF1, 0x67, 0x8C, 0x05, 0x22,
829                         0x1C, 0x8F, 0xA7, 0xFF, 0x2F, 0x39, 0xF4, 0x77,
830                         0xE7, 0xE4, 0x9E, 0xF6, 0x0A, 0x4E, 0xC2, 0xC3,
831                         0xDE, 0x24, 0x31, 0x2A, 0x96, 0xAA, 0x26, 0xE1,
832                         0xCF, 0xBA, 0x57, 0x56, 0x38, 0x38, 0xB2, 0x97,
833                         0xF4, 0x7E, 0x85, 0x10, 0xC7, 0x79, 0xFD, 0x66,
834                         0x54, 0xB1, 0x43, 0x38, 0x6F, 0xA6, 0x39, 0xD3,
835                         0x1E, 0xDB, 0xD6, 0xC0, 0x6E, 0x47, 0xD1, 0x59,
836                         0xD9, 0x43, 0x62, 0xF2, 0x6A, 0xEE, 0xED, 0xEE,
837                         0x0E, 0x4F, 0x49, 0xD9, 0xBF, 0x84, 0x12, 0x99,
838                         0x54, 0x15, 0xBF, 0xAD, 0x56, 0xEE, 0x82, 0xD1,
839                         0xCA, 0x74, 0x63, 0xAB, 0xF0, 0x85, 0xB0, 0x82,
840                         0xB0, 0x99, 0x04, 0xD6, 0xD9, 0x90, 0xD4, 0x3C,
841                         0xF2, 0xE0, 0x62, 0xF4, 0x08, 0x39, 0xD9, 0x32,
842                         0x48, 0xB1, 0xEB, 0x92, 0xCD, 0xFE, 0xD5, 0x30,
843                         0x0B, 0xC1, 0x48, 0x28, 0x04, 0x30, 0xB6, 0xD0,
844                         0xCA, 0xA0, 0x94, 0xB6, 0xEC, 0x89, 0x11, 0xAB,
845                         0x7D, 0xC3, 0x68, 0x24, 0xB8, 0x24, 0xDC, 0x0A,
846                         0xF6, 0x68, 0x2B, 0x09, 0x35, 0xFD, 0xE7, 0xB4,
847                         0x92, 0xA1, 0x4D, 0xC2, 0xF4, 0x36, 0x48, 0x03,
848                         0x8D, 0xA2, 0xCF, 0x79, 0x17, 0x0D, 0x2D, 0x50,
849                         0x13, 0x3F, 0xD4, 0x94, 0x16, 0xCB, 0x6E, 0x33,
850                         0xBE, 0xA9, 0x0B, 0x8B, 0xF4, 0x55, 0x9B, 0x03,
851                         0x73, 0x2A, 0x01, 0xEA, 0x29, 0x0E, 0x6D, 0x07,
852                         0x4F, 0x79, 0xBB, 0x83, 0xC1, 0x0E, 0x58, 0x00,
853                         0x15, 0xCC, 0x1A, 0x85, 0xB3, 0x6B, 0x55, 0x01,
854                         0x04, 0x6E, 0x9C, 0x4B, 0xDC, 0xAE, 0x51, 0x35,
855                         0x69, 0x0B, 0x86, 0x66, 0xBD, 0x54, 0xB7, 0xA7,
856                         0x03, 0xEA, 0x7B, 0x6F, 0x22, 0x0A, 0x54, 0x69,
857                         0xA5, 0x68, 0x02, 0x7E
858                 },
859                 .len = 2080
860         },
861         .validAuthLenInBits = {
862                 .len = 2079
863         },
864         .digest = {
865                 .data = {0x00, 0x4A, 0xC4, 0xD6},
866                 .len  = 4
867         }
868 };
869
870 struct wireless_test_data zuc_test_auth_5670b = {
871         .key = {
872                 .data = {
873                         0x6B, 0x8B, 0x08, 0xEE, 0x79, 0xE0, 0xB5, 0x98,
874                         0x2D, 0x6D, 0x12, 0x8E, 0xA9, 0xF2, 0x20, 0xCB
875                 },
876                 .len = 16
877         },
878         .auth_iv = {
879                 .data = {
880                         0x56, 0x1E, 0xB2, 0xDD, 0xE0, 0x00, 0x00, 0x00,
881                         0x56, 0x1E, 0xB2, 0xDD, 0xE0, 0x00, 0x00, 0x00
882                 },
883                 .len = 16
884         },
885         .plaintext = {
886                 .data = {
887                         0x5B, 0xAD, 0x72, 0x47, 0x10, 0xBA, 0x1C, 0x56,
888                         0xD5, 0xA3, 0x15, 0xF8, 0xD4, 0x0F, 0x6E, 0x09,
889                         0x37, 0x80, 0xBE, 0x8E, 0x8D, 0xE0, 0x7B, 0x69,
890                         0x92, 0x43, 0x20, 0x18, 0xE0, 0x8E, 0xD9, 0x6A,
891                         0x57, 0x34, 0xAF, 0x8B, 0xAD, 0x8A, 0x57, 0x5D,
892                         0x3A, 0x1F, 0x16, 0x2F, 0x85, 0x04, 0x5C, 0xC7,
893                         0x70, 0x92, 0x55, 0x71, 0xD9, 0xF5, 0xB9, 0x4E,
894                         0x45, 0x4A, 0x77, 0xC1, 0x6E, 0x72, 0x93, 0x6B,
895                         0xF0, 0x16, 0xAE, 0x15, 0x74, 0x99, 0xF0, 0x54,
896                         0x3B, 0x5D, 0x52, 0xCA, 0xA6, 0xDB, 0xEA, 0xB6,
897                         0x97, 0xD2, 0xBB, 0x73, 0xE4, 0x1B, 0x80, 0x75,
898                         0xDC, 0xE7, 0x9B, 0x4B, 0x86, 0x04, 0x4F, 0x66,
899                         0x1D, 0x44, 0x85, 0xA5, 0x43, 0xDD, 0x78, 0x60,
900                         0x6E, 0x04, 0x19, 0xE8, 0x05, 0x98, 0x59, 0xD3,
901                         0xCB, 0x2B, 0x67, 0xCE, 0x09, 0x77, 0x60, 0x3F,
902                         0x81, 0xFF, 0x83, 0x9E, 0x33, 0x18, 0x59, 0x54,
903                         0x4C, 0xFB, 0xC8, 0xD0, 0x0F, 0xEF, 0x1A, 0x4C,
904                         0x85, 0x10, 0xFB, 0x54, 0x7D, 0x6B, 0x06, 0xC6,
905                         0x11, 0xEF, 0x44, 0xF1, 0xBC, 0xE1, 0x07, 0xCF,
906                         0xA4, 0x5A, 0x06, 0xAA, 0xB3, 0x60, 0x15, 0x2B,
907                         0x28, 0xDC, 0x1E, 0xBE, 0x6F, 0x7F, 0xE0, 0x9B,
908                         0x05, 0x16, 0xF9, 0xA5, 0xB0, 0x2A, 0x1B, 0xD8,
909                         0x4B, 0xB0, 0x18, 0x1E, 0x2E, 0x89, 0xE1, 0x9B,
910                         0xD8, 0x12, 0x59, 0x30, 0xD1, 0x78, 0x68, 0x2F,
911                         0x38, 0x62, 0xDC, 0x51, 0xB6, 0x36, 0xF0, 0x4E,
912                         0x72, 0x0C, 0x47, 0xC3, 0xCE, 0x51, 0xAD, 0x70,
913                         0xD9, 0x4B, 0x9B, 0x22, 0x55, 0xFB, 0xAE, 0x90,
914                         0x65, 0x49, 0xF4, 0x99, 0xF8, 0xC6, 0xD3, 0x99,
915                         0x47, 0xED, 0x5E, 0x5D, 0xF8, 0xE2, 0xDE, 0xF1,
916                         0x13, 0x25, 0x3E, 0x7B, 0x08, 0xD0, 0xA7, 0x6B,
917                         0x6B, 0xFC, 0x68, 0xC8, 0x12, 0xF3, 0x75, 0xC7,
918                         0x9B, 0x8F, 0xE5, 0xFD, 0x85, 0x97, 0x6A, 0xA6,
919                         0xD4, 0x6B, 0x4A, 0x23, 0x39, 0xD8, 0xAE, 0x51,
920                         0x47, 0xF6, 0x80, 0xFB, 0xE7, 0x0F, 0x97, 0x8B,
921                         0x38, 0xEF, 0xFD, 0x7B, 0x2F, 0x78, 0x66, 0xA2,
922                         0x25, 0x54, 0xE1, 0x93, 0xA9, 0x4E, 0x98, 0xA6,
923                         0x8B, 0x74, 0xBD, 0x25, 0xBB, 0x2B, 0x3F, 0x5F,
924                         0xB0, 0xA5, 0xFD, 0x59, 0x88, 0x7F, 0x9A, 0xB6,
925                         0x81, 0x59, 0xB7, 0x17, 0x8D, 0x5B, 0x7B, 0x67,
926                         0x7C, 0xB5, 0x46, 0xBF, 0x41, 0xEA, 0xDC, 0xA2,
927                         0x16, 0xFC, 0x10, 0x85, 0x01, 0x28, 0xF8, 0xBD,
928                         0xEF, 0x5C, 0x8D, 0x89, 0xF9, 0x6A, 0xFA, 0x4F,
929                         0xA8, 0xB5, 0x48, 0x85, 0x56, 0x5E, 0xD8, 0x38,
930                         0xA9, 0x50, 0xFE, 0xE5, 0xF1, 0xC3, 0xB0, 0xA4,
931                         0xF6, 0xFB, 0x71, 0xE5, 0x4D, 0xFD, 0x16, 0x9E,
932                         0x82, 0xCE, 0xCC, 0x72, 0x66, 0xC8, 0x50, 0xE6,
933                         0x7C, 0x5E, 0xF0, 0xBA, 0x96, 0x0F, 0x52, 0x14,
934                         0x06, 0x0E, 0x71, 0xEB, 0x17, 0x2A, 0x75, 0xFC,
935                         0x14, 0x86, 0x83, 0x5C, 0xBE, 0xA6, 0x53, 0x44,
936                         0x65, 0xB0, 0x55, 0xC9, 0x6A, 0x72, 0xE4, 0x10,
937                         0x52, 0x24, 0x18, 0x23, 0x25, 0xD8, 0x30, 0x41,
938                         0x4B, 0x40, 0x21, 0x4D, 0xAA, 0x80, 0x91, 0xD2,
939                         0xE0, 0xFB, 0x01, 0x0A, 0xE1, 0x5C, 0x6D, 0xE9,
940                         0x08, 0x50, 0x97, 0x3B, 0xDF, 0x1E, 0x42, 0x3B,
941                         0xE1, 0x48, 0xA2, 0x37, 0xB8, 0x7A, 0x0C, 0x9F,
942                         0x34, 0xD4, 0xB4, 0x76, 0x05, 0xB8, 0x03, 0xD7,
943                         0x43, 0xA8, 0x6A, 0x90, 0x39, 0x9A, 0x4A, 0xF3,
944                         0x96, 0xD3, 0xA1, 0x20, 0x0A, 0x62, 0xF3, 0xD9,
945                         0x50, 0x79, 0x62, 0xE8, 0xE5, 0xBE, 0xE6, 0xD3,
946                         0xDA, 0x2B, 0xB3, 0xF7, 0x23, 0x76, 0x64, 0xAC,
947                         0x7A, 0x29, 0x28, 0x23, 0x90, 0x0B, 0xC6, 0x35,
948                         0x03, 0xB2, 0x9E, 0x80, 0xD6, 0x3F, 0x60, 0x67,
949                         0xBF, 0x8E, 0x17, 0x16, 0xAC, 0x25, 0xBE, 0xBA,
950                         0x35, 0x0D, 0xEB, 0x62, 0xA9, 0x9F, 0xE0, 0x31,
951                         0x85, 0xEB, 0x4F, 0x69, 0x93, 0x7E, 0xCD, 0x38,
952                         0x79, 0x41, 0xFD, 0xA5, 0x44, 0xBA, 0x67, 0xDB,
953                         0x09, 0x11, 0x77, 0x49, 0x38, 0xB0, 0x18, 0x27,
954                         0xBC, 0xC6, 0x9C, 0x92, 0xB3, 0xF7, 0x72, 0xA9,
955                         0xD2, 0x85, 0x9E, 0xF0, 0x03, 0x39, 0x8B, 0x1F,
956                         0x6B, 0xBA, 0xD7, 0xB5, 0x74, 0xF7, 0x98, 0x9A,
957                         0x1D, 0x10, 0xB2, 0xDF, 0x79, 0x8E, 0x0D, 0xBF,
958                         0x30, 0xD6, 0x58, 0x74, 0x64, 0xD2, 0x48, 0x78,
959                         0xCD, 0x00, 0xC0, 0xEA, 0xEE, 0x8A, 0x1A, 0x0C,
960                         0xC7, 0x53, 0xA2, 0x79, 0x79, 0xE1, 0x1B, 0x41,
961                         0xDB, 0x1D, 0xE3, 0xD5, 0x03, 0x8A, 0xFA, 0xF4,
962                         0x9F, 0x5C, 0x68, 0x2C, 0x37, 0x48, 0xD8, 0xA3,
963                         0xA9, 0xEC, 0x54, 0xE6, 0xA3, 0x71, 0x27, 0x5F,
964                         0x16, 0x83, 0x51, 0x0F, 0x8E, 0x4F, 0x90, 0x93,
965                         0x8F, 0x9A, 0xB6, 0xE1, 0x34, 0xC2, 0xCF, 0xDF,
966                         0x48, 0x41, 0xCB, 0xA8, 0x8E, 0x0C, 0xFF, 0x2B,
967                         0x0B, 0xCC, 0x8E, 0x6A, 0xDC, 0xB7, 0x11, 0x09,
968                         0xB5, 0x19, 0x8F, 0xEC, 0xF1, 0xBB, 0x7E, 0x5C,
969                         0x53, 0x1A, 0xCA, 0x50, 0xA5, 0x6A, 0x8A, 0x3B,
970                         0x6D, 0xE5, 0x98, 0x62, 0xD4, 0x1F, 0xA1, 0x13,
971                         0xD9, 0xCD, 0x95, 0x78, 0x08, 0xF0, 0x85, 0x71,
972                         0xD9, 0xA4, 0xBB, 0x79, 0x2A, 0xF2, 0x71, 0xF6,
973                         0xCC, 0x6D, 0xBB, 0x8D, 0xC7, 0xEC, 0x36, 0xE3,
974                         0x6B, 0xE1, 0xED, 0x30, 0x81, 0x64, 0xC3, 0x1C,
975                         0x7C, 0x0A, 0xFC, 0x54, 0x1C
976                 },
977                 .len = 5672
978         },
979         .validAuthLenInBits = {
980                 .len = 5670
981         },
982         .digest = {
983                 .data = {0x0C, 0xA1, 0x27, 0x92},
984                 .len  = 4
985         }
986 };
987
988 static struct wireless_test_data zuc_test_case_auth_128b = {
989         .key = {
990                 .data = { 0x0 },
991                 .len = 16
992         },
993         .auth_iv = {
994                 .data = { 0x0 },
995                 .len = 16
996         },
997         .plaintext = {
998                 .data = { 0x0 },
999                 .len = 8
1000         },
1001         .validAuthLenInBits = {
1002                 .len = 8
1003         },
1004         .digest = {
1005                 .data = { 0x39, 0x0a, 0x91, 0xb7 },
1006                 .len  = 4
1007         }
1008 };
1009
1010 static struct wireless_test_data zuc_test_case_auth_2080b = {
1011         .key = {
1012                 .data = {
1013                         0xC8, 0xA4, 0x82, 0x62, 0xD0, 0xC2, 0xE2, 0xBA,
1014                         0xC4, 0xB9, 0x6E, 0xF7, 0x7E, 0x80, 0xCA, 0x59
1015                 },
1016                 .len = 16
1017         },
1018         .auth_iv = {
1019                 .data = {
1020                         0x05, 0x09, 0x78, 0x50, 0x80, 0x00, 0x00, 0x00,
1021                         0x85, 0x09, 0x78, 0x50, 0x80, 0x00, 0x80, 0x00
1022                 },
1023                 .len = 16
1024         },
1025         .plaintext = {
1026                 .data = {
1027                         0xB5, 0x46, 0x43, 0x0B, 0xF8, 0x7B, 0x4F, 0x1E,
1028                         0xE8, 0x34, 0x70, 0x4C, 0xD6, 0x95, 0x1C, 0x36,
1029                         0xE2, 0x6F, 0x10, 0x8C, 0xF7, 0x31, 0x78, 0x8F,
1030                         0x48, 0xDC, 0x34, 0xF1, 0x67, 0x8C, 0x05, 0x22,
1031                         0x1C, 0x8F, 0xA7, 0xFF, 0x2F, 0x39, 0xF4, 0x77,
1032                         0xE7, 0xE4, 0x9E, 0xF6, 0x0A, 0x4E, 0xC2, 0xC3,
1033                         0xDE, 0x24, 0x31, 0x2A, 0x96, 0xAA, 0x26, 0xE1,
1034                         0xCF, 0xBA, 0x57, 0x56, 0x38, 0x38, 0xB2, 0x97,
1035                         0xF4, 0x7E, 0x85, 0x10, 0xC7, 0x79, 0xFD, 0x66,
1036                         0x54, 0xB1, 0x43, 0x38, 0x6F, 0xA6, 0x39, 0xD3,
1037                         0x1E, 0xDB, 0xD6, 0xC0, 0x6E, 0x47, 0xD1, 0x59,
1038                         0xD9, 0x43, 0x62, 0xF2, 0x6A, 0xEE, 0xED, 0xEE,
1039                         0x0E, 0x4F, 0x49, 0xD9, 0xBF, 0x84, 0x12, 0x99,
1040                         0x54, 0x15, 0xBF, 0xAD, 0x56, 0xEE, 0x82, 0xD1,
1041                         0xCA, 0x74, 0x63, 0xAB, 0xF0, 0x85, 0xB0, 0x82,
1042                         0xB0, 0x99, 0x04, 0xD6, 0xD9, 0x90, 0xD4, 0x3C,
1043                         0xF2, 0xE0, 0x62, 0xF4, 0x08, 0x39, 0xD9, 0x32,
1044                         0x48, 0xB1, 0xEB, 0x92, 0xCD, 0xFE, 0xD5, 0x30,
1045                         0x0B, 0xC1, 0x48, 0x28, 0x04, 0x30, 0xB6, 0xD0,
1046                         0xCA, 0xA0, 0x94, 0xB6, 0xEC, 0x89, 0x11, 0xAB,
1047                         0x7D, 0xC3, 0x68, 0x24, 0xB8, 0x24, 0xDC, 0x0A,
1048                         0xF6, 0x68, 0x2B, 0x09, 0x35, 0xFD, 0xE7, 0xB4,
1049                         0x92, 0xA1, 0x4D, 0xC2, 0xF4, 0x36, 0x48, 0x03,
1050                         0x8D, 0xA2, 0xCF, 0x79, 0x17, 0x0D, 0x2D, 0x50,
1051                         0x13, 0x3F, 0xD4, 0x94, 0x16, 0xCB, 0x6E, 0x33,
1052                         0xBE, 0xA9, 0x0B, 0x8B, 0xF4, 0x55, 0x9B, 0x03,
1053                         0x73, 0x2A, 0x01, 0xEA, 0x29, 0x0E, 0x6D, 0x07,
1054                         0x4F, 0x79, 0xBB, 0x83, 0xC1, 0x0E, 0x58, 0x00,
1055                         0x15, 0xCC, 0x1A, 0x85, 0xB3, 0x6B, 0x55, 0x01,
1056                         0x04, 0x6E, 0x9C, 0x4B, 0xDC, 0xAE, 0x51, 0x35,
1057                         0x69, 0x0B, 0x86, 0x66, 0xBD, 0x54, 0xB7, 0xA7,
1058                         0x03, 0xEA, 0x7B, 0x6F, 0x22, 0x0A, 0x54, 0x69,
1059                         0xA5, 0x68, 0x02, 0x7E
1060                 },
1061                 .len = 2080
1062         },
1063         .validAuthLenInBits = {
1064                 .len = 2080
1065         },
1066         .digest = {
1067                 .data = {0x03, 0x95, 0x32, 0xe1},
1068                 .len  = 4
1069         }
1070 };
1071
1072 static struct wireless_test_data zuc_test_case_auth_584b = {
1073         .key = {
1074                 .data = {
1075                         0xc9, 0xe6, 0xce, 0xc4, 0x60, 0x7c, 0x72, 0xdb,
1076                         0x00, 0x0a, 0xef, 0xa8, 0x83, 0x85, 0xab, 0x0a
1077                 },
1078                 .len = 16
1079         },
1080         .auth_iv = {
1081                 .data = {
1082                         0xa9, 0x40, 0x59, 0xda, 0x50, 0x0, 0x0, 0x0,
1083                         0x29, 0x40, 0x59, 0xda, 0x50, 0x0, 0x80, 0x0
1084                 },
1085                 .len = 16
1086         },
1087         .plaintext = {
1088                 .data = {
1089                         0x98, 0x3b, 0x41, 0xd4, 0x7d, 0x78, 0x0c, 0x9e,
1090                         0x1a, 0xd1, 0x1d, 0x7e, 0xb7, 0x03, 0x91, 0xb1,
1091                         0xde, 0x0b, 0x35, 0xda, 0x2d, 0xc6, 0x2f, 0x83,
1092                         0xe7, 0xb7, 0x8d, 0x63, 0x06, 0xca, 0x0e, 0xa0,
1093                         0x7e, 0x94, 0x1b, 0x7b, 0xe9, 0x13, 0x48, 0xf9,
1094                         0xfc, 0xb1, 0x70, 0xe2, 0x21, 0x7f, 0xec, 0xd9,
1095                         0x7f, 0x9f, 0x68, 0xad, 0xb1, 0x6e, 0x5d, 0x7d,
1096                         0x21, 0xe5, 0x69, 0xd2, 0x80, 0xed, 0x77, 0x5c,
1097                         0xeb, 0xde, 0x3f, 0x40, 0x93, 0xc5, 0x38, 0x81,
1098                         0x00, 0x00, 0x00, 0x00
1099                 },
1100                 .len = 584
1101         },
1102         .validAuthLenInBits = {
1103                 .len = 584
1104         },
1105         .digest = {
1106                 .data = {0x24, 0xa8, 0x42, 0xb3},
1107                 .len  = 4
1108         }
1109 };
1110
1111 static struct wireless_test_data zuc_test_case_auth_2080b_mac_128b = {
1112         .key = {
1113                 .data = {
1114                         0xC8, 0xA4, 0x82, 0x62, 0xD0, 0xC2, 0xE2, 0xBA,
1115                         0xC4, 0xB9, 0x6E, 0xF7, 0x7E, 0x80, 0xCA, 0x59,
1116                         0xC8, 0xA4, 0x82, 0x62, 0xD0, 0xC2, 0xE2, 0xBA,
1117                         0xC4, 0xB9, 0x6E, 0xF7, 0x7E, 0x80, 0xCA, 0x59
1118                 },
1119                 .len = 32
1120         },
1121         .auth_iv = {
1122                 .data = {
1123                         0x05, 0x09, 0x78, 0x50, 0x80, 0x00, 0x00, 0x00,
1124                         0x85, 0x09, 0x78, 0x50, 0x80, 0x00, 0x80, 0x00,
1125                         0x85, 0x09, 0x78, 0x50, 0x80, 0x00, 0x80, 0x00
1126                 },
1127                 .len = 24
1128         },
1129         .plaintext = {
1130                 .data = {
1131                         0xB5, 0x46, 0x43, 0x0B, 0xF8, 0x7B, 0x4F, 0x1E,
1132                         0xE8, 0x34, 0x70, 0x4C, 0xD6, 0x95, 0x1C, 0x36,
1133                         0xE2, 0x6F, 0x10, 0x8C, 0xF7, 0x31, 0x78, 0x8F,
1134                         0x48, 0xDC, 0x34, 0xF1, 0x67, 0x8C, 0x05, 0x22,
1135                         0x1C, 0x8F, 0xA7, 0xFF, 0x2F, 0x39, 0xF4, 0x77,
1136                         0xE7, 0xE4, 0x9E, 0xF6, 0x0A, 0x4E, 0xC2, 0xC3,
1137                         0xDE, 0x24, 0x31, 0x2A, 0x96, 0xAA, 0x26, 0xE1,
1138                         0xCF, 0xBA, 0x57, 0x56, 0x38, 0x38, 0xB2, 0x97,
1139                         0xF4, 0x7E, 0x85, 0x10, 0xC7, 0x79, 0xFD, 0x66,
1140                         0x54, 0xB1, 0x43, 0x38, 0x6F, 0xA6, 0x39, 0xD3,
1141                         0x1E, 0xDB, 0xD6, 0xC0, 0x6E, 0x47, 0xD1, 0x59,
1142                         0xD9, 0x43, 0x62, 0xF2, 0x6A, 0xEE, 0xED, 0xEE,
1143                         0x0E, 0x4F, 0x49, 0xD9, 0xBF, 0x84, 0x12, 0x99,
1144                         0x54, 0x15, 0xBF, 0xAD, 0x56, 0xEE, 0x82, 0xD1,
1145                         0xCA, 0x74, 0x63, 0xAB, 0xF0, 0x85, 0xB0, 0x82,
1146                         0xB0, 0x99, 0x04, 0xD6, 0xD9, 0x90, 0xD4, 0x3C,
1147                         0xF2, 0xE0, 0x62, 0xF4, 0x08, 0x39, 0xD9, 0x32,
1148                         0x48, 0xB1, 0xEB, 0x92, 0xCD, 0xFE, 0xD5, 0x30,
1149                         0x0B, 0xC1, 0x48, 0x28, 0x04, 0x30, 0xB6, 0xD0,
1150                         0xCA, 0xA0, 0x94, 0xB6, 0xEC, 0x89, 0x11, 0xAB,
1151                         0x7D, 0xC3, 0x68, 0x24, 0xB8, 0x24, 0xDC, 0x0A,
1152                         0xF6, 0x68, 0x2B, 0x09, 0x35, 0xFD, 0xE7, 0xB4,
1153                         0x92, 0xA1, 0x4D, 0xC2, 0xF4, 0x36, 0x48, 0x03,
1154                         0x8D, 0xA2, 0xCF, 0x79, 0x17, 0x0D, 0x2D, 0x50,
1155                         0x13, 0x3F, 0xD4, 0x94, 0x16, 0xCB, 0x6E, 0x33,
1156                         0xBE, 0xA9, 0x0B, 0x8B, 0xF4, 0x55, 0x9B, 0x03,
1157                         0x73, 0x2A, 0x01, 0xEA, 0x29, 0x0E, 0x6D, 0x07,
1158                         0x4F, 0x79, 0xBB, 0x83, 0xC1, 0x0E, 0x58, 0x00,
1159                         0x15, 0xCC, 0x1A, 0x85, 0xB3, 0x6B, 0x55, 0x01,
1160                         0x04, 0x6E, 0x9C, 0x4B, 0xDC, 0xAE, 0x51, 0x35,
1161                         0x69, 0x0B, 0x86, 0x66, 0xBD, 0x54, 0xB7, 0xA7,
1162                         0x03, 0xEA, 0x7B, 0x6F, 0x22, 0x0A, 0x54, 0x69,
1163                         0xA5, 0x68, 0x02, 0x7E
1164                 },
1165                 .len = 2080
1166         },
1167         .validAuthLenInBits = {
1168                 .len = 2080
1169         },
1170         .digest = {
1171                 .data = {0x05, 0x9f, 0xd8, 0x21, 0x90, 0xfb, 0x13, 0x26,
1172                                 0x94, 0x37, 0x6d, 0xc0, 0xcc, 0x52, 0xb9, 0xcc},
1173                 .len  = 16
1174         }
1175 };
1176
1177 static struct wireless_test_data zuc_test_case_auth_584b_mac_64b = {
1178         .key = {
1179                 .data = {
1180                         0xc9, 0xe6, 0xce, 0xc4, 0x60, 0x7c, 0x72, 0xdb,
1181                         0x00, 0x0a, 0xef, 0xa8, 0x83, 0x85, 0xab, 0x0a,
1182                         0xc9, 0xe6, 0xce, 0xc4, 0x60, 0x7c, 0x72, 0xdb,
1183                         0x00, 0x0a, 0xef, 0xa8, 0x83, 0x85, 0xab, 0x0a
1184                 },
1185                 .len = 32
1186         },
1187         .auth_iv = {
1188                 .data = {
1189                         0xa9, 0x40, 0x59, 0xda, 0x50, 0x0, 0x0, 0x0,
1190                         0x29, 0x40, 0x59, 0xda, 0x50, 0x0, 0x80, 0x0,
1191                         0x29, 0x40, 0x59, 0xda, 0x50, 0x0, 0x80, 0x0
1192                 },
1193                 .len = 24
1194         },
1195         .plaintext = {
1196                 .data = {
1197                         0x98, 0x3b, 0x41, 0xd4, 0x7d, 0x78, 0x0c, 0x9e,
1198                         0x1a, 0xd1, 0x1d, 0x7e, 0xb7, 0x03, 0x91, 0xb1,
1199                         0xde, 0x0b, 0x35, 0xda, 0x2d, 0xc6, 0x2f, 0x83,
1200                         0xe7, 0xb7, 0x8d, 0x63, 0x06, 0xca, 0x0e, 0xa0,
1201                         0x7e, 0x94, 0x1b, 0x7b, 0xe9, 0x13, 0x48, 0xf9,
1202                         0xfc, 0xb1, 0x70, 0xe2, 0x21, 0x7f, 0xec, 0xd9,
1203                         0x7f, 0x9f, 0x68, 0xad, 0xb1, 0x6e, 0x5d, 0x7d,
1204                         0x21, 0xe5, 0x69, 0xd2, 0x80, 0xed, 0x77, 0x5c,
1205                         0xeb, 0xde, 0x3f, 0x40, 0x93, 0xc5, 0x38, 0x81,
1206                         0x00, 0x00, 0x00, 0x00
1207                 },
1208                 .len = 584
1209         },
1210         .validAuthLenInBits = {
1211                 .len = 584
1212         },
1213         .digest = {
1214                 .data = {0xf5, 0x45, 0x4a, 0x75, 0x22, 0x39, 0x4b, 0xf2},
1215                 .len  = 8
1216         }
1217 };
1218
1219 struct wireless_test_data zuc_auth_cipher_test_case_1 = {
1220         .key = {
1221                 .data = {
1222                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1223                         0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10
1224                 },
1225                 .len = 16
1226         },
1227         .cipher_iv = {
1228                 .data = {
1229                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1230                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1231                 },
1232                 .len = 16
1233         },
1234         .auth_iv = {
1235                 .data = {
1236                         0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
1237                         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1238                 },
1239                 .len = 16
1240         },
1241         .plaintext = {
1242                 .data = {
1243                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1244                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1245                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1246                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1247                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1248                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1249                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1250                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1251                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1252                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1253                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1254                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1255                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1256                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1257                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A,
1258                         0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A, 0x5A
1259                 },
1260                 .len = 128 << 3
1261         },
1262         .ciphertext = {
1263                 .data = {
1264                         0x5A, 0x5A, 0xDB, 0x3D, 0xD5, 0xB7, 0xB9, 0x58,
1265                         0xA5, 0xD3, 0xE3, 0xF9, 0x18, 0x73, 0xB4, 0x74,
1266                         0x05, 0xF0, 0xE9, 0xB6, 0x5D, 0x9A, 0xE3, 0xFA,
1267                         0x5D, 0xFD, 0x24, 0x51, 0xAD, 0x73, 0xCA, 0x64,
1268                         0x91, 0xD5, 0xB3, 0x94, 0x10, 0x91, 0x89, 0xEA,
1269                         0x73, 0x6F, 0xB0, 0x2A, 0x0A, 0x63, 0x0F, 0x8D,
1270                         0x64, 0x87, 0xA3, 0x14, 0x6B, 0x93, 0x31, 0x0F,
1271                         0x14, 0xAD, 0xEA, 0x62, 0x80, 0x3F, 0x44, 0xDD,
1272                         0x4E, 0x30, 0xFA, 0xC8, 0x0E, 0x5F, 0x46, 0xE7,
1273                         0x60, 0xEC, 0xDF, 0x8B, 0x94, 0x7D, 0x2E, 0x63,
1274                         0x48, 0xD9, 0x69, 0x06, 0x13, 0xF2, 0x20, 0x49,
1275                         0x54, 0xA6, 0xD4, 0x98, 0xF4, 0xF6, 0x1D, 0x4A,
1276                         0xC9, 0xA5, 0xDA, 0x46, 0x3D, 0xD9, 0x02, 0x47,
1277                         0x1C, 0x20, 0x73, 0x35, 0x17, 0x1D, 0x81, 0x8D,
1278                         0x2E, 0xCD, 0x70, 0x37, 0x22, 0x55, 0x3C, 0xF3,
1279                         0xDA, 0x70, 0x42, 0x12, 0x0E, 0xAA, 0xC4, 0xAB
1280                 },
1281                 .len = 128 << 3
1282         },
1283         .validDataLenInBits = {
1284                 .len = 128 << 3
1285         },
1286         .validCipherLenInBits = {
1287                 .len = 126 << 3
1288         },
1289         .validAuthLenInBits = {
1290                 .len = 124 << 3
1291         },
1292         .validCipherOffsetInBits = {
1293                 .len = 2 << 3
1294         },
1295         .digest = {
1296                 .data = {0x0E, 0xAA, 0xC4, 0xAB},
1297                 .len  = 4,
1298                 .offset_bytes = 124
1299         }
1300 };
1301
1302 #endif /* TEST_CRYPTODEV_ZUC_TEST_VECTORS_H_ */