Diffie-Hellman密钥交换(DHKE)是由Whitfield Diffie和Martin Hellman在1976年提出的。密钥交换方案提供了实际中密钥分配问题的解决方案,即允许双方通过不安全的信道进行交流获得一个共同密钥。许多公开和商业密码协议中都实现了这种基本的密钥协议技术,比如安全外壳(SSH),传输层安全(TLS)
DHKE的基本思想为Z∗p内的指数运算(p是素数)是单向函数,并且该指数运算是可交换的:
k=(ax)y=(ay)x mod p
Diffie-Hellman握手协议
- 选择一个大素数p
- 选择一个整数 α∈{2,3,⋯,p−2}
- 公开p和α
p和α两个值有时也称为域参数。如果Alice和Bob都知道握手阶段计算得到的公开参数p和α,则他们就可以使用下面的密钥交换协议生成以一个联合私钥k:
Diffie-Hellman密钥交换
- Alice选择则一个α=kpr,A∈{2,⋯,p−2}
- Bob选择一个b=kpr,B∈{2,⋯,p−2}
- Alice计算A=kpub,A=αa mod p,将kpub,A传递给Bob
- Bob计算B=kpub,B=αb mod p,将kpub,B传递给Alice
- Alice计算KAB=kkpr,Akpub,B≡Ba mod p
- Bob计算KAB=kkpr,Bkpub,A≡Ab mod p

本文介绍了由Whitfield Diffie和Martin Hellman提出的Diffie-Hellman密钥交换(DHKE)的基本原理及其应用。DHKE是一种允许双方通过不安全的信道协商出一个共同密钥的技术,在许多公开和商业密码协议中都有实现,如SSH和TLS等。文章详细解释了DHKE的工作流程和数学基础。
255

被折叠的 条评论
为什么被折叠?



