Diffie-Hellman密钥交换
Diffie–Hellman(DH)密钥交换(1976)让双方在不安全的信道上协商出共享密钥,是第一个公开的公钥协议。它无需分发秘密,只靠公开参数与各自私密的选择,安全性建立在离散对数问题的困难性上。
协议
公开参数:大素数 与模 的原根 。
- Alice 选私密数 ,发送
- Bob 选私密数 ,发送
- 双方各自计算共享密钥
窃听者看到 ,要恢复 需解离散对数(DLP)或 Diffie–Hellman 问题(CDH),目前没有多项式算法(见离散对数问题)。
示例
取 ,,Alice 选 ,Bob 选 :
共享密钥 。
安全注意
- 需配合认证(如数字签名)抵御中间人攻击:未认证的 DH 中攻击者可替换
- 实际使用常选安全素数,使 生成大素数阶子群,避免小子群攻击
应用
DH 是 TLS、SSH、IPsec 等协议中密钥交换的基础;其椭圆曲线版本 ECDH 见椭圆曲线密码学。
链接到当前文件 2