🔐 セキュリティ
暗号化とは?公開鍵暗号と共通鍵暗号の違いをわかりやすく解説
暗号化とは
暗号化とは、データを第三者が読めない形式(暗号文)に変換する技術です。正しい「鍵」を持つ人だけが元のデータ(平文)に戻せます。通信の盗聴・改ざんを防ぐために使用されます。
💡 暗号化の逆の操作(暗号文→平文)を「復号(ふくごう)」と言います。
共通鍵暗号方式
暗号化と復号に同じ鍵(共通鍵)を使う方式です。
メリット
- 処理速度が速い(大量データの暗号化に向く)
デメリット
- 送信者と受信者が事前に同じ鍵を共有する必要がある
- 鍵の受け渡しが安全にできないと盗聴リスクがある
- 相手の数だけ鍵が必要(100人いれば100個の鍵)
代表例:AES、DES、3DES
公開鍵暗号方式
暗号化に使う「公開鍵」と、復号に使う「秘密鍵」の2種類の鍵を使う方式です。公開鍵は誰でも使えますが、秘密鍵は本人だけが保持します。
仕組み
- ① 受信者が「公開鍵」を公開する
- ② 送信者が公開鍵でデータを暗号化して送る
- ③ 受信者だけが持つ「秘密鍵」で復号する
メリット・デメリット
| 共通鍵暗号 | 公開鍵暗号 | |
|---|---|---|
| 速度 | 速い | 遅い |
| 鍵の配送問題 | あり(リスク) | なし(公開鍵は公開可) |
| 鍵の数 | 相手の数だけ必要 | 1組(公開鍵+秘密鍵) |
| 用途 | 大量データの暗号化 | 鍵の交換・認証 |
代表例:RSA、楕円曲線暗号
❌ よくある誤解:「公開鍵で暗号化→公開鍵で復号」はできません。復号は必ず対応する秘密鍵が必要です。
ハイブリッド暗号方式
実際の通信(HTTPSなど)では、両方の長所を活かしたハイブリッド方式が使われます。
- ① 公開鍵暗号で「共通鍵」を安全に交換する
- ② 交換した共通鍵で実際のデータを高速に暗号化する
試験対策ポイント
✅ 「共通鍵 = 同じ鍵・速い」「公開鍵 = 2種類の鍵・安全な鍵配送」の比較が頻出です。
- 共通鍵暗号:同じ鍵で暗号化・復号。速いが鍵配送が課題
- 公開鍵暗号:公開鍵で暗号化、秘密鍵で復号。鍵配送が安全
- 実際のHTTPSはハイブリッド方式を採用