技能一覧 › 大学数学 暗号理論

ディフィー・ヘルマン鍵共有

公開パラメータ と秘密の整数 から , を作り、共有鍵 を求められる

前提

この技能までの道筋(19 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 分数のたし算・ひき算 (算数 計算と数のきまり)
  2. 小数の四則計算 (算数 計算と数のきまり)
  3. 正負の数の加法・減法 (中学数学 数と式)
  4. 分数のかけ算・わり算 (算数 計算と数のきまり)
  5. 四則の混じった計算の順序 (算数 計算と数のきまり)
  6. 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
  7. 分配法則を使った計算のくふう (算数 計算と数のきまり)
  8. 文字式の計算(同類項・分配法則) (中学数学 数と式)
  9. 乗法公式による展開 (中学数学 数と式)
  10. 因数分解 (中学数学 数と式)
  11. 約数の見つけ方 (算数 整数の性質)
  12. 文字式で表した整数の性質 (中学数学 数と式)
  13. 余りによる整数の分類 (数学A 整数の性質)
  14. 樹形図で数え上げる (算数 場合の数)
  15. 積の法則と和の法則 (算数 場合の数)
  16. 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
  17. 合同式 (数学A 整数の性質)
  18. n 進法 (数学A 整数の性質)
  19. 繰り返し二乗法によるべき剰余 (大学数学 暗号理論)

説明

ディフィー・ヘルマン鍵共有を使うと、盗聴されているかもしれない通信路の上で、2 人が同じ秘密の数(共有鍵)を作れます。公開パラメータ と、各自が手元だけに持つ秘密の整数 から、送り合う数 と共有鍵 を計算します。計算の中身は、繰り返し二乗法によるべき剰余を何回か行うことです。暗号通信の最初に鍵を決める場面で使われます。

なぜそうしてよいのか

アリスとボブは、素数 と を満たす整数 を公開して共有します。アリスは秘密の整数 、ボブは秘密の整数 を選びます(ふつう の範囲から選びます)。アリスは を、ボブは を計算し、 だけを相手に送ります。

合同式では、 ならば が成り立ちます(合同式どうしは掛け算できるためです)。そこで、アリスは受け取った を自分の秘密 乗して を得ます。ボブも を得ます。指数法則 のおかげで、2 人は相手の秘密を知らないまま、同じ数 にたどり着きます。

盗聴者に見えるのは だけです。 を作るには か が必要ですが、 となる を から逆算する問題(離散対数問題)は、 が十分大きいと現実的な時間では解けないと考えられています。一方、正しい手順で を計算する側は、繰り返し二乗法を使えば速く計算できます。この「順方向は易しく、逆方向は難しい」という差が、安全性の根拠になっています。

手順

  1. 公開パラメータ と、2 人の秘密の整数 を確認する。

  2. アリスが送る値 を繰り返し二乗法で求める( の余りにする)。

  3. ボブが送る値 を同じように求める。

  4. アリス側の共有鍵 を計算する(相手の値を自分の秘密乗する)。

  5. 検算として、ボブ側の も計算し、 と一致することを確かめる。

例題

公開パラメータを , とする。アリスの秘密の整数を 、ボブの秘密の整数を とするディフィー・ヘルマン鍵共有で、共有鍵 ()を求めよ。

例題の解答

手順 1: , , , である。

手順 2: を求める。(2 進法で )である。、 なので、。よって 。

手順 3: を求める。()である。 なので、。 より 。

手順 4: アリス側で を計算する。 なので、、。よって 。

手順 5: ボブ側で を計算して検算する。、、 なので、。2 人の値が一致した。

したがって 。

答え:

よくある誤り

この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。

入口の問題

この技能を使う問題

この技能の次に学べること