🐾 この記事の3秒まとめ
- 2000年来の難題:「秘密の鍵を安全に渡す」ことは、スパイ映画さながらの命がけの作業だった。
- DH法の革命(1976年):盗聴されても大丈夫な公開回線上で、二人だけの秘密を数学的に生み出せる魔法が誕生した。
- 現代の標準:スマホ時代に合わせて軽量化された「ECDHE」がTLS 1.3の心臓部として、今このページの通信も守っている。
- この技術の先に:「誰にも管理されない鍵」という発想が、後のビットコインの思想的基盤になった。
インターネットを安全に使うために欠かせない「暗号技術」。その中でも極めて重要なテーマが「鍵の共有」です。
🌱 なぜ鍵のやりとりは難しいの?-鍵配送問題のジレンマ

そもそも“鍵のやりとり”がどうしてそんなに問題になるの?

相手と“安全に”鍵を共有するって、実は完全な「堂々巡り」になってしまうからなんだ。
共通鍵暗号では、送信者と受信者が同じ鍵を事前に共有している必要があります。これを学術的に「鍵配送問題(Key Distribution Problem)」と呼びます。
😱 鍵配送問題のジレンマ
- 暗号化された通信をするには「秘密の鍵」を事前に共有する必要がある。
- しかし「秘密の鍵」を安全に送るには、すでに安全な通信路が必要。
- 安全な通信路があるなら、最初から暗号鍵など送る必要がない——!
📜 2000年間誰も解けなかった「歴史の苦労」
DH法という魔法が登場する前、人々は「鍵を安全に渡す」だけのために、スパイ映画のような命がけの苦労をしていました。
外交暗号書(コードブック)の運搬
第一次・第二次世界大戦時代まで、各国の外交官や軍は「コードブック」と呼ばれる暗号化記号集を使っていました。これを安全に配布するための苦労は壮大でした:
- 外交ポーチ:外交官特権により荷物検査が禁止された外交用かばん(鎖で手首につながれる)でコードブックを運搬
- 重りと沈没:船でのコードブック運搬時に「船が攻撃されたら必ず海に沈める」義務。1914年8月にドイツ巡洋艦「マクデブルク」がバルト海で座礁し、ロシア海軍が溺死したドイツ水兵の遺体からコードブックを回収、これをイギリスに共有しました。
- コードブックの寿命:本が奪われると全ての暗号が解読されるため、数ヶ月ごとに全世界の拠点に新しいコードブックを配布——膨大なコストと危険が伴いました。
OTP(ワンタイムパッド):完全な秘匿性だが最悪の鍵配送問題
ワンタイムパッドは理論的に解読不可能です(1949年シャノンが証明)。ただし等量の乱数鍵を事前に安全に渡す必要があります——「送信するデータと同じ量の鍵を事前に物理的に配達する」という本末転倒な問題が生じます。
⚠️ OTPの究極の矛盾
100GBの機密映像を送りたい → 100GBの乱数鍵が必要 → その100GBを安全に相手に手渡しする必要がある → 「なら最初から100GBの映像の入ったハードディスクを手渡しすればよくない?」
冷戦時代、米ソの首脳間のホットライン(1963年設置)にはOTPが使われていました。外交官が物理的にパッドを手渡し、使ったページは焼却処分するという手続きが必要でした。
n人通信での鍵の爆発的増加
共通鍵暗号でn人が全員ペアで通信するには n(n-1)/2 個の鍵が必要です:
- 2人なら:1つの鍵
- 10人なら:45つの鍵
- 100人なら:4,950つの鍵
- 1億人(インターネット)なら:約5,000兆個の鍵 —— 管理不可能!
鍵配布センター(KDC)アプローチの限界
信頼できる第三者が全員の鍵を管理する「鍵配布センター」方式は軍や政府組織で試みられましたが、中央集権の限界にぶつかります。
- KDCが全ての通信を復号できる(プライバシーなし)
- KDCが攻撃されると全ての通信が危険に(単一障害点)
- 「そもそもKDCを誰が管理するのか?」という信任問題

これじゃあ、初めて使うショッピングサイトやAmazonと通信するなんて絶対に無理だね……。

そう!この2000年間誰も解けなかった「絶望的な状況」を、たった一発の数学のアイデアでひっくり返したのが、次のDH法なんだ🐾
🔁 1976年の大革命!Diffie-Hellman(DH)鍵共有法
1976年、ホイットフィールド・ディフィーとマーティン・ヘルマンが「公開された情報をやり取りするだけで、お互いに共通の秘密を生成できる」という魔法のような数学的トリックを発見しました。これが「Diffie-Hellman(DH)鍵共有法」です。
カラーミックス(色の混合)で理解するDH法
数式の代わりに「絵の具の色の混合」の比喩を使うと、その不思議な仕組みが直感的にわかります。
- アリスとボブが公開の場で「黄色」という共通ベース色に合意する(盗聴されてもOK)。
- アリスは自分の秘密色「青」を混ぜて「黄緑」を作り、ボブに送る。
- ボブは自分の秘密色「赤」を混ぜて「橙」を作り、アリスに送る。
- アリスは、受け取った「橙」に自分の秘密色「青」を混ぜる → 「黄+赤+青」の混合色が完成。
- ボブは、受け取った「黄緑」に自分の秘密色「赤」を混ぜる → 「黄+青+赤」の混合色が完成。
- 結果:アリスとボブの手元には、まったく同じ「秘密の混合色」が完成!盗聴者が回線上の「黄色」「黄緑」「橙」を全部集めても、秘密色を分離できないため同じ色は作れません。
実際の数学:離散対数問題
DH法の実際の安全性は「離散対数問題の困難性(巨大な累乗の余りを計算するのは簡単だが、逆算するのは現実的な時間では不可能)」に基づいています。
【公開値】 素数p=23, 原始根g=5
アリスの秘密鍵:a=6 → 公開値 A = 5^6 mod 23 = 8
ボブの秘密鍵:b=15 → 公開値 B = 5^15 mod 23 = 19
アリスの計算:19^6 mod 23 = 2(共通鍵)
ボブの計算:8^15 mod 23 = 2(共通鍵) ✅見事に一致!
※実際には素数pは2048ビット以上の巨大な数が使われます。「8からa=6を逆算する」ことは現代のスーパーコンピュータでも困難です。
🎭 DH法の唯一の弱点と「RSA暗号」の誕生
まさに魔法のようなDH法ですが、実は「中間者攻撃(Man-in-the-middle attack)」に弱いという致命的な弱点がありました。
😈 中間者攻撃(MITM)の恐怖
アリスがボブに「黄緑」を送ったつもりが、途中で悪意ある第三者(イブ)が横取りし、イブが作った「偽の黄緑」をボブに送ります。DH法には「相手が本当にボブなのか?」を証明する『認証機能』が備わっていないため、アリスはイブと、ボブもイブと鍵を共有してしまい、全通信がイブに筒抜けになります。
「相手の身元をどう証明するか?」——この課題を残したDH法の論文(1976年)は世界中に衝撃を与え、多くの数学者を熱狂させました。
そして翌年の1977年、この論文に触発された3人の研究者(リベスト、シャミア、アドルマン)が、鍵共有だけでなく「身元の証明(デジタル署名)」も同時に行える決定打、RSA暗号(公開鍵暗号)を発明することになります。
DH法が切り拓いた道が、現代インターネットの土台となるRSA暗号を生み出したのです。
🔸 現代の進化:ECDHとこれからの鍵共有
DH法とRSA暗号の登場から約半世紀。現在のインターネット(TLS 1.3など)では、古典的なDH法ではなく楕円曲線ディフィー・ヘルマン(ECDH)が主流です。
📱 なぜ「楕円曲線(ECDH)」が必要なのか?
古典的なDH法やRSA暗号は「巨大な数の計算」が必要で、非常に重い処理でした。現代はパソコンだけでなく、計算力の低いスマートフォンやIoT家電が常に暗号通信を行っています。バッテリーを無駄に消費せず、一瞬で安全に通信を確立するためには、圧倒的に軽くて鍵の短い「楕円曲線(ECDH)」の技術が不可欠だったのです。
| 方式 | 鍵長(2024年安全水準) | 計算量・速度 | 現在の立ち位置 |
|---|---|---|---|
| 古典DH(有限体) | 2048〜4096ビット | 計算が重い | 徐々にレガシーシステムへ |
| ECDH(楕円曲線) | 256〜384ビット | 軽くて超高速 | ✅ TLS 1.3など現代の標準 |
📌 まとめ:DH法の誰生から現代の最前線まで
- 鍵配送問題は、「安全に鍵を送るには安全な通信路が必要」という数千年来の絶望的なジレンマだった。
- 1976年にDiffie-Hellman(DH)鍵共有法が登場し、「通信路が盗聴されていても安全に鍵を作り出せる」という数学的マジックでこれを解決した。
- DH法の弱点(認証の欠如)を克服するため、翌年RSA暗号が誕生した。
- 現在は、スマホ時代に合わせてより短く高速なECDH(楕円曲線DH)が現代インターネットの標準として私たちの生活を守っている。
- 前方秘拹性(PFS):セッションごとに使い挘て鍵(ECDHE)を使い、将来の鍵漏洩から過去の通信を守る
- TLS 1.3:ECDHEを唯一の鍵交換方式として損用。HKDFで用途別の複数鍵を安全に導出
- Signalプロトコル(Double Ratchet):WhatsApp・Signalが損用するE2EEの最前線。過去も未来も守る二重の安全性
💡 DH法が生んだ「誰にも管理されない鍵」という思想の先に……
鍵配送問題を「数学だけ」で解決したDH法の思想は、暗号資産(ビットコイン)の誕生にも深く影響しています。
👉 姉妹サイトで「中央管理不要の価値の世界」を覗いてみる
🔑 DH法を知ったあなたへ:次の3つのアクション
- アクション1: 今使っているブラウザのアドレスバーの🔒マークをクリックし、「ECDHEで保護されている」ことを確認してみる。
- アクション2: LINEの「Letter Sealing(ECDH)」やSignalのDouble Ratchetを思い出しながら、E2EEアプリを意識して選ぶ。
- アクション3: 「誰にも管理されない鍵」という思想がどこへ向かったのか、姉妹サイトでビットコインの世界を覗いてみる。
💡 もふねこのアドバイス🐾
ここから先は数学や技術が大好きな人向けの超・専門記事だよ!まずは基本のSTEP 5まで完走してから、後で戻ってくる(ブックマークしておく)ことを強くおすすめするね!
この記事(STEP 7: 鍵共有の課題)に関連する、より高度な専門技術について解説した子記事です。興味があればぜひ飛び込んでみてください🐾