ディフィー・ヘルマン:混色で鍵共有
秘密の数を交換せずに同じ鍵にたどり着く (gᵃ)ᵇ = (gᵇ)ᵃ mod p を、絵の具の混色と剰余演算で同時に体感します。
アリスとボブは、盗聴されている回線を使って、誰にも知られない共通の鍵(秘密の色)を作りたい。
コツは「混ぜるのは簡単、分けるのは難しい」という一方向性です。共通の色(公開のベース色
数の世界では「混ぜる」がべき乗の剰余
コツは「混ぜるのは簡単、分けるのは難しい」という一方向性です。共通の色(公開のベース色
g)に、各自の秘密の色を混ぜて送り合い、受け取った色にもう一度自分の秘密を混ぜると、二人だけが同じ色=共有鍵に到達します。数の世界では「混ぜる」がべき乗の剰余
gˣ mod p。盗聴者イヴには公開値しか見えず、秘密の指数を取り出す(離散対数)のが困難なため鍵は守られます。
公開パラメータ(みんなが見られる)
23
5
秘密の指数(本人だけが知っている)
6
15
盗聴者イヴ:公開値から秘密を当てられる?
A = gᵃ mod p
—
B = gᵇ mod p
—
アリス Bᵃ mod p
—
ボブ Aᵇ mod p
—
混色のメタファー(混ぜる=簡単 / 分ける=困難)
公開回線でのやりとり(イヴに見えるのは公開値だけ)
いま何が起きている?
ここがポイント
- (gᵃ)ᵇ = (gᵇ)ᵃ = gᵃᵇ mod p ── 混ぜる順番に関係なく二人は同じ色(鍵)に到達する。
- 公開されるのは A, B, g, p のみ ── 秘密の指数 a, b は回線に流れない。
- 一方向性(混色=離散対数) ──
gˣ mod pは計算しやすいが、結果 A から x を逆算するのは難しい。 - 共有値はそのまま使わずハッシュして鍵に ── 1ビットの違いが全体に拡散する(雪崩効果)様子をトイハッシュで確認。