Diffe_Hellman(迪菲-赫尔曼)算法

Diffe_Hellman算法

1、Diffe_Hellman算法概念
Diffe_Hellman(迪菲-赫尔曼)算法也叫DH算法是Whitefield Diffie和Martin Hellman在1976年公布的一种密钥交换算法或者说是一种密钥交换协议,它是一种建立密钥的方法,而不是加密方法,所以密钥必须和其他一种加密算法结合使用。这种密钥交换技术的目的在于使双方在不泄露密钥的情况下协商出一个密钥来方便之后的数据加解密。

Diffie-Hellman密钥交换算法的有效性依赖于计算离散对数的难度。
简言之,可以如下定义离散对数:首先定义一个素数p的原根a,为a各次幂产生从1 到p-1的所有整数根,也就是说,如果a是素数p的一个原根,那么数值
b1 = a1 mod p,
b2 = a2 mod p,
……,
bp = ap-1 mod p

是各不相同的整数,并且以某种排列方式组成了从1到p-1的所有整数。

而对于一个整数b和素数p的一个原根a,可以找到惟一的指数i,使得
b=ai mod p, (0<=i<=p-1)
指数i称为b的以a为基数的模p的离散对数或者指数。该值被记为inda ,p(b)。

2、Diffe_Hellman算法过程描述
以Alice和Bob利用Diffie-Hellman 密钥交换算法交换密钥的过程来说明该算法:
(0)前提说明,Alice和Bob都知道密钥交换过程中需要用到的素数p和p的一个原根a,这两个值可以由发起通信的那一方选择并发送给通信的另一方。
(1)Alice选择自己私钥Sa,计算出自己的公钥,Pa = aSa mod p,然后把Pa传给Bob;
(2)Bob选择自己私钥Sb,计算出自己的公钥,Pb = aSb mod p,然后把Pb传给Alice;
(3)Alice根据Bob的公钥、自己的私钥、P和a计算出用于对称加密的加密密钥,K = PbSa mod p;
(4)Bob根据Alice的公钥、自己的私钥、P和a计算出用于对称加

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ruiurrui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值