def Diffie_Hellman_exchange_algorithm(p,g, SA_assign,SB_assign):
print(f"p = {p}, g = {g}")
SA = SA_assign
SB = SB_assign
print(f"Let SA = {SA}, SB = {SB}")
TA = g**SA % p
TB = g**SB % p
print(f"TA = g^SA mod p = {TA} = {g}^{SA} mod {p} = {TA}")
print(f"TB = g^SB mod p = {TB} = {g}^{SB} mod {p} = {TB}")
secrete_key_A = 0
secrete_key_B = 0
secrete_key_A = TB**SA%p
secrete_key_B = TA**SB%p
print(f"Secrect key at A = TB^SA mod p = {TB}^{SA} mod {p} = {secrete_key_A}")
print(f"Secrect key at B = TA^SB mod p = {TA}^{SB} mod {p} = {secrete_key_B}")
print(f"==> {secrete_key_A} is the secret key.")
Diffie_Hellman_exchange_algorithm(p = 11,g = 13,SA_assign = 3,SB_assign = 4)
运行结果
p = 11, g = 13
Let SA = 3, SB = 4
TA = g^SA mod p = 8 = 13^3 mod 11 = 8
TB = g^SB mod p = 5 = 13^4 mod 11 = 5
Secrect key at A = TB^SA mod p = 5^3 mod 11 = 4
Secrect key at B = TA^SB mod p = 8^4 mod 11 = 4
==> 4 is the secret key.
[Finished in 0.6s]