DH鍵共有とは†
- 離散対数問題の困難性を利用した安全に鍵交換・共有するためのアルゴリズム
- Whitfield Diffie氏とMartin E. Hellman氏が考案した
DH鍵共有の呼称†
- Diffie-Hellman key exchange
- Diffie-Hellman鍵共有
- Diffie-Hellman鍵交換
DH鍵共有のフロー†
- 鍵共有を行う両者(AとB)は、下記の2つの数字を共有する
- Aは下記の手順で生成したDH公開値(p)をBに送信する
- 乱数(x)を生成する
- 公開値(p) = g ^ x mod n
- Bは下記の手順で生成したDH公開値(q)をAに送信する
- 乱数(y)を生成する
- 公開値(q) = g ^ y mod n
- Aは下記の計算で秘密対称鍵の元となる数字(a)を生成する
- Bは下記の計算で秘密対称鍵の元となる数字(b)を生成する
補足説明†
- 事前に共有する数字(n, g)は幾つかの組み合わせから選択する
- 乱数(x, y)のみが秘密の扱い
- 事前に共有した数字(n, g)と公開値(p, q)が第三者に知られても、乱数(x, y)を求めるのは困難
- 素数nの桁数が大きいほど、離散対数である乱数(x, y)を求めるのが困難になる
- 乱数(x, y)を求めるのが困難なので、数字(a, b)を第三者が知ることが困難となる
ECDH†
DH鍵共有の利用シーン†
関連サイト†
関連用語†