DH密钥交换

时间:2023-12-11 23:40:02

DH密钥交换

密模运算

所谓幂模,就是先做一次幂运算,再做一次模运算。

DH密钥交换

模运算有以下性质:DH密钥交换

也就是说,先模再乘和先乘再模,只要最后都模了同一个模数,结果都是一样。

有了这个性质,我们首先得到幂模运算的这种两次运算交换律。

DH密钥交换

单向性

已知 g 和 n 容易计算得到 y ,而已知 g 和 y 很难求得 x 。

DH密钥交换

举个例子说明:

DH密钥交换

这个显示结果的最后一列,也可以再次印证欧拉定理。

DH密钥交换

DH密钥交换

由于到目前位置都没有一个很好的求解离散对数的算法,只有正向一个一个的试 才能找到那个满足条件的 x 。

DH密钥交换

DH密钥交换

由于幂模运算的单向性,离散对数和大整数素因子分解一样都是一种陷门函数,所以同样可以基于幂模运算设计一套公钥密码。

假设通信双方Alice和Bob需要使用对称密码进行加密通信,对称密码所使用的密钥我们通常称为会话秘钥,那么可以用一下的DH密钥交换过程在不安全的信道上实现会话密钥的安全协商。

DH密钥交换

这个过程看起来好复杂,不是说好了要协商会话密钥的吗?这个 ka 和 kb 能确保一样吗?咱们可以来证明一下。

DH密钥交换

所以,他们协商出的会话密钥一定是相同的。