Diffe-Hellman
DH
算法
Diffie-Hellman
算法
要启动安全通讯,
通信两端必须首先得到相同的共享密钥
(主密钥)
,
但共享密钥不能
通过网络相互发送,因为这种做法极易泄密。
Diffie-Hellman
算法是用于密钥交换的最早最安全的算法之一。
DH
算法的基本工作原
理是:
通信双方公开或半公开交换一些准备用来生成密钥的
"
材料数据
"
,
在彼此交换过密钥
生成
"
材料
"
后,
两端可以各自生成出完全一样的共享密钥。
在任何时候,
双方都绝不交换真
正的密钥。
通信双方交换的密钥生成
"
材料
"
,
长度不等,
"
材料
"
长度越长,
所生成的密钥强度也就
越高,密钥破译就越困难。
除进行密钥交换外,
IPSec
还使用
DH
算法生成所有其他加密密
钥。
G=4
P=10
甲方
选取一个号码
乙方
选取一个号码
从
1
到(
P
-
2
)任取一个数做为甲
PrivateNo
从
1
到(
P
-
2
)任取一个数做为乙
PrivateNO
对
G
作‘甲
PrivateNO
’次方
除
P
取余
对
G
作
‘乙
PrivateNO
’次方
除
P
取余
=甲
PublicNO
=乙
PublicNO
对‘乙
PublicNO
’作‘甲
PrivateNO
’
次方
对‘甲
PublicNO
’作‘乙
PrivateNO
’次方
除
P
取余
=
SharedNO
除
P
取余
=SharedNo
甲取
PrivateNo
=
4
,乙取
PrivateNo
=
3
----这是双方的私钥,不公开
甲算出公钥
对
g
做
4
乘方
然后除以
p
结果为
6
乙算出公钥
对
g
做
3
乘方
然后除以
p
结果为
4
甲乙互换公钥
甲算出共享密钥
对乙的公钥
4
做
4
乘方
除以
P
取余
结果为
6
乙算出共享密钥
对甲的公钥
6
做
3
乘方
除以
P
取余
结果为
6
就这样获得了相同的共享密钥
如果觉得《dh算法 理论依据_DH算法》对你有帮助,请点赞、收藏,并留下你的观点哦!