DH-demo
基于 Diffie-Hellman 的三方密钥交换算法演示
代码:https://github.com/Clara998/DH-demo
实验环境:
方法1:为了统一依赖,我们采用 Pyenv 来管理 Python 的版本,Pipenv 来管理依赖的版本。
方法2:实验环境为python3.7及django3.0.6,可以自行下载
算法流程:
- 随机生成大素数p
- 生成大素数p的一个原根g
- Alice,Bob,Carol随机产生小于p的私钥
- 密钥的二轮分发及产生共享密钥。
- Alice选取一个大的随机整数x,并且发送给Bob X=g^x mod n
Bob选取一个大的随机整数y,并且发送给Carol Y=g^y mod n
Carol选取一个大的随机整数z,并且发送给Alice Z=g^x mod n - Alice发送给Bob Z’=Z^x mod n
Bob发送给Carol X’
- Alice选取一个大的随机整数x,并且发送给Bob X=g^x mod n