blob: 8748ece6aad80a4c92f653eeccae8ce090cc602b [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
29DAUC 2G: ki = eb215756028d60e3275e613320aec880
30DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
Neels Hofmeyree392bb2017-03-16 05:20:50 +010031DAUC vector [0]: sqn = 32
Neels Hofmeyrd846ae82017-03-15 00:37:29 +010032DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010033DAUC 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 Hofmeyrea1052d2017-03-15 02:42:19 +010042aud3g.u.umts.sqn == 32
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010043vector matches expectations
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010044aud3g.u.umts.sqn == 31
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
Neels Hofmeyree392bb2017-03-16 05:20:50 +010050DAUC vector [0]: sqn = 32
Neels Hofmeyrd846ae82017-03-15 00:37:29 +010051DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010052DAUC 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
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010061aud3g.u.umts.sqn == 32
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 Hofmeyrea1052d2017-03-15 02:42:19 +010067aud3g.u.umts.sqn == 31
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
Neels Hofmeyree392bb2017-03-16 05:20:50 +010072DAUC vector [0]: sqn = 32
Neels Hofmeyrd846ae82017-03-15 00:37:29 +010073DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010074DAUC 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 Hofmeyrea1052d2017-03-15 02:42:19 +010082aud3g.u.umts.sqn == 32
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010083vector matches expectations
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010084aud3g.u.umts.sqn == 31
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
Neels Hofmeyree392bb2017-03-16 05:20:50 +010089DAUC vector [0]: sqn = 32
Neels Hofmeyrd846ae82017-03-15 00:37:29 +010090DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
Neels Hofmeyr8d97d342017-02-21 22:46:35 +010091DAUC 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
Neels Hofmeyrea1052d2017-03-15 02:42:19 +010099aud3g.u.umts.sqn == 32
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100100vector matches expectations
Neels Hofmeyrec9036b2017-02-21 21:56:11 +0100101- test AUTS resync
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100102aud3g.u.umts.sqn == 31
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
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100109DAUC vector [0]: sqn = 24
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100110DAUC 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
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100119aud3g.u.umts.sqn == 24
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
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100122First just set rand and sqn = 23, and compute 3 vectors
123aud3g.u.umts.sqn == 23
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
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100128DAUC vector [0]: sqn = 24
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100129DAUC 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
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100138DAUC vector [1]: sqn = 25
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100139DAUC 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
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100148DAUC vector [2]: sqn = 26
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100149DAUC 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
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100158aud3g.u.umts.sqn == 26
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100159[0]: vector matches expectations
160[1]: vector matches expectations
161[2]: vector matches expectations
Neels Hofmeyrea1052d2017-03-15 02:42:19 +0100162Now reach sqn = 23 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
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100169DAUC vector [0]: sqn = 24
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100170DAUC 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
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100179DAUC vector [1]: sqn = 25
Neels Hofmeyrb5b11e32017-02-22 01:42:43 +0100180DAUC vector [1]: autn = 79a5113eb0910000be6020540503ffc5
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100181DAUC vector [1]: ck = 3686f05df057d1899c66ae4eb18cf941
182DAUC vector [1]: ik = 79f21ed53bcb47787de57d136ff803a5
183DAUC vector [1]: res = 43023475cb29292c0000000000000000
184DAUC vector [1]: res_len = 8
185DAUC vector [1]: kc = aef73dd515e86c15
186DAUC vector [1]: sres = 882b1d59
187DAUC vector [1]: auth_types = 0x3
188DAUC vector [2]: rand = ab9432c2190049b12da4352bb02bac61
Neels Hofmeyree392bb2017-03-16 05:20:50 +0100189DAUC vector [2]: sqn = 26
Neels Hofmeyrb5b11e32017-02-22 01:42:43 +0100190DAUC vector [2]: autn = 24b018d46c3b00009c7e1b47f3a19b2b
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100191DAUC vector [2]: ck = d86c3191a36fc0602e48202ef2080964
192DAUC vector [2]: ik = 648dab72016181406243420649e63dc9
193DAUC vector [2]: res = 010cab11cc63a6e40000000000000000
194DAUC vector [2]: res_len = 8
195DAUC vector [2]: kc = f0eaf8cb19e0758d
196DAUC vector [2]: sres = cd6f0df5
197DAUC vector [2]: auth_types = 0x3
Neels Hofmeyr8d97d342017-02-21 22:46:35 +0100198[0]: vector matches expectations
199[1]: vector matches expectations
200[2]: vector matches expectations
Neels Hofmeyr00c06972017-01-31 01:19:27 +0100201===== test_gen_vectors_3g_only: SUCCESS
202
Neels Hofmeyr569d3222017-02-21 22:57:11 +0100203
204===== test_gen_vectors_bad_args
205
206- no auth data (a)
207DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
208rc == -1
209
210- no auth data (b)
211DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
212rc == -1
213
214- no auth data (c)
215DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
216rc == -1
217
218- no auth data (d)
219DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
220rc == -1
221
222- no auth data (e)
223DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
224rc == -1
225
226- no auth data (f)
227DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
228rc == -1
229
230- no auth data (g)
231DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
232rc == -1
233
234- no auth data (h)
235DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
236rc == -1
237
238- no auth data (i)
239DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
240rc == -1
241
242- no auth data (j)
243DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
244rc == -1
245
246- no auth data (k)
247DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
248rc == -1
249
250- no auth data (l)
251DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
252rc == -1
253
254- no auth data (m)
255DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
256rc == -1
257
258- no auth data (n)
259DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
260rc == -1
261
262- no auth data (o)
263DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
264rc == -1
265
266- no auth data (p)
267DAUC auc_compute_vectors() called with neither 2G nor 3G auth data available
268rc == -1
269
270- wrong auth data type (a)
271DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
272rc == -1
273
274- wrong auth data type (b)
275DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
276rc == -1
277
278- wrong auth data type (c)
279DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
280rc == -1
281
282- wrong auth data type (d)
283DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
284rc == -1
285
286- wrong auth data type (e)
287DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
288rc == -1
289
290- wrong auth data type (f)
291DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
292rc == -1
293
294- wrong auth data type (g)
295DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
296rc == -1
297
298- wrong auth data type (h)
299DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
300rc == -1
301
302- wrong auth data type (i)
303DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
304rc == -1
305
306- wrong auth data type (j)
307DAUC auc_compute_vectors() called with non-2G auth data passed for aud2g arg
308rc == -1
309
310- wrong auth data type (k)
311DAUC auc_compute_vectors() called with non-3G auth data passed for aud3g arg
312rc == -1
313
314- AUTS for 2G-only (a)
315DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
316rc == -1
317
318- AUTS for 2G-only (b)
319DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
320rc == -1
321
322- AUTS for 2G-only (c)
323DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
324rc == -1
325
326- AUTS for 2G-only (d)
327DAUC auc_compute_vectors() with AUTS called but no 3G auth data passed
328rc == -1
329
330- incomplete AUTS (a)
331DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
332rc == -1
333
334- incomplete AUTS (b)
335DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
336rc == -1
337
338- incomplete AUTS (c)
339DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
340rc == -1
341
342- incomplete AUTS (d)
343DAUC auc_compute_vectors() with only one of AUTS and AUTS_RAND given, need both or neither
344rc == -1
345===== test_gen_vectors_bad_args: SUCCESS
346