diffiehellman算法
发布时间: 2023-04-01 13:26:44
这里给你一个流程上的通俗解释:
DH算法的最终目的是为了完成通信双方对称秘钥的交互,但是它牛逼在即使处在不安全的环境(有人侦听)也不会造成秘钥泄露。
这里举一个最简单的反面例子:A和B要进行银行密码的交换,他们需要一个秘钥来加密自己的信息,A发给B ‘2’ 作为暗号,B再回一个‘2’,OK,以后他们发的所有信息都将加2(假设信息都是数字且运算不会溢出)。现在C偷听到了,A发一个‘456’给B,那么完蛋了,C知道A的银行密码是‘234’了。
有了DH就不一样了,A和B协定用23和5运算,A想了一个6(这个数字不用发给B),用23和5算出来一个8,发给B; B想了一个15(这个数字也不用发给A),算出来一个19又发给A;
现在A用B发过来的19可以算出2,B用A发过来的8算出来也是2,所以他们以后发的信息都是加2的。
假设C一直在偷听,那么他知道一开始用的是23和5,还有发送过程中的8和19,然而这并没有什么卵用,因为他有生之年算不出最后这个2,所以之后A和B交换的银行密码’456’ 他也就没法破解了。
至于“为什么要选择23和5、8和19还有最后的2是怎么算出来的、为什么C有生之年都算不出来”见wiki-迪菲-赫尔曼密钥交换
热点内容