blob: e8e6f034cc8d2cf33f8da27bf9e069ccaa4d5c34 [file] [log] [blame]
Neels Hofmeyr8cde6622017-01-31 02:10:40 +01001
2===== test_gen_vectors_2g_only
3aud3g.u.umts.sqn == 0
Neels Hofmeyr8d97d342017-02-21 22:46:35 +01004DAUC Computing 1 auth vector: 2G only
5DAUC 2G: ki = eb215756028d60e3275e613320aec880
6DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
7DAUC vector [0]: kc = 241a5b16aeb8e400
8DAUC vector [0]: sres = 429d5b27
9DAUC vector [0]: auth_types = 0x1
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010010rc == 1
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010011vector matches expectations
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010012aud3g.u.umts.sqn == 0
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010013DAUC Computing 1 auth vector: 2G only
14DAUC 2G: ki = eb215756028d60e3275e613320aec880
15DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
16DAUC vector [0]: kc = 241a5b16aeb8e400
17DAUC vector [0]: sres = 429d5b27
18DAUC vector [0]: auth_types = 0x1
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010019rc == 1
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010020vector matches expectations
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010021===== test_gen_vectors_2g_only: SUCCESS
22
23
24===== test_gen_vectors_2g_plus_3g
25aud3g.u.umts.sqn == 0
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010026DAUC Computing 1 auth vector: 3G + separate 2G
27DAUC 3G: k = eb215756028d60e3275e613320aec880
28DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
29DAUC 2G: ki = eb215756028d60e3275e613320aec880
30DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
31DAUC vector [0]: sqn = 0
32DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
33DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
34DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
35DAUC vector [0]: res = e229c19e791f2e410000000000000000
36DAUC vector [0]: res_len = 8
37DAUC vector [0]: deriving 2G from 3G
38DAUC vector [0]: kc = 241a5b16aeb8e400
39DAUC vector [0]: sres = 429d5b27
40DAUC vector [0]: auth_types = 0x3
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010041rc == 1
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010042vector matches expectations
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010043aud3g.u.umts.sqn == 1
44aud3g.u.umts.sqn == 0
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010045DAUC Computing 1 auth vector: 3G + separate 2G
46DAUC 3G: k = eb215756028d60e3275e613320aec880
47DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
48DAUC 2G: ki = eb215756028d60e3275e613320aec880
49DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
50DAUC vector [0]: sqn = 0
51DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
52DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
53DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
54DAUC vector [0]: res = e229c19e791f2e410000000000000000
55DAUC vector [0]: res_len = 8
56DAUC vector [0]: deriving 2G from 3G
57DAUC vector [0]: kc = 241a5b16aeb8e400
58DAUC vector [0]: sres = 429d5b27
59DAUC vector [0]: auth_types = 0x3
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010060rc == 1
61aud3g.u.umts.sqn == 1
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010062vector matches expectations
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010063===== test_gen_vectors_2g_plus_3g: SUCCESS
64
65
Neels Hofmeyr00c06972017-01-31 01:19:27 +010066===== test_gen_vectors_3g_only
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010067aud3g.u.umts.sqn == 0
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010068DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
69DAUC 3G: k = eb215756028d60e3275e613320aec880
70DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
71DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
72DAUC vector [0]: sqn = 0
73DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
74DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
75DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
76DAUC vector [0]: res = e229c19e791f2e410000000000000000
77DAUC vector [0]: res_len = 8
78DAUC vector [0]: kc = 059a4f668f6fbe39
79DAUC vector [0]: sres = 9b36efdf
80DAUC vector [0]: auth_types = 0x3
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010081rc == 1
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010082vector matches expectations
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010083aud3g.u.umts.sqn == 1
84aud3g.u.umts.sqn == 0
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010085DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
86DAUC 3G: k = eb215756028d60e3275e613320aec880
87DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
88DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
89DAUC vector [0]: sqn = 0
90DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
91DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
92DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
93DAUC vector [0]: res = e229c19e791f2e410000000000000000
94DAUC vector [0]: res_len = 8
95DAUC vector [0]: kc = 059a4f668f6fbe39
96DAUC vector [0]: sres = 9b36efdf
97DAUC vector [0]: auth_types = 0x3
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010098rc == 1
99aud3g.u.umts.sqn == 1
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100100vector matches expectations
Neels Hofmeyrec9036b2017-02-21 21:56:11 +0100101- test AUTS resync
102aud3g.u.umts.sqn == 0
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100103DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys), with AUTS resync
104DAUC 3G: k = eb215756028d60e3275e613320aec880
105DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
106DAUC vector [0]: rand = 897210a0f7de278f0b8213098e098a3f
107DAUC vector [0]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
108DAUC vector [0]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
109DAUC vector [0]: resync: sqn = 24
110DAUC vector [0]: autn = c6b9790dad4b00000cf322869ea6a481
111DAUC vector [0]: ck = e9922bd036718ed9e40bd1d02c3b81a5
112DAUC vector [0]: ik = f19c20ca863137f8892326d959ec5e01
113DAUC vector [0]: res = 9af5a557902d2db80000000000000000
114DAUC vector [0]: res_len = 8
115DAUC vector [0]: kc = 7526fc13c5976685
116DAUC vector [0]: sres = 0ad888ef
117DAUC vector [0]: auth_types = 0x3
Neels Hofmeyrec9036b2017-02-21 21:56:11 +0100118rc == 1
119aud3g.u.umts.sqn == 25
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100120vector matches expectations
Neels Hofmeyr428c9472017-02-21 22:50:59 +0100121- verify N vectors with AUTS resync == N vectors without AUTS
122First just set rand and sqn = 24, and compute 3 vectors
123aud3g.u.umts.sqn == 24
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100124DAUC Computing 3 auth vectors: 3G only (2G derived from 3G keys)
125DAUC 3G: k = eb215756028d60e3275e613320aec880
126DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
127DAUC vector [0]: rand = 897210a0f7de278f0b8213098e098a3f
128DAUC vector [0]: sqn = 24
129DAUC vector [0]: autn = c6b9790dad4b00000cf322869ea6a481
130DAUC vector [0]: ck = e9922bd036718ed9e40bd1d02c3b81a5
131DAUC vector [0]: ik = f19c20ca863137f8892326d959ec5e01
132DAUC vector [0]: res = 9af5a557902d2db80000000000000000
133DAUC vector [0]: res_len = 8
134DAUC vector [0]: kc = 7526fc13c5976685
135DAUC vector [0]: sres = 0ad888ef
136DAUC vector [0]: auth_types = 0x3
137DAUC vector [1]: rand = 9a8321b108ef38a01c93241a9f1a9b50
138DAUC vector [1]: sqn = 25
139DAUC vector [1]: autn = 79a5113eb0910000be6020540503ffc5
140DAUC vector [1]: ck = 3686f05df057d1899c66ae4eb18cf941
141DAUC vector [1]: ik = 79f21ed53bcb47787de57d136ff803a5
142DAUC vector [1]: res = 43023475cb29292c0000000000000000
143DAUC vector [1]: res_len = 8
144DAUC vector [1]: kc = aef73dd515e86c15
145DAUC vector [1]: sres = 882b1d59
146DAUC vector [1]: auth_types = 0x3
147DAUC vector [2]: rand = ab9432c2190049b12da4352bb02bac61
148DAUC vector [2]: sqn = 26
149DAUC vector [2]: autn = 24b018d46c3b00009c7e1b47f3a19b2b
150DAUC vector [2]: ck = d86c3191a36fc0602e48202ef2080964
151DAUC vector [2]: ik = 648dab72016181406243420649e63dc9
152DAUC vector [2]: res = 010cab11cc63a6e40000000000000000
153DAUC vector [2]: res_len = 8
154DAUC vector [2]: kc = f0eaf8cb19e0758d
155DAUC vector [2]: sres = cd6f0df5
156DAUC vector [2]: auth_types = 0x3
Neels Hofmeyr428c9472017-02-21 22:50:59 +0100157rc == 3
158aud3g.u.umts.sqn == 27
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100159[0]: vector matches expectations
160[1]: vector matches expectations
161[2]: vector matches expectations
Neels Hofmeyr428c9472017-02-21 22:50:59 +0100162Now reach sqn = 24 with AUTS and expect the same
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100163DAUC Computing 3 auth vectors: 3G only (2G derived from 3G keys), with AUTS resync
164DAUC 3G: k = eb215756028d60e3275e613320aec880
165DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
166DAUC vector [0]: rand = 897210a0f7de278f0b8213098e098a3f
167DAUC vector [0]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
168DAUC vector [0]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
169DAUC vector [0]: resync: sqn = 24
170DAUC vector [0]: autn = c6b9790dad4b00000cf322869ea6a481
171DAUC vector [0]: ck = e9922bd036718ed9e40bd1d02c3b81a5
172DAUC vector [0]: ik = f19c20ca863137f8892326d959ec5e01
173DAUC vector [0]: res = 9af5a557902d2db80000000000000000
174DAUC vector [0]: res_len = 8
175DAUC vector [0]: kc = 7526fc13c5976685
176DAUC vector [0]: sres = 0ad888ef
177DAUC vector [0]: auth_types = 0x3
178DAUC vector [1]: rand = 9a8321b108ef38a01c93241a9f1a9b50
179DAUC vector [1]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
180DAUC vector [1]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
181DAUC vector [1]: resync: sqn = 24
182DAUC vector [1]: autn = 79a5113eb0900000f7e138537aa0962b
183DAUC vector [1]: ck = 3686f05df057d1899c66ae4eb18cf941
184DAUC vector [1]: ik = 79f21ed53bcb47787de57d136ff803a5
185DAUC vector [1]: res = 43023475cb29292c0000000000000000
186DAUC vector [1]: res_len = 8
187DAUC vector [1]: kc = aef73dd515e86c15
188DAUC vector [1]: sres = 882b1d59
189DAUC vector [1]: auth_types = 0x3
190DAUC vector [2]: rand = ab9432c2190049b12da4352bb02bac61
191DAUC vector [2]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
192DAUC vector [2]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
193DAUC vector [2]: resync: sqn = 24
194DAUC vector [2]: autn = 24b018d46c390000d88e11730d0367ac
195DAUC vector [2]: ck = d86c3191a36fc0602e48202ef2080964
196DAUC vector [2]: ik = 648dab72016181406243420649e63dc9
197DAUC vector [2]: res = 010cab11cc63a6e40000000000000000
198DAUC vector [2]: res_len = 8
199DAUC vector [2]: kc = f0eaf8cb19e0758d
200DAUC vector [2]: sres = cd6f0df5
201DAUC vector [2]: auth_types = 0x3
Neels Hofmeyr428c9472017-02-21 22:50:59 +0100202THERE IS A BUG AND THE TEST PASSES THE WRONG VECTORS UNTIL THAT IS FIXED
203The SQN should increment with each new vector.
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100204[0]: vector matches expectations
205[1]: vector matches expectations
206[2]: vector matches expectations
Neels Hofmeyr00c06972017-01-31 01:19:27 +0100207===== test_gen_vectors_3g_only: SUCCESS
208
Neels Hofmeyr569d3222017-02-21 22:57:11 +0100209
210===== test_gen_vectors_bad_args
211
212- no auth data (a)
213DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
214rc == -1
215
216- no auth data (b)
217DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
218rc == -1
219
220- no auth data (c)
221DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
222rc == -1
223
224- no auth data (d)
225DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
226rc == -1
227
228- no auth data (e)
229DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
230rc == -1
231
232- no auth data (f)
233DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
234rc == -1
235
236- no auth data (g)
237DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
238rc == -1
239
240- no auth data (h)
241DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
242rc == -1
243
244- no auth data (i)
245DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
246rc == -1
247
248- no auth data (j)
249DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
250rc == -1
251
252- no auth data (k)
253DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
254rc == -1
255
256- no auth data (l)
257DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
258rc == -1
259
260- no auth data (m)
261DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
262rc == -1
263
264- no auth data (n)
265DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
266rc == -1
267
268- no auth data (o)
269DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
270rc == -1
271
272- no auth data (p)
273DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
274rc == -1
275
276- wrong auth data type (a)
277DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
278rc == -1
279
280- wrong auth data type (b)
281DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
282rc == -1
283
284- wrong auth data type (c)
285DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
286rc == -1
287
288- wrong auth data type (d)
289DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
290rc == -1
291
292- wrong auth data type (e)
293DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
294rc == -1
295
296- wrong auth data type (f)
297DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
298rc == -1
299
300- wrong auth data type (g)
301DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
302rc == -1
303
304- wrong auth data type (h)
305DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
306rc == -1
307
308- wrong auth data type (i)
309DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
310rc == -1
311
312- wrong auth data type (j)
313DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
314rc == -1
315
316- wrong auth data type (k)
317DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
318rc == -1
319
320- AUTS for 2G-only (a)
321DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
322rc == -1
323
324- AUTS for 2G-only (b)
325DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
326rc == -1
327
328- AUTS for 2G-only (c)
329DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
330rc == -1
331
332- AUTS for 2G-only (d)
333DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
334rc == -1
335
336- incomplete AUTS (a)
337DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
338rc == -1
339
340- incomplete AUTS (b)
341DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
342rc == -1
343
344- incomplete AUTS (c)
345DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
346rc == -1
347
348- incomplete AUTS (d)
349DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
350rc == -1
351===== test_gen_vectors_bad_args: SUCCESS
352