Professional Documents
Culture Documents
Complex DH
Complex DH
import math
def complex_floor(num):
r=num.real
i=num.imag
b=complex(math.floor(r),math.floor(i))
x=r%1
y=i%1
if 1>x+y :
g=b;
elif 1<=x+y and x>=y :
g=b+1;
else:
g=b+complex(0,1)
return g
def complex_ceil(num):
g=-1*complex_floor(-1*num)
return g
prime=complex(2561,2534)
generator=5
private_alice=373
private_bob=3
x=generator**private_alice
print(x)
q=1/prime
print(q)
print(x*q)
##y=complex_mod(x,prime)
##print(y)
##public_alice=complex_mod((generator**private_alice),prime)
##public_bob=complex_mod((generator**private_bob),prime)
##
##print("Public key Alice:",public_alice)
##print("Public key Bob:",public_bob)
##
##secret_alice = public_bob**private_alice
##secret_bob = public_alice**private_bob
##
##print("Shared secret Alice:",secret_alice)
##print("Shared secret Bob:",secret_bob)