密钥交换

来源:互联网 发布:简明python 编辑:程序博客网 时间:2024/04/27 17:12

DH算法实质是一个通信双方进行密钥协定的协议,它的安全性基于有限域上计算离散对数的困难性。

Diffie-Hellman密钥交换协议如下:

首先,AliceBob双方约定2个大整数ng,其中1<g<n,这两个整数无需保密,然后,执行下面的过程

1)   Alice随机选择一个大整数x(保密),并计算X=gx mod n

2)   Bob随机选择一个大整数y(保密),并计算Y=gy mod n

3)   AliceX发送给B,BY发送给ALICE

4)   Alice计算K=Yx mod n

5)   Bob计算K=Xy mod n

K即是共享的密钥。

       监听者Oscar在网络上只能监听到XY,但无法通过XY计算出xy,因此,Oscar无法计算出K=gxymod n

分析:

         由于对称加解密具有速度快的优势,所以大家都想用对称加密方法完成信息的加密传输。前面讲的https的密钥交换方法是通过非对称加密来完成对称密钥的传递的。但是存在着对称密钥无法动态生成,密钥有一方决定,而DH算就解决了该问题。首先能够完成密钥的协商即Alice Bob都提供参数参与到对称密钥的生成。同时监听者Oscar在网络上只能监听到XY,但无法通过XY计算出xy

0 0