from utils import generate_secret, coin_toss from utils import prime, FILE from Crypto.Math.Numbers import Integer def alice_1(): g = Integer(2) a = generate_secret() A_secret = pow(g, Integer(int.from_bytes(a)), prime) return A_secret def bob_1(A_secret): g = Integer(2) b = generate_secret() B_secret = pow(g, Integer.from_bytes(b), prime) if coin_toss(): B_secret = A_secret * B_secret return B_secret a = alice_1() b = bob_1(a) print(b)