cryptoSL2024/main.py

22 lines
455 B
Python

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)