Diffie-Hellman密钥交换协议
Diffie-Hellman密钥交换协议
AiY0u我们加密、解密信息都需要利用到密钥
那么密钥信息是如何安全配送的呢?难道我们一定要俩人线下秘密会面吗?
**Diffie-Hellman密钥交换协议(Diffie-Hellman Key Exchange,DHKE)**就是一种可以通过互联网安全配送密钥的方式
它的工作方式是这样的
假设Alice和Bob之间想要确定一个密钥k
Alice和Bob先商量好一个质数p和某个有限域的生成元g,通常会选取安全质数p=2⋅q+1(q是另一个大质数)。这能保护迪菲 - 赫尔曼协议免受波赫里格 - 赫尔曼算法的攻击。
Alice生成一个秘密数字a,计算
A = g^a mod p
Alice把A发给Bob
Bob生成一个秘密数字b,计算
B = g^b mod p
Bob把B发给Alice
Alice计算S1 = B^a mod p
Bob计算S2 = A^b mod p
经过这样的过程,我们由幂模运算的运算性质很容易推导出S1=S2
所以就把S1和S2定为密钥k
在上面的过程中,我们不难发现除了两人的秘密数字a和b,各个值都是直接在互联网上传递的。
同时根据p、g、A、B这些值极难获取a、b、S1、S2的值
这样就实现了密钥安全交换