こんにちは、decoponです。
「公開鍵と秘密鍵って、どっちがどっちで、誰が持ってて、いつ何のために使うの?」
セキュリティの勉強を始めたての頃、この辺りがまるで混乱の海でした🌊
- 「そもそも“鍵を分ける”ってどういうこと?」
- 「暗号化と復号で鍵が違うってどうして…?」
- 「電子署名になるとさらに頭が追いつかない!」
私もそんな風に混乱していたので、今回は 「公開鍵暗号方式の概念」や「登場人物たちの関係性」 を、
図とたとえ話まじりでゆるっと整理してみたいと思います!
🗝️ 鍵の種類:まずは用語から整理
| 鍵の名前 | 持ち主 | 説明 |
|---|---|---|
| 公開鍵(Public Key) | 誰でも手に入れてOK | 相手に配ってもいい鍵です |
| 秘密鍵(Private Key) | 絶対に他人に見せない | 自分だけが持っておく鍵です |
この2つはセットで生成され、どちらかで暗号化すると、もう一方でしか復号できません。
それが公開鍵暗号方式の仕組みです🔄
✉️ 使い方①:安全にメッセージを送りたいとき(暗号通信)
登場人物:
- 送信者:アリス
- 受信者:ボブ(←カギの持ち主)
💡 やりたいこと:
アリスがボブにこっそりメッセージを送りたい!
💬 どうするか?
- ボブは自分の公開鍵をアリスに渡す
- アリスはその鍵でメッセージを暗号化
- ボブだけが持ってる秘密鍵で復号できる!
🎁 結果:アリスの思いはボブだけに届きました(ハッカーさんには読めません)
✍️ 使い方②:送信者が「私が書きました!」と証明したい(電子署名)
登場人物:
- 送信者:アリス
- 受信者:ボブ
💡 やりたいこと:
「このメッセージ、確かにアリスが書いたよ」と証明したい!
💬 どうするか?
- アリスが自分の秘密鍵で署名を作成(=“暗号”をかける)
- ボブはアリスの公開鍵で復号して確認
- 開けたら「あ、本当にアリスしか書けないやつだ」と納得!
🎁 結果:改ざんされてない&本人が書いたと証明できた!
😵 ややこしいポイントと覚え方
- 「暗号化」は相手の公開鍵を使う(相手しか読めない)
- 「署名」は自分の秘密鍵を使う(誰でも検証できる)
🔁つまりこう👇
| 目的 | 誰の鍵を使う? | 使うのは…? |
|---|---|---|
| 内容の秘密を守りたい | 相手の公開鍵 | 自分が暗号化する |
| 自分が書いたと証明したい | 自分の秘密鍵(署名)+公開鍵(検証) | 自分が署名、相手が検証 |
🧠 おわりに:カギの持ち主と使い方を整理するだけで、世界が変わった
最初は「鍵?どれ?誰?」と何度も読み返していたのですが、
「誰が何をしたいのか」→「そのために誰の鍵を使うのか」
とシンプルに整理するだけで、一気に視界が晴れました。
電子署名は試験でも超定番の出題テーマなので、
迷わずに「はいはい、自分の秘密鍵で署名ですね!」と答えられるようにしておきたいですね😊
📗 次回予定
→ #03「パスワード攻撃いろいろ図解してみた」
ハッシュ総当たり、辞書攻撃、リバースブルートなど…