DH算法
DH 算法其实也叫作Diffie-Hellman密钥交换协议,是一个不安全的秘钥共享网络协议,无法避免中间人攻击。
DH算法的原理
假设Ali和Bob需要互相通信并共享秘钥
- Ali先给Bob一个明文共享参数 , ,此信息可以被任何人识别
- Ali自己生成一个随机数 (Ali的私钥) ,并不将 告诉包括Bob在内的任何人
- Ali自己生成一个随机数 (Bob的私钥) ,并不将 告诉包括Ali在内的任何人
- Ali通过 自己的私钥 对 , 进行加密后( )的值传送给Bob
- Bob通过自己的私钥 对Ali通过第4步发送给Bob的信息()进行加密得到
- 同理,Bob通过 自己的私钥 对 , 进行加密后( )的值传送给Ali
- Ali通过自己的私钥 对Bob通过第6步发送给Bob的信息()进行加密得到
- 因此Ali和Bob得到了他们协议后的公钥 ,及他们各自的私钥 和私钥
在这一过程中 必须是一个非常大的质数,才能保证在第4步、第6步中相互传递加密信息之后,私钥 和私钥不会被第三方攻击者猜出来。
前面也说过,DH算法无法避免中间人攻击,有兴趣的童鞋可以自行了解。