不安全信道密钥交换
满足两个特性
单向性和交换律
选定一个基底g
a给b传递密钥 ga
b给a传递 gb
a得到gb后进行加密,得gba
b得到ga后进行加密,得gab
选取模幂运算作为模型
ga=g^a mod p
gb=g^b mod p
gba=(g^b mod p)^a mod p
gab=(g^a mod p)^b mod p
gba=gab=g^(ab) mod p
#!py
g=3
p =pow(2,127)-1
ga=pow(g,100,p)
gb=pow(g,101,p)
gba=pow(gb,100,p)
gab=pow(ga,101,p)
print(ga)
print(gb)
print(gba)
print(gab)