CyberGlossary

暗号

ディフィー・ヘルマン鍵交換

別称: 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 ハンドシェイクを採用している。

関連用語