迪菲-赫尔曼密钥交换是一种可以在通信双方之间安全交换密钥的方法。
这种方法通过将双方共有的秘密数值隐藏在公开述职相关的运算中,来实现双方之间的密钥的安全交换。
首先理解下概念,A希望和B交换密钥。
假设有一种方法可以合成两个密钥。使用这种方法来合成密钥P和密钥S就会得到由两个密钥的成分所构成的密钥P-S.
密钥的合成有三个特征:
1.即使持有密钥P和合成的密钥P-S也无法把密钥S单独取出来,不能分解。
2.不管如何合成而来的密钥,都可以把它作为新的元素与其他密钥进行合成。上一步合成的P-S密钥,还能继续和密钥P合成为P-P-S.
3.密钥的合成结果和合成顺序无关,只和合成了哪些密钥有关系。比如我先合成了A和B得到A-B再合成C,那么得到的是A-B-C,如果我先合成了A和C得到A-C,再合成了B,那么得到的也是A-B-C。是一样的。
下面看下迪菲-赫尔曼密钥交换实现的具体步骤。
A先生成一个密钥P,直接发送给B.
接下来,A和B各自生成密钥A和密钥B.
A使用自己的密钥A 和 密钥P 合成密钥 A - P .
B使用自己的密钥B 和密钥P 合成密钥B - P.
A 将密钥A - P 发送给B
B 将密钥B - P发送给A
A将接收到的B - P 和A合成为 B - P - A
B将接收到的A - P 和B和成为A - P - B
由特征3知道 A - B - P 和 B - P - A效果一样。
所以A和B就可以使用加密密钥和解密密钥来使用。
验证安全性:
在数据传输过程中 X 只能窃取到P,A-P, B-P, 无法拆解,无法合成成为A-B-P,因此,这种交换密钥方式是安全的。
网友评论