web-dev-qa-db-ja.com

Diffie-Hellman鍵交換について

enter image description here

ボブとアリスがそれぞれの混合物の「公共輸送」を行うまでの図を理解しました。共通の秘密を取得するためにボブとアリスがどのような秘密の色を追加するのか(丸で囲まれた画像)

2
Computernerd

Diffie–Hellman鍵交換の領域を理解する最良の方法は、以下に説明する数学的な手順を一目で確認することです。これについて説明します。

  1. AliceとBobは、a 環状グループring (Z/pZ)*に属するランダムな整数値pを共有することに公に同意します。
  2. Alice&Bobchoose RANDOM integer numbers(それぞれaとb; {a、b}は(Z/pZ)*に属します)
  3. アリスは(g)powa(mod p)をボブに送信します
  4. ボブは(g)powb(mod p)をアリスに送信します
  5. アリスが計算する enter image description here
  6. ボブが計算する enter image description here
  7. 共有シークレットは enter image description here

しかし、あなたの質問に対する答えはどこですか?アルゴリズムの2番目のステップで強調表示されます。つまり、ボブとアリスは円で囲まれた画像を選択する方法を知らなくても、それらをランダムに

3
user45139

図はそれをかなりよく説明していると思いますが、ステップバイステップで説明します:

  1. アリスとボブの両方が共通のランダムな色を選択します。あなたの図では、それは黄色です。
  2. どちらもランダムなシークレットカラー(それぞれオレンジとグリーン)を選択します。
  3. 彼らはそれぞれランダムな色を共通の色と混ぜます。色を元の正確なコンポーネントに戻すのは非常に難しいと仮定します。
  4. 彼らはお互いに彼らの混合色を送ります。これらは公開されていますが、分離が難しいため、攻撃者はアリスとボブが選んだランダムな色を特定するのが非常に難しくなります。
  5. アリスとボブは両方とも、受け取った色と独自の秘密の色を混ぜ合わせます。各色のパスをたどると、左側のパスが黄色+オレンジ+緑で、右側のパスが黄色+緑+オレンジであることがわかります。これらは両方とも同じ緑がかった茶色の色合いになり、その結果2人の間で同じ秘密が共有されます。

これは、数学がどのように機能するかに非常によく似ています。

  1. アリスとボブは両方とも、共通の乱数pを選択します。また、これらは共通のベース値gを共有しますが、これは図には明示的に示されていません。
  2. アリスとボブはどちらもプライベートな乱数をそれぞれ選択します。これをaおよびbと呼びます。
  3. アリスとボブは、公開共通番号pを独自の秘密aおよびb値と結合しますga mod pおよびgb mod pそれぞれ。結果からaまたはbを計算することは、計算が難しい作業です。
  4. それらは互いに計算値を共有します。
  5. アリスは(gba mod p彼女の秘密の値aおよびボブの交換された値gb mod p。ボブは(gab mod p彼の秘密の値bおよびアリスの交換された値ga mod p。原則として、形式(xyzxyz。これは、アリスが(g)mod pで、ボブは(gab)mod p、これは同じ番号です。これらの同じ番号が共有秘密を形成します。
3
Polynomial

数学ではなく概念を理解したいだけの場合、それは問題ありませんが、半数学的説明をしたいと思いますが、実際には、色を使用したモデルは私を混乱させます。

アリスとボブが任意の数の乱数gに同意することを想像してください。 g = 5としましょう。ここで、それぞれが秘密の番号を選択します。アリスはa = 2を選択し、ボブはb = 3を選択します。公開番号は、アリスの場合はA = g ^ a = 5 ^ 2 = 25、ボブの場合はB = g ^ b = 5 ^ 3 = 125で計算されます。さて、アリスはB = 125を知っており、ボブはA = 25を知っています。彼らは両方とも自分の番号でこの番号を取得し、アリスはB ^ a = 125 ^ 2 = 15625を取得し、ボブはA ^ b = 25 ^ 3 = 15625を取得します。したがって、15625が共有番号です。

実際、交換を保存するにはさらにいくつかの制限が必要です。begueradjが行うように、ウィキペディアは良い説明を提供しています。

1
user2504380