公開鍵暗号とディジタル署名の可視化 — どの鍵を使う?

公開鍵暗号でいちばん混乱するのが「どの場面で、誰の、どっちの鍵を使うか」。合言葉は「暗号化は“相手”の公開鍵、署名は“自分”の秘密鍵」。下で実際に鍵を選んでみて、正解・不正解とその理由を体感してください。ペアの鍵は「片方でかけたものは、もう片方でしか開けない」関係です。

👩 Alice(送信者)
🔓 Aliceの公開鍵(みんなに配る)
🔑 Aliceの秘密鍵(本人だけ)
🧑 Bob(受信者)
🔓 Bobの公開鍵(みんなに配る)
🔑 Bobの秘密鍵(本人だけ)

問題

使う鍵をクリック:

合言葉:暗号化は“相手”の公開鍵 / 署名は“自分”の秘密鍵

2つの目的で、鍵の使い方が「逆」になる

ペアの公開鍵と秘密鍵は、片方でかけたものは、もう片方でしか開けません。この性質を、目的に応じて逆向きに使い分けます。

目的かける側が使う鍵開く/検証する側の鍵守れるもの
暗号化(内容を秘密に)受信者の公開鍵受信者の秘密鍵盗聴されない(機密性)
ディジタル署名(本物と証明)送信者の秘密鍵送信者の公開鍵なりすまし・改ざん防止

なぜ暗号化は「相手の公開鍵」なのか

受信者(Bob)の公開鍵で暗号化すれば、対応するBobの秘密鍵を持つBobだけが復号できます。秘密鍵はBob本人しか持たないので、盗聴者には開けません。公開鍵は誰でも入手できますが、「かける」専用なので配ってOKです。

なぜ署名は「自分の秘密鍵」なのか

送信者(Alice)の秘密鍵はAliceしか持っていないので、それで署名できるのはAliceだけ。受け取った人はAliceの公開鍵で検証し、「確かにAliceが署名した」「途中で改ざんされていない」を確認できます。もしメッセージが1文字でも変われば署名と一致せず、改ざんが検知されます。この署名の考え方は、認証局(CA)が証明書に署名する仕組みそのものです(証明書チェーン検証)。

🔒 実際の通信での使われ方を見るなら:TLSで公開鍵と共通鍵をどう使い分けるかは SSL/TLSの可視化、CAの署名を下からたどる検証は 証明書チェーン検証の可視化、証明書全体の解説は ディジタル証明書の記事 をどうぞ。

基本情報技術者試験ではこう出る

「公開鍵暗号で暗号化に使う鍵は(→受信者の公開鍵)」「ディジタル署名で署名に使う鍵は(→送信者の秘密鍵)」「署名の検証に使う鍵は(→送信者の公開鍵)」が超定番です。暗号化=相手の公開鍵、署名=自分の秘密鍵——この対応を、上のクイズで手を動かして覚えれば確実に得点できます。