公開鍵暗号とは(全体像)
公開鍵暗号とは、「公開鍵」と「秘密鍵」という、ペアになった2つの鍵を使う暗号方式のことだ。公開鍵で暗号化し、対になる秘密鍵で復号する。代表はRSAやECCだ。
ポイントは、公開鍵は、だれに知られてもよいこと。公開鍵で暗号化したデータは、対になる秘密鍵でしか復号できないので、公開鍵を広く配っても問題ないのだ。
ここで一番のポイント。公開鍵で暗号化し、秘密鍵で復号する。「公開鍵で復号する」と思い込むと誤りで、暗号化に使うのが公開鍵、復号に使うのが(本人だけがもつ)秘密鍵だ。
詳しく:鍵配送問題の解決と、ハイブリッド暗号
ここが心臓部。ポイントを表で押さえよう。
公開鍵暗号のポイント
| 項目 | やさしい意味 |
|---|---|
| 公開鍵暗号 | 公開鍵と秘密鍵のペアを使う方式 |
| 鍵の役割 | 公開鍵で暗号化・秘密鍵で復号 |
| 長所 | 公開鍵は公開でき、鍵配送問題を解決 |
| ハイブリッド暗号 | 共通鍵を公開鍵暗号で安全に送る(HTTPS) |
共通鍵暗号は、鍵を相手に安全に渡しにくいのが弱点だった(鍵配送問題)。公開鍵暗号は、公開鍵を堂々と配れるので、この問題を解決できる。
ただし、公開鍵暗号は処理が遅く、大量のデータには向かない。そこで使われるのがハイブリッド暗号だ。これは、速い共通鍵暗号でデータ本体を暗号化し、その共通鍵だけを公開鍵暗号で安全に相手へ送るしくみ。ここで一番のポイント。HTTPSなどでは、このハイブリッド暗号が使われる。「公開鍵暗号だけで、すべてを暗号化している」と思い込むと誤りだ。
わかりやすく言い換えると
身近なたとえで整理しよう。
公開鍵暗号は、「だれでも投かんできる郵便ポスト(公開鍵)と、中身を取り出せる鍵(秘密鍵)は別」というイメージ。投かんはだれでもできるが、取り出せるのは鍵をもつ本人だけ。
鍵配送問題の解決は、「公開鍵は配っても安全なので、鍵を渡す悩みが消える」こと。つまり、鍵を秘密に届ける必要がなくなる。
ハイブリッド暗号は、「速い共通鍵で本体を暗号化し、その共通鍵だけを公開鍵暗号で安全に渡す」こと。つまり、両方のいいとこ取りだ。
試験のツボ
🔴 一番出る:鍵の役割
①公開鍵で暗号化・秘密鍵で復号(ペアの鍵)
②公開鍵は、だれに知られてもよい
🔴 次に出る:鍵配送問題の解決
①公開鍵は公開できるので、鍵を渡す悩みが消える
②共通鍵暗号の弱点を補う
🟡 押さえると安定:ハイブリッド暗号
①公開鍵暗号は遅いので、共通鍵とあわせて使う
②HTTPSは、ハイブリッド暗号のしくみ
よくある間違い
①「公開鍵で復号する」→ ✗ 公開鍵で暗号化し、対になる秘密鍵で復号する。役割が逆。
②「公開鍵は、秘密にしなければならない」→ ✗ 公開鍵は、だれに知られてもよい(配ってよい)。秘密にするのは秘密鍵。
③「HTTPSは、公開鍵暗号だけで通信している」→ ✗ 共通鍵とあわせたハイブリッド暗号が使われている。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(公開鍵暗号の正体)
公開鍵暗号に関する次の記述のうち、最も適切なものはどれか。
- 社員の出退勤を記録して、毎月の給与を計算するためのしくみだ
- 公開鍵で暗号化して、対になる秘密鍵で復号する暗号方式である
- 取引先へ毎月の請求書を郵送する、決まった事務作業のことを指す
- 完成したシステムを宣伝して、より多く売るための広告活動である
解答は 2 である。
公開鍵暗号は、公開鍵で暗号化し、対になる秘密鍵で復号する方式じゃ。鍵がペアになっていると心得るがよい。
選択肢1は給与計算、選択肢3は請求書の事務、選択肢4は広告ゆえ、どれも違うのじゃ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算のしくみではない |
| 2 | ✓ | 公開鍵で暗号化・秘密鍵で復号で正しい |
| 3 | ✗ | 請求書の事務の話 |
| 4 | ✗ | 広告活動ではない |
オリジナル問題2(鍵配送問題の解決)
公開鍵暗号の長所に関する次の記述のうち、最も適切なものはどれか。
- 公開鍵は公開できるので、鍵配送問題を解決できるものである
- 社員の給与を計算するときだけ、役立つとされているものだ
- 取引先への請求書の枚数しだいで、決まるとされているのである
- システムの動きが、少しだけ速くなるとされているものである
解答は 1 である。
公開鍵は配っても安全ゆえ、鍵配送問題を解決できるのじゃ。共通鍵暗号の弱点を補うと心得るがよい。
選択肢2の給与、選択肢3の請求書、選択肢4の「速くなる」は、いずれも違うのじゃ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | 鍵配送問題を解決で正しい |
| 2 | ✗ | 給与計算のときだけではない |
| 3 | ✗ | 請求書の枚数で決まるのではない |
| 4 | ✗ | むしろ処理は遅い |
オリジナル問題3(ハイブリッド暗号)
ハイブリッド暗号に関する次の記述のうち、最も適切なものはどれか。
- 社員の給与を計算するときだけ、使われるとされているものだ
- 取引先への請求書の枚数しだいで、決まるとされているのである
- 共通鍵を公開鍵暗号で安全に送る、HTTPSのしくみである
- システムの動きが、少しだけ遅くなるとされているものである
解答は 3 である。
ハイブリッド暗号は、速い共通鍵で本体を暗号化し、その共通鍵を公開鍵暗号で安全に送るしくみじゃ。HTTPSで使われると心得るがよい。
選択肢1の給与、選択肢2の請求書、選択肢4の「遅くなる」は、いずれも違うのじゃ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 給与計算のときだけではない |
| 2 | ✗ | 請求書の枚数で決まるのではない |
| 3 | ✓ | 共通鍵を公開鍵暗号で送るで正しい |
| 4 | ✗ | 速さを補う組み合わせである |
まとめ
押さえどころ
- 🔴 鍵の役割 = 公開鍵で暗号化し、対になる秘密鍵で復号する(ペアの鍵)。代表はRSA・ECC。
- 🔴 鍵配送問題の解決 = 公開鍵は公開できるので、鍵を渡す悩みが消える。共通鍵暗号の弱点を補う。
- 🟡 ハイブリッド暗号 = 公開鍵暗号は遅いので、速い共通鍵とあわせて使う。HTTPSは、このしくみ。
次に学ぶ
- 共通鍵暗号(AES) ── 同じ鍵を使う高速な方式。ハイブリッド暗号で、公開鍵暗号と組み合わさる。
- デジタル署名 ── 本人確認と改ざん検知のしくみ。公開鍵暗号のペアの鍵を応用する。
執筆: SikakuQuest編集部