非对称dh

王朝百科·作者佚名  2010-01-16
窄屏简体版  字體:   |    |    |  超大  

1、DH:非对称加密算法,安全性基于在有限域中计算离散对数的难度。可用于密钥分发,但不能用于加/解密报文。

2、Diffie-Hellman算法(D-H算法)概念:D-H加密算法的核心思想就是大素数不可分解质因数的数学理论方法。其基本原理是: 取一个大素数P,较小数r(r是P的一个原根),数字A(A介于1到P之间)。则获得公钥K:

K=r^A/P

(公钥K为r的A次方结果对P取模)

由于,较小数r(r是P的一个原根),

则r^1、r^2、r^3、r^4、......r^(P-1)分别模P都不相同,

则当我们知道P、r、r^A,则很难用数学方法推到出A的方法。

3、DH算法是基于中国的同余定理

中国馀数定理源出三国或晋朝的"孙子算经",其中有一题:今有物不知其数,三三数之剩2,五五数之剩3,七七数之剩2,问物几何?

以同馀式表之,即 解,孙子算经中给出答案x=23

一元一次联立同馀式,後世称为"大衍",其解法称为"大衍求一术",到宋代秦九韶(1202~1261年)集大成同余中的一些定理

我们再来看看DH是怎么计算出共享密钥的

以下各试“=“均读作同余,且假定A和B生成的g和p均相同,至于为什么这里就不做讨论了

首先A先计算X = g^a mod p

B 计算Y= g^b mod p

然后A和B交换X和Y

这样A就得到了Y,通过通余定理:

因为Y= g^b mod p

所以Y^a=(g^b)^a mod p

=g^(ba) mod p

同理B计算出: X^b=g^(ab) mod p

显然,这里Y^a=X^b

也就是说A和B计算出一个只有他们知道的相同的共享密钥了

当然如果有个第三者他只知道X,Y他在有限的时间内是算不出a和b的,至于为什么,因为我不是数学家所以我也不知道(上面的公式也是我想了n久才想通的)

以上就是我对DH算法的一些总结,希望这些东西对大家理解IPsec VPN有所帮助

因为Y= g^b mod p

所以Y^a=(g^b)^a mod p

=g^(ba) mod p

通余定理的公式符号表示的不完整,大家容易产生误解,改后:

如果Y≡g^b mod p(就是Y mod p = g^b mod p)

那么Y^a≡(g^b)^a mod p (就是Y^a mod p = (g^b)^a mod p)

这样就没问题了。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航