GUI: Fix Tomato RAF theme for all builds. Compilation typo.
[tomato.git] / release / src-rt-6.x.4708 / include / bcmcrypto / sms4_vectors.h
blob452891eb6d2c72d414dde50844aea778ad6cee0c
1 #ifdef BCMSMS4_TEST
2 /*
3 * sms4_vectors.h
4 * SMS4 block cipher test vectors
6 * Copyright (C) 2012, Broadcom Corporation
7 * All Rights Reserved.
8 *
9 * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
10 * the contents of this file may not be disclosed to third parties, copied
11 * or duplicated in any form, in whole or in part, without the prior
12 * written permission of Broadcom Corporation.
14 * $Id: sms4_vectors.h 241182 2011-02-17 21:50:03Z $
17 #include <typedefs.h>
19 /* Example 1 from SMS4 specification */
20 uint32 skey_00[] = {
21 0x01234567, 0x89abcdef, 0xfedcba98, 0x76543210
24 uint32 sinput_00[] = {
25 0x01234567, 0x89abcdef, 0xfedcba98, 0x76543210
28 uint32 sniter_00 = 1;
30 uint32 sref_00[] = {
31 0x681edf34, 0xd206965e, 0x86b3e94f, 0x536e4246
34 /* Example 2 from SMS4 specification */
35 uint32 skey_01[] = {
36 0x01234567, 0x89abcdef, 0xfedcba98, 0x76543210
39 uint32 sinput_01[] = {
40 0x01234567, 0x89abcdef, 0xfedcba98, 0x76543210
43 uint32 sniter_01 = 1000000;
45 uint32 sref_01[] = {
46 0x595298c7, 0xc6fd271f, 0x0402f804, 0xc33d3f66
49 typedef struct {
50 uint32 *key;
51 uint32 *input;
52 uint32 *niter;
53 uint32 *ref;
54 } sms4_vector_t;
56 #define SMS4_VECTOR_ENTRY(x) \
57 { skey_##x, sinput_##x, &sniter_##x, sref_##x }
59 sms4_vector_t sms4_vec[] = {
60 SMS4_VECTOR_ENTRY(00),
61 SMS4_VECTOR_ENTRY(01)
64 #define NUM_SMS4_VECTORS (sizeof(sms4_vec)/sizeof(sms4_vec[0]))
66 /* Locally generated vectors for SMS4-WPI-CBC-MAC */
67 uint8 cmick_00[] = {
68 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
69 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
72 uint8 cmpn_00[] = {
73 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
74 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
77 /* Last two octets of AAD are the Data Len */
78 uint8 cmaad_00[] = {
79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10
83 /* Buffer must be big enough to hold MAC */
84 uint8 cminput_00[] = {
85 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
86 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
88 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
91 uint8 cmref_00[] = {
92 0x7b, 0xb6, 0xfd, 0x05, 0x00, 0xf2, 0x17, 0x34,
93 0x33, 0xeb, 0xf4, 0x82, 0x30, 0x53, 0x18, 0xa5
96 uint8 cmick_01[] = {
97 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
98 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
101 uint8 cmpn_01[] = {
102 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
103 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
106 /* Last two octets of AAD are the Data Len */
107 uint8 cmaad_01[] = {
108 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
109 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x00, 0x10
112 /* Buffer must be big enough to hold MAC */
113 uint8 cminput_01[] = {
114 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
115 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
116 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
120 uint8 cmref_01[] = {
121 0x89, 0xbb, 0x1a, 0x35, 0x23, 0xf7, 0x4a, 0x6a,
122 0x5d, 0xca, 0x99, 0x40, 0xa0, 0x1b, 0x09, 0x24
125 uint8 cmick_02[] = {
126 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
127 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
130 uint8 cmpn_02[] = {
131 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
132 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
135 /* Last two octets of AAD are the Data Len */
136 uint8 cmaad_02[] = {
137 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
138 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
139 0x00, 0x01, 0x02, 0x00, 0x11
142 /* Buffer must be big enough to hold MAC */
143 uint8 cminput_02[] = {
144 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
145 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
147 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
148 0x00
151 uint8 cmref_02[] = {
152 0xf8, 0xae, 0x11, 0x01, 0xf7, 0xe4, 0x88, 0x25,
153 0xdb, 0xed, 0xd1, 0xa7, 0xec, 0xe9, 0x34, 0xb8
156 #ifdef WLNOKIA_WAPI
157 /* Test vector from Nokia 2008-09-25 */
158 uint8 cmick_03[] = {
159 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
160 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10
163 uint8 cmpn_03[] = {
164 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
165 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10
168 /* Last two octets of AAD are the Data Len */
169 uint8 cmaad_03[] = {
170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
174 /* Buffer must be big enough to hold MAC */
175 uint8 cminput_03[] = {
176 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
177 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10,
178 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
179 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
182 uint8 cmref_03[] = {
183 0x9f, 0xf1, 0x1d, 0xcf, 0xd3, 0xaf, 0xaa, 0x23,
184 0x6c, 0x76, 0x09, 0x0b, 0xab, 0xc3, 0xbb, 0x85
186 #endif /* WLNOKIA_WAPI */
188 typedef struct {
189 uint8 *ick;
190 uint8 *pn;
191 size_t al;
192 uint8 *aad;
193 uint8 *input;
194 uint8 *ref;
195 } sms4_cbc_mac_vector_t;
197 #define SMS4_CBC_MAC_VECTOR_ENTRY(x) \
198 { cmick_##x, cmpn_##x, sizeof(cmaad_##x), cmaad_##x, cminput_##x, cmref_##x }
200 sms4_cbc_mac_vector_t sms4_cbc_mac_vec[] = {
201 #ifdef WLNOKIA_WAPI
202 SMS4_CBC_MAC_VECTOR_ENTRY(03)
203 #endif /* WLNOKIA_WAPI */
206 #define NUM_SMS4_CBC_MAC_VECTORS (sizeof(sms4_cbc_mac_vec)/sizeof(sms4_cbc_mac_vec[0]))
208 /* Locally generated vectors for SMS4-OFB */
209 uint8 ofbek_00[] = {
210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
214 uint8 ofbpn_00[] = {
215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
219 uint8 ofbinput_00[] = {
220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
224 uint8 ofbref_00[] = {
225 0xff, 0x7b, 0x1f, 0x9f, 0x38, 0x11, 0x55, 0x6f,
226 0x53, 0x30, 0x94, 0x4d, 0xd3, 0x8f, 0x53, 0x1e
229 uint8 ofbek_01[] = {
230 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
231 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
234 uint8 ofbpn_01[] = {
235 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
236 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
239 uint8 ofbinput_01[] = {
240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
244 uint8 ofbref_01[] = {
245 0xb0, 0x3b, 0xe1, 0xd2, 0xa0, 0x38, 0xcc, 0xe3,
246 0xfa, 0x5f, 0xee, 0x3f, 0x10, 0xb6, 0x15, 0xe7
249 uint8 ofbek_02[] = {
250 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
251 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
254 uint8 ofbpn_02[] = {
255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
259 uint8 ofbinput_02[] = {
260 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
261 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
264 uint8 ofbref_02[] = {
265 0xfc, 0x57, 0x0d, 0x48, 0x02, 0x30, 0xf1, 0x3f,
266 0x52, 0x9e, 0xf9, 0x85, 0x83, 0x1b, 0xdb, 0x2b
269 uint8 ofbek_03[] = {
270 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
271 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
274 uint8 ofbpn_03[] = {
275 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
276 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
279 uint8 ofbinput_03[] = {
280 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
281 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
282 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
283 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
284 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
287 uint8 ofbref_03[] = {
288 0x70, 0x68, 0xd0, 0xf8, 0x1e, 0x32, 0xea, 0xb9,
289 0x3b, 0x1d, 0x6a, 0xe9, 0xb5, 0xa5, 0x2f, 0x0e,
290 0xfc, 0xe7, 0x9a, 0xac, 0x3a, 0x10, 0x01, 0xca,
291 0x73, 0x10, 0x14, 0x1c, 0xcf, 0x78, 0xc9, 0x7f,
292 0x81, 0xca, 0xe1, 0x71, 0xe4, 0x27, 0x92, 0xca
295 #ifdef WLNOKIA_WAPI
296 /* Test vector from Nokia 2008-09-25 */
297 uint8 ofbek_04[] = {
298 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
299 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10
302 uint8 ofbpn_04[] = {
303 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
304 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10
307 uint8 ofbinput_04[] = {
308 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef,
309 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10,
312 uint8 ofbref_04[] = {
313 0x69, 0x3d, 0x9a, 0x53, 0x5b, 0xad, 0x5b, 0xb1,
314 0x78, 0x6f, 0x53, 0xd7, 0x25, 0x3a, 0x70, 0x56
316 #endif /* WLNOKIA_WAPI */
318 typedef struct {
319 uint8 *ek;
320 uint8 *pn;
321 uint16 il;
322 uint8 *input;
323 uint8 *ref;
324 } sms4_ofb_vector_t;
326 #define SMS4_OFB_VECTOR_ENTRY(x) \
327 { ofbek_##x, ofbpn_##x, sizeof(ofbinput_##x), ofbinput_##x, ofbref_##x }
329 sms4_ofb_vector_t sms4_ofb_vec[] = {
330 #ifdef WLNOKIA_WAPI
331 SMS4_OFB_VECTOR_ENTRY(04)
332 #endif /* WLNOKIA_WAPI */
335 #define NUM_SMS4_OFB_VECTORS (sizeof(sms4_ofb_vec)/sizeof(sms4_ofb_vec[0]))
337 /* Locally generated packet vectors for SMS4-WPI */
338 uint8 wpipek_00[] = {
339 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
340 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
343 uint8 wpipick_00[] = {
344 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
345 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
348 /* Buffer must be big enough to hold MAC */
349 uint8 wpipinput_00[] = {
350 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
351 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
352 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
353 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
354 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
355 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
356 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
357 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
358 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
359 0x00, 0x00
362 uint8 wpipref_00[] = {
363 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
364 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
365 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
366 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
367 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
368 0x00, 0x00, 0x9f, 0x1f, 0x7b, 0xff, 0x6f, 0x55,
369 0x11, 0x38, 0x4d, 0x94, 0x30, 0x53, 0x1e, 0x53,
370 0x8f, 0xd3, 0x27, 0x8a, 0xe4, 0x93, 0xfa, 0x4f,
371 0xc7, 0x34, 0x83, 0x3a, 0x28, 0xd2, 0xba, 0x57,
372 0xf0, 0xc1
375 #ifdef WLNOKIA_WAPI
376 /* Nokia "multicast ciphering test vector No.1 in WPI multicast ciphering test:" 2008-09-25 */
377 uint8 wpipek_01[] = {
378 0x8c, 0x11, 0x48, 0x49, 0x5a, 0x63, 0xc4, 0x8e,
379 0x57, 0x3f, 0xf9, 0x2a, 0x96, 0x64, 0x01, 0x55
382 uint8 wpipick_01[] = {
383 0x8d, 0xa0, 0x7d, 0xcf, 0x15, 0x44, 0xd4, 0x44,
384 0xd4, 0xd4, 0xae, 0x67, 0x0a, 0x44, 0x7b, 0xb8
387 /* Buffer must be big enough to hold MAC */
388 uint8 wpipinput_01[] = {
389 0x08, 0x42, 0x00, 0x00, 0x01, 0x80, 0xc2, 0x00,
390 0x00, 0x00, 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0,
391 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0, 0x20, 0x06,
392 0x00, 0x00, 0x9a, 0x5c, 0x36, 0x5c, 0x36, 0x5c,
393 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c,
394 0x36, 0x5c, 0x42, 0x42, 0x03, 0x00, 0x00, 0x00,
395 0x00, 0x00, 0x80, 0x00, 0x00, 0x05, 0x7b, 0x09,
396 0xd5, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
397 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0, 0x80, 0x03,
398 0x00, 0x00, 0x14, 0x00, 0x02, 0x00, 0x0f, 0x00,
399 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5,
400 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
401 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
404 uint8 wpipref_01[] = {
405 0x08, 0x42, 0x00, 0x00, 0x01, 0x80, 0xc2, 0x00,
406 0x00, 0x00, 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0,
407 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0, 0x20, 0x06,
408 0x00, 0x00, 0x9a, 0x5c, 0x36, 0x5c, 0x36, 0x5c,
409 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c,
410 0x36, 0x5c, 0xa9, 0x3a, 0xa7, 0x02, 0x81, 0xb3,
411 0xd4, 0xea, 0xbb, 0x44, 0x1c, 0x69, 0x88, 0x98,
412 0xd5, 0xce, 0x25, 0xb0, 0xe3, 0xa8, 0x32, 0x27,
413 0x94, 0x4f, 0x93, 0xe9, 0x2d, 0x14, 0x17, 0x04,
414 0xa1, 0x45, 0x05, 0xa0, 0xd5, 0xaf, 0xbd, 0x77,
415 0x7b, 0xbe, 0x43, 0xf1, 0x39, 0x9a, 0x79, 0x3c,
416 0xaa, 0x40, 0xdd, 0x3c, 0x72, 0xd7, 0x4f, 0xb6,
417 0x3d, 0xa9, 0x9a, 0x15, 0xbf, 0x87, 0xdb, 0x69
420 /* Nokia "multicast ciphering test vector No.1 in WPI multicast ciphering test:" 2008-09-25 */
421 uint8 wpipek_02[] = {
422 0x8c, 0x11, 0x48, 0x49, 0x5a, 0x63, 0xc4, 0x8e,
423 0x57, 0x3f, 0xf9, 0x2a, 0x96, 0x64, 0x01, 0x55
426 uint8 wpipick_02[] = {
427 0x8d, 0xa0, 0x7d, 0xcf, 0x15, 0x44, 0xd4, 0x44,
428 0xd4, 0xd4, 0xae, 0x67, 0x0a, 0x44, 0x7b, 0xb8
431 /* Buffer must be big enough to hold MAC */
432 uint8 wpipinput_02[] = {
433 0x08, 0x42, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
434 0xff, 0xff, 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0,
435 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0, 0x70, 0x07,
436 0x00, 0x00, 0xaf, 0x5c, 0x36, 0x5c, 0x36, 0x5c,
437 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c,
438 0x36, 0x5c, 0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00,
439 0x08, 0x06, 0x00, 0x01, 0x08, 0x00, 0x06, 0x04,
440 0x00, 0x01, 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0,
441 0xc0, 0xa8, 0x0e, 0xdf, 0x00, 0x00, 0x00, 0x00,
442 0x00, 0x00, 0xc0, 0xa8, 0x0e, 0x0e, 0x00, 0x00,
443 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
444 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
447 uint8 wpipref_02[] = {
448 0x08, 0x42, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
449 0xff, 0xff, 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0,
450 0x00, 0x05, 0x7b, 0x09, 0xd5, 0xb0, 0x70, 0x07,
451 0x00, 0x00, 0xaf, 0x5c, 0x36, 0x5c, 0x36, 0x5c,
452 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c, 0x36, 0x5c,
453 0x36, 0x5c, 0x72, 0xc6, 0x8d, 0x41, 0x3b, 0x42,
454 0x8f, 0x93, 0xd7, 0xfb, 0xb1, 0x71, 0x3c, 0x2d,
455 0x5e, 0x46, 0xe1, 0xef, 0xb8, 0x62, 0x9b, 0xe1,
456 0xfb, 0x91, 0x54, 0x33, 0x41, 0x07, 0xfd, 0xbf,
457 0x8e, 0x9d, 0x3a, 0x75, 0x63, 0x93, 0x08, 0xbd,
458 0x0d, 0x9a, 0x8e, 0x0a, 0xf4, 0xe1, 0x13, 0x18,
459 0xa6, 0x29, 0x52, 0x30, 0xe5, 0x77
461 #endif /* WLNOKIA_WAPI */
463 /* Locally generated timing packet vectors for SMS4-WPI */
464 uint8 wpipek_03[] = {
465 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
466 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x05, 0xdc
469 uint8 wpipick_03[] = {
470 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
471 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x05, 0xdc
474 /* Buffer must be big enough to hold MAC */
475 /* MTU frame, non-qos: MAC hdr 24, WAPI IV 18, Data 1500, WAPI MIC 16 = 1558 */
476 uint8 wpipinput_03[] = {
477 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
478 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
479 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
480 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
481 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
482 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
483 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
484 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
485 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
486 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
487 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
488 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
489 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
490 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
491 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
492 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
493 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
494 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
495 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
496 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
497 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
498 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
499 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
500 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
501 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
502 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
503 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
504 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
505 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
506 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
507 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
508 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
509 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
510 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
511 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
512 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
513 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
514 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
515 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
516 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
517 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
518 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
519 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
520 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
521 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
522 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
523 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
524 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
525 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
526 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
527 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
528 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
529 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
530 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
531 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
532 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
533 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
534 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
535 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
536 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
537 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
538 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
539 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
540 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
541 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
542 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
543 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
544 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
545 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
546 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
547 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
548 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
549 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
550 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
551 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
552 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
553 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
554 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
555 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
556 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
557 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
558 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
559 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
560 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
561 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
562 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
563 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
564 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
565 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
566 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
567 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
568 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
569 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
570 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
571 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
572 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
573 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
574 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
575 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
576 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
577 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
578 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
579 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
580 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
581 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
582 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
583 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
584 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
585 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
586 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
587 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
588 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
589 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
590 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
591 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
592 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
593 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
594 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
595 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
596 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
597 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
598 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
599 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
600 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
601 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
602 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
603 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
604 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
605 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
606 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
607 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
608 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
609 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
610 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
611 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
612 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
613 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
614 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
615 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
616 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
617 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
618 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
619 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
620 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
621 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
622 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
623 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
624 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
625 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
626 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
627 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
628 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
629 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
630 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
631 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
632 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
633 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
634 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
635 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
636 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
637 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
638 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
639 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
640 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
641 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
642 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
643 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
644 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
645 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
646 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
647 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
648 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
649 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
650 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
651 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
652 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
653 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
654 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
655 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
656 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
657 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
658 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
659 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
660 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
661 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
662 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
663 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
664 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
665 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
666 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
667 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
668 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
669 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
670 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
671 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
674 uint8 wpipref_03[] = {
675 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
676 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
677 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
678 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
679 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
680 0x00, 0x00, 0x97, 0xf6, 0xf0, 0xa8, 0xb0, 0x72,
681 0x8a, 0xbb, 0xbf, 0x50, 0x53, 0x83, 0xff, 0xf2,
682 0xb4, 0xe2, 0x53, 0xf6, 0x8f, 0xb2, 0xcb, 0x93,
683 0x02, 0xda, 0x60, 0xec, 0xa8, 0x11, 0xdc, 0xe7,
684 0xf0, 0xfa, 0x10, 0x3d, 0x07, 0x19, 0x44, 0x69,
685 0x1a, 0x55, 0xdb, 0x54, 0x52, 0x2e, 0x66, 0x8b,
686 0xb1, 0xe9, 0xac, 0x31, 0x88, 0x60, 0xa4, 0x3f,
687 0x3a, 0x8c, 0x7f, 0x73, 0x83, 0x00, 0xa4, 0x3a,
688 0x29, 0x08, 0x84, 0x0e, 0x88, 0x8d, 0x84, 0x1d,
689 0xe0, 0x0b, 0x16, 0x59, 0x8a, 0x43, 0xc6, 0xbb,
690 0x28, 0x9a, 0x99, 0xb3, 0x5e, 0x90, 0xe2, 0x5a,
691 0x17, 0xd0, 0xe3, 0x8b, 0xcb, 0x12, 0xee, 0xb3,
692 0x87, 0x87, 0x3d, 0xd6, 0xd7, 0xd1, 0x67, 0xff,
693 0xa1, 0x7a, 0x01, 0x52, 0xe3, 0x48, 0x27, 0x5b,
694 0x02, 0xb6, 0xdb, 0xbb, 0x4b, 0x33, 0x3e, 0xe9,
695 0x18, 0x42, 0xd2, 0xef, 0x13, 0x26, 0xd3, 0xd7,
696 0xbf, 0xdf, 0xed, 0xae, 0x03, 0xfa, 0xed, 0x58,
697 0xe5, 0x80, 0x1a, 0xfc, 0xb3, 0x81, 0x56, 0x4d,
698 0x34, 0xc0, 0xdd, 0x29, 0x14, 0x0c, 0xfa, 0x23,
699 0x44, 0xcc, 0x72, 0xf0, 0x7d, 0x35, 0xf4, 0x80,
700 0x38, 0xbd, 0x78, 0xf6, 0x51, 0xed, 0x45, 0xc1,
701 0xc0, 0xb5, 0x44, 0x0f, 0xec, 0x52, 0xcb, 0x69,
702 0xe5, 0x4a, 0xd6, 0x3e, 0xa7, 0x50, 0x0c, 0xc6,
703 0x86, 0x69, 0xbd, 0x66, 0xef, 0x15, 0x7f, 0x2e,
704 0x9c, 0xcc, 0xcc, 0xc4, 0xb4, 0xc0, 0xa2, 0xde,
705 0xa7, 0x6e, 0x37, 0x51, 0x7d, 0x17, 0x98, 0xfd,
706 0x05, 0xb5, 0x0a, 0x1d, 0xf4, 0x87, 0xcd, 0x7b,
707 0xac, 0xa1, 0xef, 0x57, 0x13, 0x14, 0x41, 0x7a,
708 0x77, 0x88, 0x29, 0x97, 0xf5, 0xd8, 0x87, 0x37,
709 0x6e, 0xbc, 0xb5, 0x54, 0x5d, 0x70, 0xd1, 0x59,
710 0xe0, 0xbf, 0x4c, 0xca, 0x66, 0x06, 0xca, 0x9d,
711 0xa9, 0xfa, 0x14, 0xa8, 0x9d, 0x80, 0x04, 0xd4,
712 0x94, 0x7e, 0x23, 0x2d, 0x91, 0xaa, 0x87, 0xfc,
713 0xc2, 0xf7, 0x16, 0xcb, 0xc2, 0xcc, 0xef, 0x51,
714 0xe6, 0x5d, 0x0d, 0x61, 0x14, 0x2b, 0x2e, 0x3a,
715 0xf2, 0xc2, 0x65, 0x20, 0x5f, 0x46, 0xdd, 0x68,
716 0x37, 0x50, 0xd4, 0xd9, 0xac, 0xf6, 0x6d, 0xa1,
717 0x73, 0x9d, 0x9e, 0x90, 0x34, 0x62, 0xe1, 0xe6,
718 0x4a, 0xbb, 0xff, 0x50, 0xf7, 0x9f, 0x63, 0xc4,
719 0xc8, 0xdf, 0xed, 0x6c, 0x60, 0x89, 0x38, 0xbc,
720 0x2b, 0x7b, 0xd9, 0x9c, 0xb1, 0xa8, 0x64, 0x01,
721 0xa4, 0x2c, 0x15, 0x7a, 0x0b, 0x3e, 0xaf, 0xab,
722 0x8d, 0x1e, 0xb5, 0x14, 0xac, 0x52, 0xdf, 0x47,
723 0x1e, 0x09, 0x93, 0x93, 0x96, 0xe0, 0x25, 0x0e,
724 0x54, 0x21, 0xc7, 0xcf, 0xc0, 0x27, 0x51, 0x25,
725 0x5c, 0xbb, 0xed, 0x7e, 0x13, 0xfc, 0x5e, 0xdd,
726 0xfe, 0xe0, 0x06, 0x71, 0x2e, 0x27, 0xd5, 0x17,
727 0x91, 0xd7, 0xa3, 0xef, 0xe9, 0x12, 0xed, 0x1c,
728 0x1c, 0x3d, 0x33, 0x64, 0x3e, 0x49, 0xe5, 0xd1,
729 0xb4, 0x50, 0x54, 0x7e, 0x67, 0xae, 0x79, 0x01,
730 0xf7, 0xb3, 0xcb, 0xb3, 0xba, 0xa5, 0x3d, 0x60,
731 0xea, 0xc8, 0x10, 0xff, 0x87, 0x01, 0x14, 0x44,
732 0x1d, 0xd5, 0x51, 0x99, 0x1b, 0x79, 0xfe, 0x1b,
733 0xff, 0xa2, 0xb4, 0x31, 0xc2, 0x8d, 0x0c, 0xa5,
734 0x0a, 0x59, 0xfb, 0xd2, 0x1a, 0xef, 0x0e, 0xc7,
735 0x21, 0x84, 0xa4, 0xe8, 0x16, 0x2d, 0x40, 0x9a,
736 0x5c, 0x1a, 0xa8, 0x92, 0x70, 0x16, 0xc1, 0xf1,
737 0xd5, 0xb5, 0x97, 0x11, 0x82, 0x5c, 0x54, 0x52,
738 0xd5, 0x7d, 0xd8, 0x37, 0x74, 0x99, 0x29, 0xde,
739 0x6f, 0x88, 0x10, 0xbe, 0x37, 0x8d, 0x83, 0x5e,
740 0x90, 0x67, 0xa0, 0x34, 0x78, 0xe2, 0x47, 0x40,
741 0xd6, 0x58, 0x4f, 0xec, 0x06, 0x9d, 0x30, 0xa0,
742 0x61, 0xce, 0x1f, 0xa6, 0xe9, 0x23, 0x56, 0x5d,
743 0xe0, 0xe4, 0x80, 0x11, 0x54, 0x9e, 0x94, 0xaa,
744 0xbf, 0xc7, 0x46, 0xfd, 0x40, 0xc3, 0xe9, 0x83,
745 0x7a, 0xa5, 0x43, 0x11, 0x58, 0xa3, 0xb9, 0x4d,
746 0xa7, 0x09, 0xcd, 0x79, 0x27, 0x8e, 0xc0, 0xfb,
747 0xab, 0x92, 0xa0, 0x29, 0x99, 0xb5, 0x0a, 0x72,
748 0xaf, 0x92, 0x8b, 0xa7, 0xa0, 0xff, 0xb1, 0x42,
749 0x0f, 0xd0, 0x63, 0x9c, 0x3e, 0x52, 0x8a, 0x83,
750 0x59, 0x0f, 0x32, 0xd1, 0x83, 0x1c, 0xdb, 0xad,
751 0xf7, 0x21, 0xfd, 0x75, 0x32, 0x51, 0x92, 0xaf,
752 0x4a, 0x58, 0x1d, 0x85, 0x8a, 0x37, 0xb8, 0xd5,
753 0xfc, 0xa2, 0xb5, 0x98, 0xb0, 0xfe, 0x18, 0x55,
754 0xc9, 0x89, 0x61, 0xb1, 0xf0, 0xb3, 0xf9, 0x0f,
755 0x2c, 0x99, 0x14, 0x2c, 0x30, 0xa4, 0x60, 0x68,
756 0x3f, 0x94, 0x38, 0x58, 0x6b, 0xb5, 0xaf, 0x89,
757 0x45, 0xa2, 0xab, 0xb1, 0x91, 0x78, 0xe6, 0x51,
758 0x62, 0xb2, 0xe7, 0xa5, 0x6e, 0x14, 0xe1, 0x80,
759 0xc5, 0x82, 0x05, 0x99, 0xca, 0xf8, 0x8f, 0x44,
760 0xa2, 0xab, 0xbb, 0xeb, 0xe8, 0x41, 0xb3, 0x84,
761 0xa1, 0x21, 0x2c, 0xc1, 0xe4, 0xc1, 0x2a, 0x4c,
762 0x25, 0x67, 0xb4, 0x34, 0xe2, 0xfc, 0x77, 0x8c,
763 0xdb, 0xdd, 0xf9, 0x36, 0xe4, 0x05, 0xfd, 0x02,
764 0x23, 0x9b, 0x69, 0x40, 0x31, 0x8c, 0xab, 0x12,
765 0xa4, 0x11, 0xd6, 0xca, 0xfd, 0x79, 0x1b, 0x17,
766 0x59, 0xc7, 0xe4, 0x4c, 0xf6, 0x1b, 0x1a, 0x95,
767 0x3e, 0x10, 0x71, 0x29, 0x8e, 0xe6, 0x08, 0x19,
768 0xfd, 0x5f, 0x13, 0xbb, 0xc2, 0x39, 0xf5, 0x7a,
769 0x12, 0xc2, 0x10, 0x9b, 0x7e, 0x2c, 0x91, 0x61,
770 0x27, 0x24, 0x48, 0xc9, 0x05, 0xbb, 0x29, 0x23,
771 0x82, 0x13, 0xd1, 0xe1, 0xff, 0x4e, 0x3d, 0xe8,
772 0xf3, 0x03, 0xb2, 0x36, 0x3f, 0x62, 0xc3, 0xed,
773 0xe8, 0x55, 0x5e, 0x50, 0x62, 0x1b, 0x6c, 0xb2,
774 0x37, 0xe3, 0x82, 0xb6, 0x5f, 0xa7, 0x0a, 0x8d,
775 0xcb, 0xc8, 0x51, 0xe6, 0x8c, 0x24, 0xc2, 0x02,
776 0x49, 0x7b, 0x52, 0x59, 0x34, 0x69, 0x21, 0xba,
777 0x98, 0xd3, 0x55, 0x62, 0x14, 0xed, 0x2b, 0xe1,
778 0x23, 0xd0, 0x1f, 0xe5, 0xaf, 0xf3, 0x01, 0x23,
779 0x19, 0x9d, 0x4c, 0xcb, 0x06, 0x3f, 0x60, 0xde,
780 0xd2, 0xe2, 0xdc, 0xd2, 0x8f, 0x2d, 0x77, 0xab,
781 0x03, 0x19, 0xb8, 0x5a, 0x75, 0x30, 0xa6, 0xe1,
782 0x9e, 0xc0, 0xde, 0x5b, 0x6c, 0xfc, 0xd2, 0xae,
783 0xec, 0x47, 0x13, 0x17, 0x88, 0xdf, 0x35, 0x9e,
784 0x13, 0x89, 0x25, 0x11, 0x18, 0x51, 0x35, 0xae,
785 0xd4, 0x27, 0xa8, 0xd0, 0x73, 0x2b, 0x00, 0x5c,
786 0xfe, 0x93, 0x9d, 0x16, 0x78, 0x4a, 0x51, 0xd1,
787 0x38, 0x6b, 0x1b, 0xb1, 0xc5, 0x83, 0x97, 0xdf,
788 0xaf, 0x67, 0xb2, 0x25, 0xd8, 0xfe, 0xc5, 0x7f,
789 0x79, 0xfa, 0x2f, 0x52, 0xfd, 0x42, 0xd9, 0xfa,
790 0x2a, 0x9c, 0xa6, 0x18, 0x96, 0x3a, 0x7c, 0x8f,
791 0x8b, 0xcc, 0x56, 0x98, 0x40, 0xaa, 0x9f, 0xaa,
792 0x90, 0xe6, 0x94, 0xd6, 0xaf, 0x65, 0xe7, 0x69,
793 0x7f, 0xef, 0x64, 0x00, 0x89, 0xe2, 0x74, 0x81,
794 0x71, 0x28, 0x8e, 0x54, 0x28, 0x2d, 0x08, 0x87,
795 0x49, 0x6b, 0x22, 0xe3, 0xa1, 0xbf, 0x96, 0x0e,
796 0xc1, 0xdc, 0x16, 0x58, 0xad, 0x09, 0x7a, 0xb4,
797 0xdf, 0x99, 0xfd, 0x14, 0x21, 0xe0, 0x26, 0x27,
798 0x22, 0x9d, 0x0e, 0x1a, 0xb3, 0xdf, 0x22, 0x41,
799 0x22, 0x4f, 0x35, 0xcb, 0x84, 0xf5, 0x46, 0x5c,
800 0x4c, 0x67, 0x16, 0x8c, 0x46, 0xb7, 0x9f, 0x46,
801 0xe2, 0x5f, 0x16, 0x98, 0x4d, 0x02, 0xf3, 0x12,
802 0xa7, 0x4b, 0x3d, 0x19, 0x4c, 0x33, 0xb8, 0xba,
803 0x78, 0x9d, 0xd7, 0xb3, 0x8f, 0x27, 0x99, 0x1b,
804 0xa2, 0xb5, 0x56, 0xae, 0x2e, 0xd2, 0xb0, 0x51,
805 0x20, 0x3a, 0xf5, 0x84, 0x60, 0x82, 0x8a, 0xf0,
806 0x08, 0x5e, 0xcf, 0x8a, 0x31, 0x0a, 0x9c, 0x21,
807 0x03, 0xcc, 0x86, 0xdc, 0xf5, 0x1d, 0x9c, 0x7b,
808 0x57, 0xc4, 0x77, 0x28, 0xdb, 0xf4, 0x16, 0xe0,
809 0xe0, 0xfc, 0x35, 0x93, 0x77, 0x62, 0xf2, 0xb6,
810 0xe5, 0xdf, 0xf2, 0x81, 0x6d, 0x4f, 0xd4, 0xf7,
811 0x5b, 0x12, 0x2d, 0xfd, 0xe8, 0xda, 0xc0, 0xb6,
812 0x02, 0x79, 0x48, 0xae, 0x79, 0x0e, 0x6f, 0xed,
813 0xd8, 0x57, 0xfc, 0x96, 0xdf, 0x08, 0x35, 0xb1,
814 0xf7, 0x35, 0x6a, 0x98, 0x6d, 0x7f, 0x17, 0xcb,
815 0xb5, 0x8f, 0x2f, 0x6b, 0x70, 0x54, 0xdd, 0xe1,
816 0xe9, 0xab, 0xfc, 0xd6, 0xf8, 0xde, 0xb2, 0xcb,
817 0xe6, 0xbf, 0xae, 0xb0, 0xa2, 0x39, 0xbd, 0x38,
818 0xb2, 0x78, 0x24, 0xe7, 0x92, 0x28, 0xcf, 0x6b,
819 0x85, 0x1a, 0x48, 0x1b, 0x06, 0x9f, 0x6e, 0xd3,
820 0xe9, 0xee, 0x57, 0x57, 0x24, 0xd4, 0x11, 0x35,
821 0x88, 0x63, 0x50, 0x82, 0x02, 0x5d, 0x17, 0x27,
822 0x20, 0x73, 0xa1, 0x22, 0x95, 0x63, 0xa9, 0xf8,
823 0x9d, 0xa6, 0x20, 0x43, 0xc4, 0x6d, 0xac, 0x39,
824 0x64, 0xe9, 0x5d, 0x89, 0xdf, 0xdf, 0x56, 0xfc,
825 0xf4, 0xd0, 0x88, 0xa4, 0x09, 0x81, 0x79, 0x66,
826 0xe6, 0xb6, 0x89, 0xb9, 0xb2, 0xa3, 0xe8, 0xc5,
827 0x41, 0x3c, 0x5c, 0xe7, 0xfd, 0xf7, 0xc7, 0xd3,
828 0x39, 0x1c, 0x45, 0xe6, 0xdd, 0x1a, 0x6d, 0x4c,
829 0x1a, 0x32, 0xf8, 0x28, 0x61, 0xb2, 0x95, 0x3a,
830 0x4c, 0xb1, 0x90, 0x34, 0x86, 0x78, 0xc1, 0xcf,
831 0x8e, 0xbe, 0xe8, 0xec, 0xde, 0x40, 0x20, 0x45,
832 0x00, 0x9d, 0x3b, 0xec, 0xc5, 0x65, 0xb2, 0x73,
833 0x26, 0x4b, 0x94, 0x22, 0x3b, 0x0d, 0x70, 0x64,
834 0x8d, 0xe3, 0x8c, 0x49, 0xf4, 0x96, 0xf4, 0xbb,
835 0xd8, 0x82, 0x0e, 0x29, 0x3a, 0xd3, 0x72, 0x93,
836 0x02, 0x6e, 0x79, 0x7c, 0x0c, 0xa6, 0xcf, 0xef,
837 0x8a, 0x73, 0x9e, 0x1a, 0x1d, 0xac, 0xfd, 0xa7,
838 0xa1, 0xc3, 0x89, 0x44, 0x4e, 0xc6, 0x00, 0xaa,
839 0x4a, 0x82, 0x87, 0xa0, 0x1f, 0xd7, 0x3c, 0x8c,
840 0x7f, 0x3e, 0xa3, 0x03, 0x34, 0x89, 0xfe, 0x1f,
841 0x8c, 0xbe, 0xf7, 0x57, 0x0c, 0x96, 0xb0, 0x62,
842 0x02, 0x66, 0x18, 0x2d, 0xab, 0x60, 0x22, 0xa8,
843 0x6c, 0x32, 0x5e, 0x6f, 0x23, 0xc2, 0x26, 0x39,
844 0xe3, 0xc5, 0x54, 0x3b, 0x76, 0x73, 0x4a, 0x94,
845 0x49, 0x3a, 0x2a, 0x47, 0x72, 0x66, 0x8a, 0xdc,
846 0xb8, 0x0d, 0x72, 0x5e, 0xe9, 0x70, 0xc2, 0xda,
847 0x60, 0x29, 0x9d, 0xf6, 0x7f, 0x25, 0x39, 0x1e,
848 0x0d, 0x93, 0xc8, 0x99, 0x42, 0x72, 0x4c, 0x1b,
849 0x8a, 0x17, 0xa0, 0x46, 0xe3, 0x33, 0x38, 0xd6,
850 0xc5, 0x6f, 0xe6, 0x1b, 0x48, 0x02, 0x20, 0x0b,
851 0x4b, 0x60, 0x72, 0xac, 0x13, 0x94, 0x4a, 0x7c,
852 0xa4, 0x36, 0x99, 0x56, 0x67, 0xd6, 0xe3, 0x71,
853 0xf5, 0xb9, 0x7f, 0x47, 0xeb, 0x39, 0x33, 0x83,
854 0x44, 0x00, 0xc3, 0x06, 0x46, 0xea, 0x6a, 0xa7,
855 0x1b, 0x0a, 0xf7, 0x60, 0xcb, 0x1e, 0x28, 0x9b,
856 0xa4, 0x0a, 0x0c, 0x71, 0x86, 0xb7, 0xd3, 0xb3,
857 0x50, 0xc1, 0x34, 0x9f, 0xb2, 0x29, 0x0b, 0xec,
858 0xf2, 0x77, 0x80, 0x0e, 0x6f, 0x22, 0x8e, 0x1b,
859 0xb3, 0x51, 0xf9, 0x96, 0xc7, 0x7a, 0x33, 0x1e,
860 0x33, 0x8f, 0x79, 0x4b, 0xde, 0x4f, 0xb6, 0xb8,
861 0x4f, 0xd3, 0xaf, 0x4f, 0x90, 0x89, 0x0e, 0x7f,
862 0x79, 0x30, 0xd0, 0x3b, 0x7a, 0x5c, 0x29, 0xe9,
863 0x4d, 0x84, 0x24, 0x37, 0xe1, 0x4b, 0x64, 0xe3,
864 0x4b, 0xfd, 0xe5, 0xeb, 0x24, 0xc6, 0x01, 0xbc,
865 0xc9, 0x80, 0x89, 0xea, 0xdd, 0xc2, 0x26, 0x45,
866 0x9b, 0xe2, 0x00, 0x85, 0xa2, 0x64, 0x7f, 0x1d,
867 0xf9, 0x44, 0x34, 0x29, 0xb1, 0xbe, 0xa3, 0xe0,
868 0x97, 0x7a, 0xd1, 0x2d, 0xc7, 0x14, 0xeb, 0xff,
869 0xed, 0xff, 0xd1, 0xd8, 0xc5, 0xc7
872 typedef struct {
873 uint8 *ek;
874 uint8 *ick;
875 uint16 il; /* length of packet with MAC */
876 uint8 *input;
877 uint8 *ref;
878 } sms4_wpi_pkt_vector_t;
880 #define SMS4_WPI_PKT_VECTOR_ENTRY(x) \
881 { wpipek_##x, wpipick_##x, sizeof(wpipinput_##x), \
882 wpipinput_##x, wpipref_##x }
884 sms4_wpi_pkt_vector_t sms4_wpi_pkt_vec[] = {
885 SMS4_WPI_PKT_VECTOR_ENTRY(00),
886 #ifdef WLNOKIA_WAPI
887 SMS4_WPI_PKT_VECTOR_ENTRY(01),
888 SMS4_WPI_PKT_VECTOR_ENTRY(02),
889 #endif /* WLNOKIA_WAPI */
890 SMS4_WPI_PKT_VECTOR_ENTRY(03)
893 #define NUM_SMS4_WPI_PKT_VECTORS (sizeof(sms4_wpi_pkt_vec)/sizeof(sms4_wpi_pkt_vec[0]))
894 sms4_wpi_pkt_vector_t sms4_wpi_tpkt_vec[] = {
895 SMS4_WPI_PKT_VECTOR_ENTRY(03)
898 #define NUM_SMS4_WPI_TIMING_VECTORS (sizeof(sms4_wpi_tpkt_vec)/sizeof(sms4_wpi_tpkt_vec[0]))
900 #endif /* BCMSMS4_TEST */