blob: 5263d04113e2cba021de18ed12f9ee732dec6e9c [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
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010025aud3g.u.umts.sqn == 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010026DAUC Computing 1 auth vector: 3G + separate 2G
27DAUC 3G: k = eb215756028d60e3275e613320aec880
28DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
Neels Hofmeyredebc222017-03-16 04:58:58 +010029DAUC 3G: for sqn ind 0, previous sqn was 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010030DAUC 2G: ki = eb215756028d60e3275e613320aec880
31DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
Neels Hofmeyree392bb2017-03-16 05:20:50 +010032DAUC vector [0]: sqn = 32
Neels Hofmeyrd846ae82017-03-15 00:37:29 +010033DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010034DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
35DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
36DAUC vector [0]: res = e229c19e791f2e410000000000000000
37DAUC vector [0]: res_len = 8
38DAUC vector [0]: deriving 2G from 3G
39DAUC vector [0]: kc = 241a5b16aeb8e400
40DAUC vector [0]: sres = 429d5b27
41DAUC vector [0]: auth_types = 0x3
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010042rc == 1
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010043aud3g.u.umts.sqn == 32
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010044vector matches expectations
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010045aud3g.u.umts.sqn == 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010046DAUC Computing 1 auth vector: 3G + separate 2G
47DAUC 3G: k = eb215756028d60e3275e613320aec880
48DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
Neels Hofmeyredebc222017-03-16 04:58:58 +010049DAUC 3G: for sqn ind 0, previous sqn was 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010050DAUC 2G: ki = eb215756028d60e3275e613320aec880
51DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
Neels Hofmeyree392bb2017-03-16 05:20:50 +010052DAUC vector [0]: sqn = 32
Neels Hofmeyrd846ae82017-03-15 00:37:29 +010053DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010054DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
55DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
56DAUC vector [0]: res = e229c19e791f2e410000000000000000
57DAUC vector [0]: res_len = 8
58DAUC vector [0]: deriving 2G from 3G
59DAUC vector [0]: kc = 241a5b16aeb8e400
60DAUC vector [0]: sres = 429d5b27
61DAUC vector [0]: auth_types = 0x3
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010062rc == 1
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010063aud3g.u.umts.sqn == 32
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010064vector matches expectations
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010065===== test_gen_vectors_2g_plus_3g: SUCCESS
66
67
Neels Hofmeyr00c06972017-01-31 01:19:27 +010068===== test_gen_vectors_3g_only
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010069aud3g.u.umts.sqn == 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010070DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
71DAUC 3G: k = eb215756028d60e3275e613320aec880
72DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
Neels Hofmeyredebc222017-03-16 04:58:58 +010073DAUC 3G: for sqn ind 0, previous sqn was 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010074DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
Neels Hofmeyree392bb2017-03-16 05:20:50 +010075DAUC vector [0]: sqn = 32
Neels Hofmeyrd846ae82017-03-15 00:37:29 +010076DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010077DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
78DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
79DAUC vector [0]: res = e229c19e791f2e410000000000000000
80DAUC vector [0]: res_len = 8
81DAUC vector [0]: kc = 059a4f668f6fbe39
82DAUC vector [0]: sres = 9b36efdf
83DAUC vector [0]: auth_types = 0x3
Neels Hofmeyr8cde6622017-01-31 02:10:40 +010084rc == 1
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010085aud3g.u.umts.sqn == 32
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010086vector matches expectations
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010087aud3g.u.umts.sqn == 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010088DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
89DAUC 3G: k = eb215756028d60e3275e613320aec880
90DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
Neels Hofmeyredebc222017-03-16 04:58:58 +010091DAUC 3G: for sqn ind 0, previous sqn was 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010092DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
Neels Hofmeyree392bb2017-03-16 05:20:50 +010093DAUC vector [0]: sqn = 32
Neels Hofmeyrd846ae82017-03-15 00:37:29 +010094DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010095DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
96DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
97DAUC vector [0]: res = e229c19e791f2e410000000000000000
98DAUC vector [0]: res_len = 8
99DAUC vector [0]: kc = 059a4f668f6fbe39
100DAUC vector [0]: sres = 9b36efdf
101DAUC vector [0]: auth_types = 0x3
Neels Hofmeyr8cde6622017-01-31 02:10:40 +0100102rc == 1
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100103aud3g.u.umts.sqn == 32
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100104vector matches expectations
Neels Hofmeyrec9036b2017-02-21 21:56:11 +0100105- test AUTS resync
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100106aud3g.u.umts.sqn == 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100107DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys), with AUTS resync
108DAUC 3G: k = eb215756028d60e3275e613320aec880
109DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
Neels Hofmeyredebc222017-03-16 04:58:58 +0100110DAUC 3G: for sqn ind 0, previous sqn was 31
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100111DAUC vector [0]: rand = 897210a0f7de278f0b8213098e098a3f
112DAUC vector [0]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
113DAUC vector [0]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100114DAUC vector [0]: sqn = 24
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100115DAUC vector [0]: autn = c6b9790dad4b00000cf322869ea6a481
116DAUC vector [0]: ck = e9922bd036718ed9e40bd1d02c3b81a5
117DAUC vector [0]: ik = f19c20ca863137f8892326d959ec5e01
118DAUC vector [0]: res = 9af5a557902d2db80000000000000000
119DAUC vector [0]: res_len = 8
120DAUC vector [0]: kc = 7526fc13c5976685
121DAUC vector [0]: sres = 0ad888ef
122DAUC vector [0]: auth_types = 0x3
Neels Hofmeyrec9036b2017-02-21 21:56:11 +0100123rc == 1
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100124aud3g.u.umts.sqn == 24
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100125vector matches expectations
Neels Hofmeyr428c9472017-02-21 22:50:59 +0100126- verify N vectors with AUTS resync == N vectors without AUTS
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100127First just set rand and sqn = 23, and compute 3 vectors
128aud3g.u.umts.sqn == 23
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100129DAUC Computing 3 auth vectors: 3G only (2G derived from 3G keys)
130DAUC 3G: k = eb215756028d60e3275e613320aec880
131DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
Neels Hofmeyredebc222017-03-16 04:58:58 +0100132DAUC 3G: for sqn ind 0, previous sqn was 23
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100133DAUC vector [0]: rand = 897210a0f7de278f0b8213098e098a3f
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100134DAUC vector [0]: sqn = 24
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100135DAUC vector [0]: autn = c6b9790dad4b00000cf322869ea6a481
136DAUC vector [0]: ck = e9922bd036718ed9e40bd1d02c3b81a5
137DAUC vector [0]: ik = f19c20ca863137f8892326d959ec5e01
138DAUC vector [0]: res = 9af5a557902d2db80000000000000000
139DAUC vector [0]: res_len = 8
140DAUC vector [0]: kc = 7526fc13c5976685
141DAUC vector [0]: sres = 0ad888ef
142DAUC vector [0]: auth_types = 0x3
143DAUC vector [1]: rand = 9a8321b108ef38a01c93241a9f1a9b50
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100144DAUC vector [1]: sqn = 25
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100145DAUC vector [1]: autn = 79a5113eb0910000be6020540503ffc5
146DAUC vector [1]: ck = 3686f05df057d1899c66ae4eb18cf941
147DAUC vector [1]: ik = 79f21ed53bcb47787de57d136ff803a5
148DAUC vector [1]: res = 43023475cb29292c0000000000000000
149DAUC vector [1]: res_len = 8
150DAUC vector [1]: kc = aef73dd515e86c15
151DAUC vector [1]: sres = 882b1d59
152DAUC vector [1]: auth_types = 0x3
153DAUC vector [2]: rand = ab9432c2190049b12da4352bb02bac61
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100154DAUC vector [2]: sqn = 26
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100155DAUC vector [2]: autn = 24b018d46c3b00009c7e1b47f3a19b2b
156DAUC vector [2]: ck = d86c3191a36fc0602e48202ef2080964
157DAUC vector [2]: ik = 648dab72016181406243420649e63dc9
158DAUC vector [2]: res = 010cab11cc63a6e40000000000000000
159DAUC vector [2]: res_len = 8
160DAUC vector [2]: kc = f0eaf8cb19e0758d
161DAUC vector [2]: sres = cd6f0df5
162DAUC vector [2]: auth_types = 0x3
Neels Hofmeyr428c9472017-02-21 22:50:59 +0100163rc == 3
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100164aud3g.u.umts.sqn == 26
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100165[0]: vector matches expectations
166[1]: vector matches expectations
167[2]: vector matches expectations
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100168Now reach sqn = 23 with AUTS and expect the same
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100169DAUC Computing 3 auth vectors: 3G only (2G derived from 3G keys), with AUTS resync
170DAUC 3G: k = eb215756028d60e3275e613320aec880
171DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
Neels Hofmeyredebc222017-03-16 04:58:58 +0100172DAUC 3G: for sqn ind 0, previous sqn was 26
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100173DAUC vector [0]: rand = 897210a0f7de278f0b8213098e098a3f
174DAUC vector [0]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
175DAUC vector [0]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100176DAUC vector [0]: sqn = 24
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100177DAUC vector [0]: autn = c6b9790dad4b00000cf322869ea6a481
178DAUC vector [0]: ck = e9922bd036718ed9e40bd1d02c3b81a5
179DAUC vector [0]: ik = f19c20ca863137f8892326d959ec5e01
180DAUC vector [0]: res = 9af5a557902d2db80000000000000000
181DAUC vector [0]: res_len = 8
182DAUC vector [0]: kc = 7526fc13c5976685
183DAUC vector [0]: sres = 0ad888ef
184DAUC vector [0]: auth_types = 0x3
185DAUC vector [1]: rand = 9a8321b108ef38a01c93241a9f1a9b50
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100186DAUC vector [1]: sqn = 25
Neels Hofmeyrb5b11e32017-02-22 01:42:43 +0100187DAUC vector [1]: autn = 79a5113eb0910000be6020540503ffc5
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100188DAUC vector [1]: ck = 3686f05df057d1899c66ae4eb18cf941
189DAUC vector [1]: ik = 79f21ed53bcb47787de57d136ff803a5
190DAUC vector [1]: res = 43023475cb29292c0000000000000000
191DAUC vector [1]: res_len = 8
192DAUC vector [1]: kc = aef73dd515e86c15
193DAUC vector [1]: sres = 882b1d59
194DAUC vector [1]: auth_types = 0x3
195DAUC vector [2]: rand = ab9432c2190049b12da4352bb02bac61
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100196DAUC vector [2]: sqn = 26
Neels Hofmeyrb5b11e32017-02-22 01:42:43 +0100197DAUC vector [2]: autn = 24b018d46c3b00009c7e1b47f3a19b2b
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100198DAUC vector [2]: ck = d86c3191a36fc0602e48202ef2080964
199DAUC vector [2]: ik = 648dab72016181406243420649e63dc9
200DAUC vector [2]: res = 010cab11cc63a6e40000000000000000
201DAUC vector [2]: res_len = 8
202DAUC vector [2]: kc = f0eaf8cb19e0758d
203DAUC vector [2]: sres = cd6f0df5
204DAUC vector [2]: auth_types = 0x3
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100205[0]: vector matches expectations
206[1]: vector matches expectations
207[2]: vector matches expectations
Neels Hofmeyr00c06972017-01-31 01:19:27 +0100208===== test_gen_vectors_3g_only: SUCCESS
209
Neels Hofmeyr569d3222017-02-21 22:57:11 +0100210
211===== test_gen_vectors_bad_args
212
213- no auth data (a)
214DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
215rc == -1
216
217- no auth data (b)
218DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
219rc == -1
220
221- no auth data (c)
222DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
223rc == -1
224
225- no auth data (d)
226DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
227rc == -1
228
229- no auth data (e)
230DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
231rc == -1
232
233- no auth data (f)
234DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
235rc == -1
236
237- no auth data (g)
238DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
239rc == -1
240
241- no auth data (h)
242DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
243rc == -1
244
245- no auth data (i)
246DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
247rc == -1
248
249- no auth data (j)
250DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
251rc == -1
252
253- no auth data (k)
254DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
255rc == -1
256
257- no auth data (l)
258DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
259rc == -1
260
261- no auth data (m)
262DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
263rc == -1
264
265- no auth data (n)
266DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
267rc == -1
268
269- no auth data (o)
270DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
271rc == -1
272
273- no auth data (p)
274DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
275rc == -1
276
277- wrong auth data type (a)
278DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
279rc == -1
280
281- wrong auth data type (b)
282DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
283rc == -1
284
285- wrong auth data type (c)
286DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
287rc == -1
288
289- wrong auth data type (d)
290DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
291rc == -1
292
293- wrong auth data type (e)
294DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
295rc == -1
296
297- wrong auth data type (f)
298DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
299rc == -1
300
301- wrong auth data type (g)
302DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
303rc == -1
304
305- wrong auth data type (h)
306DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
307rc == -1
308
309- wrong auth data type (i)
310DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
311rc == -1
312
313- wrong auth data type (j)
314DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
315rc == -1
316
317- wrong auth data type (k)
318DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
319rc == -1
320
321- AUTS for 2G-only (a)
322DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
323rc == -1
324
325- AUTS for 2G-only (b)
326DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
327rc == -1
328
329- AUTS for 2G-only (c)
330DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
331rc == -1
332
333- AUTS for 2G-only (d)
334DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
335rc == -1
336
337- incomplete AUTS (a)
338DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
339rc == -1
340
341- incomplete AUTS (b)
342DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
343rc == -1
344
345- incomplete AUTS (c)
346DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
347rc == -1
348
349- incomplete AUTS (d)
350DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
351rc == -1
352===== test_gen_vectors_bad_args: SUCCESS
353