cosmetic: refactor auc_compute_vectors(), add debug log

Make the generation logic easier to understand (hopefully).

Massively extend debug logging, which serves to illustrate the current AUTS
failure shown by auc_3g_test.

Since DAUC now logs the vectors, there is no need to print the vectors in
VEC_IS() in auc_3g_test and auc_ts_55_205_test_sets anymore. Adjust testlog
expectations accordingly.

Change-Id: Ifb36d010a4ac64c765517e15b9074424ec19cc60
diff --git a/tests/auc/auc_3g_test.err b/tests/auc/auc_3g_test.err
index db076d7..e8e6f03 100644
--- a/tests/auc/auc_3g_test.err
+++ b/tests/auc/auc_3g_test.err
@@ -1,210 +1,209 @@
 
 ===== test_gen_vectors_2g_only
 aud3g.u.umts.sqn == 0
-DAUC rand 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC compute vector [0]/1: 2G only
+DAUC Computing 1 auth vector: 2G only
+DAUC 2G: ki = eb215756028d60e3275e613320aec880
+DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [0]: kc = 241a5b16aeb8e400
+DAUC vector [0]: sres = 429d5b27
+DAUC vector [0]: auth_types = 0x1
 rc == 1
-auth vector ==
-  rand: 39fa2f4e3d523d8619a73b4f65c3e14d
-  autn: 00000000000000000000000000000000
-  ck: 00000000000000000000000000000000
-  ik: 00000000000000000000000000000000
-  res: 00000000000000000000000000000000
-  res_len: 00
-  kc: 241a5b16aeb8e400
-  sres: 429d5b27
-  auth_types: 01000000
-
+vector matches expectations
 aud3g.u.umts.sqn == 0
-DAUC rand 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC compute vector [0]/1: 2G only
+DAUC Computing 1 auth vector: 2G only
+DAUC 2G: ki = eb215756028d60e3275e613320aec880
+DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [0]: kc = 241a5b16aeb8e400
+DAUC vector [0]: sres = 429d5b27
+DAUC vector [0]: auth_types = 0x1
 rc == 1
-auth vector ==
-  rand: 39fa2f4e3d523d8619a73b4f65c3e14d
-  autn: 00000000000000000000000000000000
-  ck: 00000000000000000000000000000000
-  ik: 00000000000000000000000000000000
-  res: 00000000000000000000000000000000
-  res_len: 00
-  kc: 241a5b16aeb8e400
-  sres: 429d5b27
-  auth_types: 01000000
-
+vector matches expectations
 ===== test_gen_vectors_2g_only: SUCCESS
 
 
 ===== test_gen_vectors_2g_plus_3g
 aud3g.u.umts.sqn == 0
-DAUC rand 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC compute vector [0]/1: separate 2G + 3G
+DAUC Computing 1 auth vector: 3G + separate 2G
+DAUC 3G: k = eb215756028d60e3275e613320aec880
+DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
+DAUC 2G: ki = eb215756028d60e3275e613320aec880
+DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [0]: sqn = 0
+DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
+DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
+DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
+DAUC vector [0]: res = e229c19e791f2e410000000000000000
+DAUC vector [0]: res_len = 8
+DAUC vector [0]: deriving 2G from 3G
+DAUC vector [0]: kc = 241a5b16aeb8e400
+DAUC vector [0]: sres = 429d5b27
+DAUC vector [0]: auth_types = 0x3
 rc == 1
-auth vector ==
-  rand: 39fa2f4e3d523d8619a73b4f65c3e14d
-  autn: 8704f5ba55f30000d2ee44b22c8ea919
-  ck: f64735036e5871319c679f4742a75ea1
-  ik: 27497388b6cb044648f396aa155b95ef
-  res: e229c19e791f2e410000000000000000
-  res_len: 08
-  kc: 241a5b16aeb8e400
-  sres: 429d5b27
-  auth_types: 03000000
-
+vector matches expectations
 aud3g.u.umts.sqn == 1
 aud3g.u.umts.sqn == 0
-DAUC rand 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC compute vector [0]/1: separate 2G + 3G
+DAUC Computing 1 auth vector: 3G + separate 2G
+DAUC 3G: k = eb215756028d60e3275e613320aec880
+DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
+DAUC 2G: ki = eb215756028d60e3275e613320aec880
+DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [0]: sqn = 0
+DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
+DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
+DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
+DAUC vector [0]: res = e229c19e791f2e410000000000000000
+DAUC vector [0]: res_len = 8
+DAUC vector [0]: deriving 2G from 3G
+DAUC vector [0]: kc = 241a5b16aeb8e400
+DAUC vector [0]: sres = 429d5b27
+DAUC vector [0]: auth_types = 0x3
 rc == 1
 aud3g.u.umts.sqn == 1
-auth vector ==
-  rand: 39fa2f4e3d523d8619a73b4f65c3e14d
-  autn: 8704f5ba55f30000d2ee44b22c8ea919
-  ck: f64735036e5871319c679f4742a75ea1
-  ik: 27497388b6cb044648f396aa155b95ef
-  res: e229c19e791f2e410000000000000000
-  res_len: 08
-  kc: 241a5b16aeb8e400
-  sres: 429d5b27
-  auth_types: 03000000
-
+vector matches expectations
 ===== test_gen_vectors_2g_plus_3g: SUCCESS
 
 
 ===== test_gen_vectors_3g_only
 aud3g.u.umts.sqn == 0
-DAUC rand 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC compute vector [0]/1: 3G only
+DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
+DAUC 3G: k = eb215756028d60e3275e613320aec880
+DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
+DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [0]: sqn = 0
+DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
+DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
+DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
+DAUC vector [0]: res = e229c19e791f2e410000000000000000
+DAUC vector [0]: res_len = 8
+DAUC vector [0]: kc = 059a4f668f6fbe39
+DAUC vector [0]: sres = 9b36efdf
+DAUC vector [0]: auth_types = 0x3
 rc == 1
-auth vector ==
-  rand: 39fa2f4e3d523d8619a73b4f65c3e14d
-  autn: 8704f5ba55f30000d2ee44b22c8ea919
-  ck: f64735036e5871319c679f4742a75ea1
-  ik: 27497388b6cb044648f396aa155b95ef
-  res: e229c19e791f2e410000000000000000
-  res_len: 08
-  kc: 059a4f668f6fbe39
-  sres: 9b36efdf
-  auth_types: 03000000
-
+vector matches expectations
 aud3g.u.umts.sqn == 1
 aud3g.u.umts.sqn == 0
-DAUC rand 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC compute vector [0]/1: 3G only
+DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
+DAUC 3G: k = eb215756028d60e3275e613320aec880
+DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
+DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [0]: sqn = 0
+DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
+DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
+DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
+DAUC vector [0]: res = e229c19e791f2e410000000000000000
+DAUC vector [0]: res_len = 8
+DAUC vector [0]: kc = 059a4f668f6fbe39
+DAUC vector [0]: sres = 9b36efdf
+DAUC vector [0]: auth_types = 0x3
 rc == 1
 aud3g.u.umts.sqn == 1
-auth vector ==
-  rand: 39fa2f4e3d523d8619a73b4f65c3e14d
-  autn: 8704f5ba55f30000d2ee44b22c8ea919
-  ck: f64735036e5871319c679f4742a75ea1
-  ik: 27497388b6cb044648f396aa155b95ef
-  res: e229c19e791f2e410000000000000000
-  res_len: 08
-  kc: 059a4f668f6fbe39
-  sres: 9b36efdf
-  auth_types: 03000000
-
+vector matches expectations
 - test AUTS resync
 aud3g.u.umts.sqn == 0
-DAUC rand 897210a0f7de278f0b8213098e098a3f
-DAUC compute vector [0]/1: 3G only
+DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys), with AUTS resync
+DAUC 3G: k = eb215756028d60e3275e613320aec880
+DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
+DAUC vector [0]: rand = 897210a0f7de278f0b8213098e098a3f
+DAUC vector [0]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
+DAUC vector [0]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [0]: resync: sqn = 24
+DAUC vector [0]: autn = c6b9790dad4b00000cf322869ea6a481
+DAUC vector [0]: ck = e9922bd036718ed9e40bd1d02c3b81a5
+DAUC vector [0]: ik = f19c20ca863137f8892326d959ec5e01
+DAUC vector [0]: res = 9af5a557902d2db80000000000000000
+DAUC vector [0]: res_len = 8
+DAUC vector [0]: kc = 7526fc13c5976685
+DAUC vector [0]: sres = 0ad888ef
+DAUC vector [0]: auth_types = 0x3
 rc == 1
 aud3g.u.umts.sqn == 25
-auth vector ==
-  rand: 897210a0f7de278f0b8213098e098a3f
-  autn: c6b9790dad4b00000cf322869ea6a481
-  ck: e9922bd036718ed9e40bd1d02c3b81a5
-  ik: f19c20ca863137f8892326d959ec5e01
-  res: 9af5a557902d2db80000000000000000
-  res_len: 08
-  kc: 7526fc13c5976685
-  sres: 0ad888ef
-  auth_types: 03000000
-
+vector matches expectations
 - verify N vectors with AUTS resync == N vectors without AUTS
 First just set rand and sqn = 24, and compute 3 vectors
 aud3g.u.umts.sqn == 24
-DAUC rand 897210a0f7de278f0b8213098e098a3f
-DAUC compute vector [0]/3: 3G only
-DAUC rand 9a8321b108ef38a01c93241a9f1a9b50
-DAUC compute vector [1]/3: 3G only
-DAUC rand ab9432c2190049b12da4352bb02bac61
-DAUC compute vector [2]/3: 3G only
+DAUC Computing 3 auth vectors: 3G only (2G derived from 3G keys)
+DAUC 3G: k = eb215756028d60e3275e613320aec880
+DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
+DAUC vector [0]: rand = 897210a0f7de278f0b8213098e098a3f
+DAUC vector [0]: sqn = 24
+DAUC vector [0]: autn = c6b9790dad4b00000cf322869ea6a481
+DAUC vector [0]: ck = e9922bd036718ed9e40bd1d02c3b81a5
+DAUC vector [0]: ik = f19c20ca863137f8892326d959ec5e01
+DAUC vector [0]: res = 9af5a557902d2db80000000000000000
+DAUC vector [0]: res_len = 8
+DAUC vector [0]: kc = 7526fc13c5976685
+DAUC vector [0]: sres = 0ad888ef
+DAUC vector [0]: auth_types = 0x3
+DAUC vector [1]: rand = 9a8321b108ef38a01c93241a9f1a9b50
+DAUC vector [1]: sqn = 25
+DAUC vector [1]: autn = 79a5113eb0910000be6020540503ffc5
+DAUC vector [1]: ck = 3686f05df057d1899c66ae4eb18cf941
+DAUC vector [1]: ik = 79f21ed53bcb47787de57d136ff803a5
+DAUC vector [1]: res = 43023475cb29292c0000000000000000
+DAUC vector [1]: res_len = 8
+DAUC vector [1]: kc = aef73dd515e86c15
+DAUC vector [1]: sres = 882b1d59
+DAUC vector [1]: auth_types = 0x3
+DAUC vector [2]: rand = ab9432c2190049b12da4352bb02bac61
+DAUC vector [2]: sqn = 26
+DAUC vector [2]: autn = 24b018d46c3b00009c7e1b47f3a19b2b
+DAUC vector [2]: ck = d86c3191a36fc0602e48202ef2080964
+DAUC vector [2]: ik = 648dab72016181406243420649e63dc9
+DAUC vector [2]: res = 010cab11cc63a6e40000000000000000
+DAUC vector [2]: res_len = 8
+DAUC vector [2]: kc = f0eaf8cb19e0758d
+DAUC vector [2]: sres = cd6f0df5
+DAUC vector [2]: auth_types = 0x3
 rc == 3
 aud3g.u.umts.sqn == 27
-[0]: auth vector ==
-  rand: 897210a0f7de278f0b8213098e098a3f
-  autn: c6b9790dad4b00000cf322869ea6a481
-  ck: e9922bd036718ed9e40bd1d02c3b81a5
-  ik: f19c20ca863137f8892326d959ec5e01
-  res: 9af5a557902d2db80000000000000000
-  res_len: 08
-  kc: 7526fc13c5976685
-  sres: 0ad888ef
-  auth_types: 03000000
-
-[1]: auth vector ==
-  rand: 9a8321b108ef38a01c93241a9f1a9b50
-  autn: 79a5113eb0910000be6020540503ffc5
-  ck: 3686f05df057d1899c66ae4eb18cf941
-  ik: 79f21ed53bcb47787de57d136ff803a5
-  res: 43023475cb29292c0000000000000000
-  res_len: 08
-  kc: aef73dd515e86c15
-  sres: 882b1d59
-  auth_types: 03000000
-
-[2]: auth vector ==
-  rand: ab9432c2190049b12da4352bb02bac61
-  autn: 24b018d46c3b00009c7e1b47f3a19b2b
-  ck: d86c3191a36fc0602e48202ef2080964
-  ik: 648dab72016181406243420649e63dc9
-  res: 010cab11cc63a6e40000000000000000
-  res_len: 08
-  kc: f0eaf8cb19e0758d
-  sres: cd6f0df5
-  auth_types: 03000000
-
+[0]: vector matches expectations
+[1]: vector matches expectations
+[2]: vector matches expectations
 Now reach sqn = 24 with AUTS and expect the same
-DAUC rand 897210a0f7de278f0b8213098e098a3f
-DAUC compute vector [0]/3: 3G only
-DAUC rand 9a8321b108ef38a01c93241a9f1a9b50
-DAUC compute vector [1]/3: 3G only
-DAUC rand ab9432c2190049b12da4352bb02bac61
-DAUC compute vector [2]/3: 3G only
+DAUC Computing 3 auth vectors: 3G only (2G derived from 3G keys), with AUTS resync
+DAUC 3G: k = eb215756028d60e3275e613320aec880
+DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
+DAUC vector [0]: rand = 897210a0f7de278f0b8213098e098a3f
+DAUC vector [0]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
+DAUC vector [0]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [0]: resync: sqn = 24
+DAUC vector [0]: autn = c6b9790dad4b00000cf322869ea6a481
+DAUC vector [0]: ck = e9922bd036718ed9e40bd1d02c3b81a5
+DAUC vector [0]: ik = f19c20ca863137f8892326d959ec5e01
+DAUC vector [0]: res = 9af5a557902d2db80000000000000000
+DAUC vector [0]: res_len = 8
+DAUC vector [0]: kc = 7526fc13c5976685
+DAUC vector [0]: sres = 0ad888ef
+DAUC vector [0]: auth_types = 0x3
+DAUC vector [1]: rand = 9a8321b108ef38a01c93241a9f1a9b50
+DAUC vector [1]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
+DAUC vector [1]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [1]: resync: sqn = 24
+DAUC vector [1]: autn = 79a5113eb0900000f7e138537aa0962b
+DAUC vector [1]: ck = 3686f05df057d1899c66ae4eb18cf941
+DAUC vector [1]: ik = 79f21ed53bcb47787de57d136ff803a5
+DAUC vector [1]: res = 43023475cb29292c0000000000000000
+DAUC vector [1]: res_len = 8
+DAUC vector [1]: kc = aef73dd515e86c15
+DAUC vector [1]: sres = 882b1d59
+DAUC vector [1]: auth_types = 0x3
+DAUC vector [2]: rand = ab9432c2190049b12da4352bb02bac61
+DAUC vector [2]: resync: auts = 979498b1f72d3e28c59fa2e72f9c
+DAUC vector [2]: resync: rand_auts = 39fa2f4e3d523d8619a73b4f65c3e14d
+DAUC vector [2]: resync: sqn = 24
+DAUC vector [2]: autn = 24b018d46c390000d88e11730d0367ac
+DAUC vector [2]: ck = d86c3191a36fc0602e48202ef2080964
+DAUC vector [2]: ik = 648dab72016181406243420649e63dc9
+DAUC vector [2]: res = 010cab11cc63a6e40000000000000000
+DAUC vector [2]: res_len = 8
+DAUC vector [2]: kc = f0eaf8cb19e0758d
+DAUC vector [2]: sres = cd6f0df5
+DAUC vector [2]: auth_types = 0x3
 THERE IS A BUG AND THE TEST PASSES THE WRONG VECTORS UNTIL THAT IS FIXED
 The SQN should increment with each new vector.
-[0]: auth vector ==
-  rand: 897210a0f7de278f0b8213098e098a3f
-  autn: c6b9790dad4b00000cf322869ea6a481
-  ck: e9922bd036718ed9e40bd1d02c3b81a5
-  ik: f19c20ca863137f8892326d959ec5e01
-  res: 9af5a557902d2db80000000000000000
-  res_len: 08
-  kc: 7526fc13c5976685
-  sres: 0ad888ef
-  auth_types: 03000000
-
-[1]: auth vector ==
-  rand: 9a8321b108ef38a01c93241a9f1a9b50
-  autn: 79a5113eb0900000f7e138537aa0962b
-  ck: 3686f05df057d1899c66ae4eb18cf941
-  ik: 79f21ed53bcb47787de57d136ff803a5
-  res: 43023475cb29292c0000000000000000
-  res_len: 08
-  kc: aef73dd515e86c15
-  sres: 882b1d59
-  auth_types: 03000000
-
-[2]: auth vector ==
-  rand: ab9432c2190049b12da4352bb02bac61
-  autn: 24b018d46c390000d88e11730d0367ac
-  ck: d86c3191a36fc0602e48202ef2080964
-  ik: 648dab72016181406243420649e63dc9
-  res: 010cab11cc63a6e40000000000000000
-  res_len: 08
-  kc: f0eaf8cb19e0758d
-  sres: cd6f0df5
-  auth_types: 03000000
-
+[0]: vector matches expectations
+[1]: vector matches expectations
+[2]: vector matches expectations
 ===== test_gen_vectors_3g_only: SUCCESS