DH密钥交换

DH密钥交换

密模运算

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

image-20211030094017489

模运算有以下性质:image-20211030094207641

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

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

image-20211030101037868

单向性

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

image-20211030101356863

举个例子说明:

image-20211030101616197

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

image-20211030102556502

image-20211030102700424

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

image-20211030102910586

DH密钥交换

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

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

image-20211030103248469

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

image-20211030103541896

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

posted @ 2021-11-01 19:58  蘑菇西餐  阅读(278)  评论(0编辑  收藏  举报