def main(): print('This is Alice, p = {}; g = {}'.format(p, g)) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as alice: alice.bind(alice_add) alice.listen() conn, _ = alice.accept() # send Name conn.send(b'Hey, Alice here!') # receive name print(conn.recv(1024).decode()) # choose private key a = choose_private_key() print('private key:', a) # compute public key A = compute_public_key(a) print('public key:', A) # send A conn.send(str(A).encode()) # Receive B B = int(conn.recv(1024).decode()) print('Received from Bob:', B) # compute shared secret key K = compute_shared_secret_key(a, B) print(K)
def main(): print('This is Bob, p = {}; g = {}'.format(p, g)) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as bob: bob.connect(alice_add) # revc name print(bob.recv(1024).decode()) # send Name bob.send(b'Hey, Bob here!') # choose private key b = choose_private_key() print('private key:', b) # compute public key B = compute_public_key(b) print('public key:', B) # send A bob.send(str(B).encode()) # Receive B A = int(bob.recv(1024).decode()) print('Received from Alice:', A) # compute shared secret key K = compute_shared_secret_key(b, A) print(K)