迪菲-赫尔曼密钥交换 (Diffie-Hellman)
Published: Sun Feb 15 2026 | Modified: Sat Feb 07 2026 , 3 minutes reading.
迪菲-赫尔曼密钥交换 (Diffie-Hellman)
引言:“混合颜色”类比
Alice 和 Bob 想在不让 Eve(间谍)知道的情况下,商定一种秘密颜色。
- 他们先公开商定一种 基础颜色(如黄色)。Eve 也知道了这点。
- Alice 选一种 私密颜色(红),混合黄色得到橙色。她把橙色发给 Bob。
- Bob 选一种 私密颜色(蓝),混合黄色得到绿色。他把绿色发给 Alice。
- Eve 看到了橙色和绿色,但她很难通过“反向拆解”混合色来找回原始的红或蓝。
- 奇迹发生了: Alice 把自己的私密红加入 Bob 的绿色;Bob 把自己的私密蓝加入 Alice 的橙色。
- 两人现在拥有了完全相同的混合结果(棕色)! 而 Eve 手里只有没用的中间色。
迪菲-赫尔曼 (DH) 算法利用模幂运算在数学上实现了这种“混合”。
算法要解决什么问题?
- 安全握手: 允许双方在公开、被监控的互联网连接上,建立起一个共享的秘密密钥(用于后续的 AES 加密)。
- 承诺: 前向安全性 (Forward Secrecy)。即使黑客以后偷走了服务器的长期私钥,也无法解密过去的通话记录。
数学原理
- 选一个大质数 和一个生成元 (公开)。
- Alice 选秘密数字 ,发送 给 Bob。
- Bob 选秘密数字 ,发送 给 Alice。
- Alice 计算 。
- Bob 计算 。
- 由于 ,他们得到了相同的秘密 。
典型业务场景
✅ HTTPS / TLS 1.3: 这是你访问网站时建立“会话密钥”的主要方法。
✅ 端到端加密: WhatsApp 和 Signal 使用 DH 的变体(如 X3DH)确保只有发送者和接收者能读到消息。
✅ VPN: 在不同办公地点之间建立安全隧道。
❌ 身份验证: DH 算法本身 不证明身份。Eve 可能躲在中间(中间人攻击),对 Alice 假装成 Bob,对 Bob 假装成 Alice。因此,DH 必须与 数字签名 结合使用才安全。
性能与复杂度总结
- 速度: 较快,但涉及大数幂运算(见 7.1 章)。
- 变体: ECDH (椭圆曲线 DH) 是现代版本,它用更短的密钥实现了相同的安全性。
小结:一句话记住它
“迪菲-赫尔曼是互联网的‘魔镜’。它让两个人照镜子时能看到同一个秘密,而躲在背后的间谍只能看到一堆毫无意义的乱码。”
