迪菲-赫爾曼金鑰交換 (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) 是現代版本,她用更短的金鑰實現了相同的安全性。
小結:一句話記住它
「迪菲-赫爾曼是網際網路的『魔鏡』。她讓兩個人照鏡子時能看到同一個秘密,而躲在背後的間諜只能看到一堆毫無意義的亂碼。」
