天天看点

介绍DH密钥交换协议

Diffie Hallman(发明于1976年,获得2016年图灵奖):

    该算法普遍存在于公共领域,几乎所有在公开网络中的密钥交换都使用了这个方法,这个方法奠定了公开密钥密码编码学。

    原理是:A与B希望建立一个私有密钥。很多人可能还不知道密钥是什么,其实密钥就是将​明文转换为密文​或者​密文转化为明文​的一种规则,分为两种,一种是对称密钥,一种是非对称密钥。对称与非对称的最大区别是是否用​同一种规则​进行封装或解封。

介绍DH密钥交换协议

    现在A产生一个私有的密钥XA(他想要发送的),并​计算​出公开密钥YA(迷惑人的)发送给B,B再将其解封,得到里面的秘密密钥K。同理,B同样产生一个私有密钥XB,用同一种规则(公式)计算出公开密钥YB发送给A,A解封得到同样的K(前后的K必定相等,证明略)。最终才能确定一个秘密密钥,就是K。

    计算如图:

介绍DH密钥交换协议

    如图所示,XA、XB就是他们想传达的东西,p是素数,a是整数,也就是如果别人想要获取信息,必须解离散对数,这是个非常复杂的过程。

    缺陷:如果攻击者拦截了这个公钥,并伪装成A,发送了同样的信息给B,那该怎么办?

​PS:需要注明的是,DH并不能用来加密解密,它只能用来交换和确认密钥。​

继续阅读