def test_key_exchange(self): p = 23 g = 5 alice_private_key = private_key(p) bob_private_key = private_key(p) alice_public_key = public_key(p, g, alice_private_key) bob_public_key = public_key(p, g, bob_private_key) secret_a = secret(p, bob_public_key, alice_private_key) secret_b = secret(p, alice_public_key, bob_private_key) self.assertTrue(secret_a == secret_b)
def test_key_exchange(self): p = 23 g = 5 alice_private_key = diffie_hellman.private_key(p) bob_private_key = diffie_hellman.private_key(p) alice_public_key = diffie_hellman.public_key(p, g, alice_private_key) bob_public_key = diffie_hellman.public_key(p, g, bob_private_key) secret_a = diffie_hellman.secret(p, bob_public_key, alice_private_key) secret_b = diffie_hellman.secret(p, alice_public_key, bob_private_key) self.assertEqual(secret_a, secret_b)
def test_key_exchange(self): p = 23 g = 5 alice_private_key = diffie_hellman.private_key(p) bob_private_key = diffie_hellman.private_key(p) alice_public_key = diffie_hellman.public_key(p, g, alice_private_key) bob_public_key = diffie_hellman.public_key(p, g, bob_private_key) secret_a = diffie_hellman.secret(p, bob_public_key, alice_private_key) secret_b = diffie_hellman.secret(p, alice_public_key, bob_private_key) self.assertEqual(secret_a, secret_b)
def test_exchange(self): p = 23 g = 5 privateA = diffie_hellman.private_key(p) privateB = diffie_hellman.private_key(p) publicA = diffie_hellman.public_key(p, g, privateA) publicB = diffie_hellman.public_key(p, g, privateB) secretA = diffie_hellman.secret(p, publicB, privateA) secretB = diffie_hellman.secret(p, publicA, privateB) self.assertEqual(secretA, secretB)
def test_private_key_is_random(self): """ Can fail due to randomness, but most likely will not, due to pseudo-randomness and the large number chosen """ private_keys = [private_key(2147483647) for _ in range(5)] self.assertEqual(len(set(private_keys)), len(private_keys))
def test_private_key_is_in_range(self): primes = [5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47] for i in primes: self.assertTrue(1 < diffie_hellman.private_key(i) < i)
def test_private_key_is_random(self): p = 2147483647 private_keys = [] for i in range(5): private_keys.append(diffie_hellman.private_key(p)) self.assertEqual(len(set(private_keys)), len(private_keys))
def test_private_key_is_greater_than_1_and_less_than_p(self): primes = [5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47] for p in primes: self.assertTrue(1 < private_key(p) < p)
def test_private_key_is_in_range_1_p(self): primes = [5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47] for p in primes: self.assertTrue(1 < private_key(p) < p)
def test_private_key_is_in_range(self): primes = [5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47] for i in primes: self.assertTrue(1 < diffie_hellman.private_key(i) < i)
def test_private_key_is_random(self): p = 2147483647 private_keys = [] for i in range(5): private_keys.append(diffie_hellman.private_key(p)) self.assertEqual(len(set(private_keys)), len(private_keys))
def test_exception_not_in_range2(self): with self.assertRaises(ValueError): private_key(0)
def test_exception_not_prime(self): with self.assertRaises(ValueError): private_key(65536)
def test_private_key_is_in_range_1_p(self): primes = [5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47] for p in primes: r = private_key(p) self.assertTrue(1 < r < p, msg=f"p={p} r={r}")