まず結論

暗号化とは盗聴対策のための技術。共通鍵暗号は「同じ鍵で暗号化・復号」して高速だが鍵の受け渡しに問題がある。公開鍵暗号は「公開鍵で暗号化・秘密鍵で復号」して鍵配送問題を解決するが低速。実際のHTTPSは両方を組み合わせたハイブリッド暗号を使う。

🔒 暗号化の目的

インターネット上のデータは第三者に盗聴される可能性がある。暗号化によってデータを読み取れない形式に変換し、機密性(Confidentiality)を確保する。

情報セキュリティの三要素(CIA)
機密性(Confidentiality)・完全性(Integrity)・可用性(Availability)
暗号化が直接守るのは「機密性」。

たとえば、カフェのWi-Fiで通信すると、同じネットワーク上の人に通信内容を見られる可能性がある。HTTPSで暗号化されていれば、盗聴されても内容は解読できない。

🗝️ 共通鍵暗号(対称鍵暗号)

送信者と受信者が同じ鍵を使って暗号化・復号を行う方式。

メリット: 処理が高速。大量のデータ暗号化に向く。
デメリット: 鍵配送問題がある。「秘密の鍵」をどうやって安全に相手に渡すか?

代表的なアルゴリズム:

鍵配送問題の例:
AさんとBさんが共通鍵を共有したいが、鍵をメールで送ると第三者に盗まれるかもしれない。鍵を暗号化して送るには別の鍵が必要…という無限ループが発生する。

🔑 公開鍵暗号(非対称鍵暗号)

数学的に関連した2種類の鍵のペアを使う方式。公開鍵(誰でも入手可能)で暗号化し、秘密鍵(本人だけが持つ)で復号する。

メリット: 鍵配送問題が解消される。公開鍵はそのまま公開できる。
デメリット: 処理が低速。共通鍵暗号の100〜1000倍の計算コスト。

代表的なアルゴリズム:

重要:暗号化の「方向」
① 機密性の確保:公開鍵で暗号化 → 秘密鍵で復号(受信者だけが読める)
② 認証・署名:秘密鍵で署名 → 公開鍵で検証(本人確認・改ざん検知)

📊 共通鍵 vs 公開鍵 比較

共通鍵暗号
  • 鍵の数:1種類(送受信者で共有)
  • 速度:高速 ✅
  • 鍵配送:問題あり ❌
  • 主な用途:データ本体の暗号化
  • 代表:AES, DES
公開鍵暗号
  • 鍵の数:2種類(公開鍵 + 秘密鍵)
  • 速度:低速 ❌
  • 鍵配送:問題なし ✅
  • 主な用途:鍵交換・デジタル署名
  • 代表:RSA, ECC

🌐 ハイブリッド暗号(HTTPSの仕組み)

両者の長所を組み合わせた方式。共通鍵を公開鍵暗号で安全に交換し、実際のデータは高速な共通鍵暗号で暗号化する。

ハイブリッド暗号の流れ(HTTPS)
① 鍵交換フェーズ
クライアントが
共通鍵を生成

サーバーの公開鍵
共通鍵を暗号化

サーバーに送信

サーバーは秘密鍵で復号
→ 共通鍵を取得
② 通信フェーズ
両者が同じ共通鍵
持っている状態

以降のすべての
通信データを
共通鍵で暗号化

高速・安全な
通信が実現!
公開鍵暗号 → 鍵配送問題を解決 / 共通鍵暗号 → 高速なデータ通信を実現

🔄 暗号化の方向性まとめ

機密性(暗号化通信)
送信者
↓ 受信者の公開鍵で暗号化
→→→
受信者の秘密鍵で復号 ↓
受信者
受信者だけが読める
認証(デジタル署名)
送信者
↓ 自分の秘密鍵で署名
→→→
送信者の公開鍵で検証 ↓
受信者
本人確認・改ざん検知

🎯 試験での出方

⚠️ よくある間違い

✍️ 確認クイズ

Q1. 共通鍵暗号の最大の問題点として最も適切なものはどれか?

正解:② 共通鍵暗号は処理が高速な反面、「秘密の鍵をどうやって安全に相手に渡すか」という鍵配送問題が最大の課題。これを解決したのが公開鍵暗号。

Q2. Aさんが受信者Bさんだけに内容を読ませたいメッセージを送る場合、どの鍵で暗号化すべきか?

正解:③ 機密性の確保には「受信者(B)の公開鍵」で暗号化し、「受信者(B)の秘密鍵」で復号する。B の秘密鍵は B だけが持つため、B だけが復号できる。

Q3. HTTPSで使われるハイブリッド暗号について正しい説明はどれか?

正解:③ ハイブリッド暗号は「公開鍵暗号で共通鍵を安全に交換」し、「実際のデータは高速な共通鍵暗号で暗号化」する。両方の長所を組み合わせた方式。

Q4. デジタル署名において、送信者が署名を作成する際に使う鍵はどれか?

正解:① デジタル署名では「送信者の秘密鍵」でメッセージのハッシュに署名し、受信者は「送信者の公開鍵」で検証します。秘密鍵を持つのは送信者だけなので、なりすまし防止(否認防止)になります。暗号化(受信者の公開鍵)と混同しないよう注意。

Q5. AES(Advanced Encryption Standard)の説明として正しいものはどれか?

正解:② AESは共通鍵暗号方式の国際標準(旧DESを置き換えた)。鍵長は128/192/256ビットを選択でき、処理が高速で現在の暗号化の主流。公開鍵暗号はRSAなど、ハッシュ関数はSHA-256など別のアルゴリズムです。

Sponsor Link