公開鍵暗号とディジタル署名の可視化 — どの鍵を使う?
公開鍵暗号でいちばん混乱するのが「どの場面で、誰の、どっちの鍵を使うか」。合言葉は「暗号化は“相手”の公開鍵、署名は“自分”の秘密鍵」。下で実際に鍵を選んでみて、正解・不正解とその理由を体感してください。ペアの鍵は「片方でかけたものは、もう片方でしか開けない」関係です。
👩 Alice(送信者)
🔓 Aliceの公開鍵(みんなに配る)
🔑 Aliceの秘密鍵(本人だけ)
🔑 Aliceの秘密鍵(本人だけ)
🧑 Bob(受信者)
🔓 Bobの公開鍵(みんなに配る)
🔑 Bobの秘密鍵(本人だけ)
🔑 Bobの秘密鍵(本人だけ)
問題
使う鍵をクリック:
合言葉:暗号化は“相手”の公開鍵 / 署名は“自分”の秘密鍵
2つの目的で、鍵の使い方が「逆」になる
ペアの公開鍵と秘密鍵は、片方でかけたものは、もう片方でしか開けません。この性質を、目的に応じて逆向きに使い分けます。
| 目的 | かける側が使う鍵 | 開く/検証する側の鍵 | 守れるもの |
|---|---|---|---|
| 暗号化(内容を秘密に) | 受信者の公開鍵 | 受信者の秘密鍵 | 盗聴されない(機密性) |
| ディジタル署名(本物と証明) | 送信者の秘密鍵 | 送信者の公開鍵 | なりすまし・改ざん防止 |
なぜ暗号化は「相手の公開鍵」なのか
受信者(Bob)の公開鍵で暗号化すれば、対応するBobの秘密鍵を持つBobだけが復号できます。秘密鍵はBob本人しか持たないので、盗聴者には開けません。公開鍵は誰でも入手できますが、「かける」専用なので配ってOKです。
なぜ署名は「自分の秘密鍵」なのか
送信者(Alice)の秘密鍵はAliceしか持っていないので、それで署名できるのはAliceだけ。受け取った人はAliceの公開鍵で検証し、「確かにAliceが署名した」「途中で改ざんされていない」を確認できます。もしメッセージが1文字でも変われば署名と一致せず、改ざんが検知されます。この署名の考え方は、認証局(CA)が証明書に署名する仕組みそのものです(証明書チェーン検証)。
🔒 実際の通信での使われ方を見るなら:TLSで公開鍵と共通鍵をどう使い分けるかは SSL/TLSの可視化、CAの署名を下からたどる検証は 証明書チェーン検証の可視化、証明書全体の解説は ディジタル証明書の記事 をどうぞ。
基本情報技術者試験ではこう出る
「公開鍵暗号で暗号化に使う鍵は(→受信者の公開鍵)」「ディジタル署名で署名に使う鍵は(→送信者の秘密鍵)」「署名の検証に使う鍵は(→送信者の公開鍵)」が超定番です。暗号化=相手の公開鍵、署名=自分の秘密鍵——この対応を、上のクイズで手を動かして覚えれば確実に得点できます。