より安全な鍵生成方法Diffie-Hellman

より安全な鍵生成方法Diffie-Hellman

先にキー配布の問題についてお話しましたが、この世界はとても危険です。誤って通信回線を聞いてしまった場合、この安全でない回線を介してキーを渡すにはどうすればよいでしょうか。

ここでは、Diffie-Hellman鍵交換アルゴリズムを紹介します。このアルゴリズムは、1976年にWhitfield DiffieとMartin Hellmanが共同で発明したアルゴリズムです。

このアルゴリズムにより、2つのパーティは共通の情報を交換して共有キーを生成するだけで済みます。すごいですか?

具体的な手順を見てみましょう。

上の図はDiffie-Hellman鍵交換アルゴリズムです。xがyにメッセージを送信する場合、上記のアルゴリズムを使用すると、次の手順が必要になります。

  1. 2つの共有素数GとPを生成し、xとyでこれら2つの数を共有します。

Pは非常に大きな素数、GはPのジェネレーターです(ジェネレーターのパワーは1〜P-1の数値と1対1で対応しています)。

これら2つの数値GとPは、秘密にしておく必要はありません。盗まれても関係ありません。

  1. xは乱数xを生成しますが、これはxだけが知ることができます。Aは1からP-2までの整数です。
  2. yは乱数yを生成します。これはyだけが知ることができます。Bは1からP-2までの整数です。
  3. x G A mod Pの結果をyに送信します。結果は機密ではありません
  4. y G B mod Pの結果をxに送信します。結果は機密ではありません
  5. x手順5の結果と乱数Aを使用して、最終的な共有キーを計算します(G B mod P)A mod P = G A * B mod P
  6. y及び最終的な共有鍵(G計算するステップB 4の結果を使用して乱数A MOD P)B MOD P G = A * B MOD Pを

6と7で計算された最終的なキーは同じであることがわかります。

次に、Diffie-Hellmanアルゴリズムのセキュリティについて説明します。

このアルゴリズムでは、外部に公開される変数はP、G、GA A mod PおよびG B mod Pです。

これらの4つの変数に基づいて最終的なG A * B mod P を生成することは非常に困難です

この問題には離散対数問題が含まれており、解決するのは非常に困難です。したがって、Diffie-Hellmanアルゴリズムは非常に安全であると考えることができます。

詳細については、http://www.flydean.com/diffie-hellman/をご覧ください。

おすすめ

転載: www.cnblogs.com/flydean/p/diffie-hellman.html