码迷,mamicode.com
首页 > 其他好文 > 详细

Diffie-Hellman协议

时间:2017-11-02 11:24:00      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:计算   排列   特性   密钥   产生   最好   mil   span   bsp   

看完后不禁让人感叹的神奇算法。

提出该协议的两人,Whitefield Diffie和Martin Hellman于2015年荣获图灵奖。

核心思想:利用原根与离散对数的特性,在双方第一次接触时即可产生一个密钥,

     特点是,在不传输密钥的条件下,通信双方又能知道他们两人的共享密钥是什么。

      由此避免了第三方获知密钥。

这里首先借用百科对原根和离散对数进行一个解释:

如果a是素数p的一个原根,那么数值 a mod p,a2 mod p,...,ap-1 mod p 是各不相同的整数,

并且以某种排列方式组成了从1到p-1的所有整数. 对于一个整数b和素数p的一个原根a,可以找到惟一的指数i,

使得 b = a^i mod p 其中0 ≤ i ≤ (p-1) 指数i称为b的以a为基数的模p的离散对数或者指数.该值被记为inda,p(b).

 

通信双方:Alice、Bob。

实现过程:

(1):Alice与Bob选择一个较大的素数q,和q的一个原根a,a最好尽可能的小,因为这样能产生更多的排列组合。

(2):Alice选择一个随机数XA作为私钥,并且计算YA=axA modq,YA是公开的。

(3):Bob选择一个随机数XB作为私钥,并且计算YB=axA modq,YA是公开的。

(4):Alice与Bob分别计算K=(YBA modq,K’=(YAXB modq,由模数计算性质可得K=K‘

K即为共享密钥。

Diffie-Hellman协议对第三方攻击和重放难以防御。

 

Diffie-Hellman协议

标签:计算   排列   特性   密钥   产生   最好   mil   span   bsp   

原文地址:http://www.cnblogs.com/hhjfighting/p/7770891.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!