python/TestMPINInstall_ZZZ.py.in [46:112]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PIN1 = 1234 PIN2 = 1234 # random number generator rng = mpin_ZZZ.create_csprng(self.seed) # Generate Client master secret share for MILAGRO and Customer rtn, ms1 = mpin_ZZZ.random_generate(rng) self.assertEqual(rtn, 0) rtn, ms2 = mpin_ZZZ.random_generate(rng) self.assertEqual(rtn, 0) # Generate server secret shares rtn, ss1 = mpin_ZZZ.get_server_secret(ms1) self.assertEqual(rtn, 0) rtn, ss2 = mpin_ZZZ.get_server_secret(ms2) self.assertEqual(rtn, 0) # Combine server secret shares rtn, server_secret = mpin_ZZZ.recombine_G2(ss1, ss2) self.assertEqual(rtn, 0) # Generate client secret shares rtn, cs1 = mpin_ZZZ.get_client_secret(ms1, self.hash_mpin_id) self.assertEqual(rtn, 0) rtn, cs2 = mpin_ZZZ.get_client_secret(ms2, self.hash_mpin_id) self.assertEqual(rtn, 0) # Combine client secret shares rtn, client_secret = mpin_ZZZ.recombine_G1(cs1, cs2) self.assertEqual(rtn, 0) # Generate Time Permit shares rtn, tp1 = mpin_ZZZ.get_client_permit( mpin_ZZZ.HASH_TYPE_ZZZ, self.date, ms1, self.hash_mpin_id) self.assertEqual(rtn, 0) rtn, tp2 = mpin_ZZZ.get_client_permit( mpin_ZZZ.HASH_TYPE_ZZZ, self.date, ms2, self.hash_mpin_id) self.assertEqual(rtn, 0) # Combine Time Permit shares rtn, time_permit = mpin_ZZZ.recombine_G1(tp1, tp2) self.assertEqual(rtn, 0) # Client extracts PIN from secret to create Token rtn, token = mpin_ZZZ.extract_pin( mpin_ZZZ.HASH_TYPE_ZZZ, self.mpin_id, PIN1, client_secret) self.assertEqual(rtn, 0) # Client first pass rtn, x, u, ut, sec = mpin_ZZZ.client_1( mpin_ZZZ.HASH_TYPE_ZZZ, self.date, self.mpin_id, rng, None, PIN2, token, time_permit) self.assertEqual(rtn, 0) # Server calculates H(ID) and H(T|H(ID)) HID, HTID = mpin_ZZZ.server_1( mpin_ZZZ.HASH_TYPE_ZZZ, self.date, self.mpin_id) # Server generates Random number Y and sends it to Client rtn, y = mpin_ZZZ.random_generate(rng) self.assertEqual(rtn, 0) # Client second pass rtn, v = mpin_ZZZ.client_2(x, y, sec) self.assertEqual(rtn, 0) # Server second pass - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - python/TestMPINInstall_ZZZ.py.in [192:258]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PIN1 = 1234 PIN2 = 1234 # random number generator rng = mpin_ZZZ.create_csprng(self.seed) # Generate Client master secret share for MILAGRO and Customer rtn, ms1 = mpin_ZZZ.random_generate(rng) self.assertEqual(rtn, 0) rtn, ms2 = mpin_ZZZ.random_generate(rng) self.assertEqual(rtn, 0) # Generate server secret shares rtn, ss1 = mpin_ZZZ.get_server_secret(ms1) self.assertEqual(rtn, 0) rtn, ss2 = mpin_ZZZ.get_server_secret(ms2) self.assertEqual(rtn, 0) # Combine server secret shares rtn, server_secret = mpin_ZZZ.recombine_G2(ss1, ss2) self.assertEqual(rtn, 0) # Generate client secret shares rtn, cs1 = mpin_ZZZ.get_client_secret(ms1, self.hash_mpin_id) self.assertEqual(rtn, 0) rtn, cs2 = mpin_ZZZ.get_client_secret(ms2, self.hash_mpin_id) self.assertEqual(rtn, 0) # Combine client secret shares rtn, client_secret = mpin_ZZZ.recombine_G1(cs1, cs2) self.assertEqual(rtn, 0) # Generate Time Permit shares rtn, tp1 = mpin_ZZZ.get_client_permit( mpin_ZZZ.HASH_TYPE_ZZZ, self.date, ms1, self.hash_mpin_id) self.assertEqual(rtn, 0) rtn, tp2 = mpin_ZZZ.get_client_permit( mpin_ZZZ.HASH_TYPE_ZZZ, self.date, ms2, self.hash_mpin_id) self.assertEqual(rtn, 0) # Combine Time Permit shares rtn, time_permit = mpin_ZZZ.recombine_G1(tp1, tp2) self.assertEqual(rtn, 0) # Client extracts PIN from secret to create Token rtn, token = mpin_ZZZ.extract_pin( mpin_ZZZ.HASH_TYPE_ZZZ, self.mpin_id, PIN1, client_secret) self.assertEqual(rtn, 0) # Client first pass rtn, x, u, ut, sec = mpin_ZZZ.client_1( mpin_ZZZ.HASH_TYPE_ZZZ, self.date, self.mpin_id, rng, None, PIN2, token, time_permit) self.assertEqual(rtn, 0) # Server calculates H(ID) and H(T|H(ID)) HID, HTID = mpin_ZZZ.server_1( mpin_ZZZ.HASH_TYPE_ZZZ, self.date, self.mpin_id) # Server generates Random number Y and sends it to Client rtn, y = mpin_ZZZ.random_generate(rng) self.assertEqual(rtn, 0) # Client second pass rtn, v = mpin_ZZZ.client_2(x, y, sec) self.assertEqual(rtn, 0) # Server second pass - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -