请输入您要查询的百科知识:

 

词条 非对称dh
释义

定义

非对称DH,是安全性基于在有限域中计算离散对数的难度的一种加密算法。可用于密钥分发,但不能用于加/解密报文。DH即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的方法。

类似定理

同余定理

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

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

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

DH比对

我们再来看看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 mod p = g^b mod p)

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

这样就没问题了。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/27 7:07:19