博主是初学公钥密码,本意是想整理一些经典的密码系统,加深记忆也方便日后查找;整理成一个系列公钥密码,方便检索。
如果有错,欢迎指正。
Diffie-Hellman密钥协商算法是由Whitfield Diffie,Martin E.Hellman在1976年发表的“New Directions in Cryptography”一文中提出。Diffie-Hellman算法的思想是通过交换信息,来协商出只有双方知道的密钥。
算法过程
全局公开(敌手可以看到)两个参数:
- 素数 p p p
- 整数 a a a, a a a是 p p p的原根
A , B A,B A,B双方进行协商,希望得到一个只有双方知道的密钥。
- A A A选择随机数 X A X_A XA, X A < p X_A<p XA<p,计算 Y A = a X A Y_A=a^{X_A} YA=aXA mod p p p,公开 Y A Y_A YA
- B B B选择随机数 X B X_B XB, X B < p X_B<p XB<p,计算 Y B = a X B Y_B=a^{X_B} YB=aXB mod p p p,公开 Y B Y_B <