【信息安全】DHP

DHP,全称是Diffie Hellman Protocol,是一种交换密钥的方式。

在私钥加密体系中,密钥是非公开的,加密和解密使用的是同一个密钥,那么如何传递密钥?DPH提供了在公共channel传递密钥的方法。

假设A和B要通信,那么二者传递key的方式如下:

先选择质数p和底数g,公开。

(1)A产生一个随机数a,a是保密的。

(2)A发送A = g^a % p给B。

(3)B也产生一个随机数b,发送B = g^b % p给A。

(4)A 使用 a计算key,key=B^a % p

(5)B 使用 b计算key,key=A^b % p。

其中a,b是private的,A,B,p,g是public的。


(1)正确性证明,即B^a % p = A^b % p。

B^a % p = (g^b % p)^a % p = (g^b - kp)^a % p = g^(ab) % p; 同理A^b % p = g^(ab) % p ,得证。

注:(a % p)^b % p = a^b % p。利用二项式展开。

(2)破解的可能性,必须得到a或者b,a和b都是余数方程,那么是一个不定方程,存在两个未知数,通常p和a都是很大的数字,这个方程是很难解的。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值