FIG-019

公開鍵暗号 — 盗聴者の前で南京錠を配る

セキュリティ 2026.06.15 公開 読了 約11分

アリスはボブに秘密のメッセージを送りたい。でも2人をつなぐ線の途中には、通信を丸ごとのぞき見している盗聴者がいます。鍵をかけて送ろうにも、その鍵自体をどうやって相手に渡すのか — 鍵を線で送れば、盗聴者にコピーされてしまいます。

この「ニワトリが先か卵が先か」を解くのが公開鍵暗号です。カギは「閉める鍵」と「開ける鍵」を別々にすること。下の図1を「進む」で1歩ずつ追ってみてください。盗聴者には何が見えていて、なぜ読めないのかに注目を。

🙂
アリス送る人
🧑
ボブ受け取る人
🗝️ ボブの秘密鍵門外不出
🕵️
盗聴者
🔍 盗聴者に見えているもの 線にはまだ何も流れていない
STEP 1 / 7
秘密を送りたい。でも線は筒抜け
アリスはボブにメッセージを送りたいのですが、2人をつなぐ線は盗聴者にすべて見られています。普通の鍵で施錠しても、その鍵を相手に届ける途中で盗まれてしまいます。
図1 — 公開鍵暗号の鍵渡し(南京錠のたとえ)

カギは「閉める」と「開ける」を分けたこと

秘密のやりとりに使ったのは、ボブが配った開いた南京錠(公開鍵)でした。これは誰にコピーされても困りません。なぜなら、南京錠は「閉める」ことしかできないからです。一度パチンと閉めた箱は、ボブだけが持つ鍵(秘密鍵)でしか開きません。施錠したアリス本人ですら、もう開けられません。

だから盗聴者が線の上で見られるのは「開いた南京錠」と「閉じた箱」だけ。どちらを手に入れても、開ける鍵がない以上、中身は読めないのです。秘密にすべき鍵を一度も線に流さなかった — これが安全のしくみです。

用語ミニ辞書
公開鍵
誰に配ってもよい「閉める専用」の鍵。たとえでは開いた南京錠。
秘密鍵
自分だけが持つ「開ける」鍵。絶対に渡さない。
共通鍵暗号
閉めるも開けるも同じ1本の鍵を使う方式。速いが鍵の受け渡しが課題。

まとめ

公開鍵暗号は遅いので、実際の通信(HTTPSなど)では合わせ技を使います。まず公開鍵暗号で「共通鍵(1本の速い鍵)」を安全に相手へ渡し、そのあとの本文のやりとりは速い共通鍵暗号で行う — というハイブリッド方式です。「鍵をどう安全に渡すか」という最初の難問さえ解ければ、あとは速い方式に任せられる、というわけです。