在那篇划时代的论文《New Directions in Cryptography》中,作者Diffie和Hellman虽然并没有提出一个实际的公钥密码加密算法,但却提出了一个可以在不安全信道中交换密钥的协议,这个密钥交换协议就是基于离散对数难题的。
Diffie-Hellman密钥交换协议︰
1.首先通信双方Alice和Bob先共享两个公共参数,模数p和Zp^*^,中的一个原根g。
- Alice本地随机生成一个私钥a,并计算公钥A = g^a^,发送A给Bob
- Bob在收到A后,也本地随机生成一个私钥b,并计算公钥B=g^b^,发送B给Alice;此外,Bob还可以计算共享密钥k = A^b^ = g^ab^
- Alice收到Bob发过来的B后,也可以计算共享密钥k = B^a^ = g^ab^
5.至此,密钥交换结束,双方都可以得到一份共享密钥