暗号
ディフィー・ヘルマン鍵交換
別称: DH, DHKE
定義
離散対数問題の困難性に基づき、二者が安全でない通信路上で共有秘密を実際に送らずに導出する公開鍵プロトコル。
1976 年に Whitfield Diffie と Martin Hellman が発表したディフィー・ヘルマン(DH)鍵交換は、信頼できないネットワーク越しに二者が共有秘密を取り決めることを可能にします。各者は秘密の指数を選び、公開パラメータ(生成元 g と大きな素数 p)から g^x mod p を計算し、得られた公開値を交換した後、受け取った値に自分の指数を乗ぜることで両者が同じ g^xy に到達します。安全性は離散対数問題に関連する計算量的 DH 仮定に依存します。素の DH は認証を提供せず中間者攻撃に脆弱なため、TLS、IPsec、SSH などでは署名や証明書で交換を認証し、Perfect Forward Secrecy のために DHE や ECDHE といった一時鍵方式を採用します。現代の実装は速度と短いメッセージのため X25519 や X448 など楕円曲線版を多用します。
例
- TLS 1.3 は前方秘匿性のため、すべてのハンドシェイクで (EC)DHE を必須としている。
- Signal プロトコルはトリプル DH を組み合わせた X3DH ハンドシェイクを採用している。
関連用語
ECDH
ディフィー・ヘルマン鍵交換の楕円曲線版で、より短い鍵長と高速な演算で同等の共有秘密を導出するプロトコル。
公開鍵暗号方式
公開鍵と秘密鍵のペアを用い、事前共有の秘密なしに暗号化・鍵交換・電子署名・認証を実現する暗号学の分野。
非対称鍵暗号
数学的に対応した鍵ペア(暗号化用の公開鍵と復号用の秘密鍵)を用い、事前の秘密共有なしに安全な通信を可能にする暗号方式。
完全前方秘匿性(PFS)
長期鍵が将来漏洩しても過去のセッション通信が復号されないことを保証するプロトコル特性。
楕円曲線暗号(ECC)
有限体上の楕円曲線の代数構造に基づく公開鍵暗号の総称で、RSA と同等の安全性をはるかに小さな鍵長で実現する。
セッション鍵
1 回の通信セッションを保護するために使われ、終了後に破棄される短命の対称鍵。