基本情報技術者 2013年 春期 午前(科目A) 問39
問題文
Xさんは、Yさんにインターネットを使って電子メールを送ろうとしている。電子メールの内容を秘密にする必要があるので、公開鍵暗号方式を使って暗号化して送信したい。電子メールの内容を暗号化するのに使用する鍵はどれか。
選択肢
ア:Xさんの公開鍵
イ:Xさんの秘密鍵
ウ:Yさんの公開鍵(正解)
エ:Yさんの秘密鍵
🔒 解説は解答すると表示されます
公開鍵暗号による電子メール暗号化【午前解説】
正解の理由
正解:ウ
受信者の公開鍵で暗号化すると、その対応する秘密鍵を持つ受信者だけが復号できます。公開鍵は誰でも取得でき暗号化に用いるのに適しており、秘密鍵は受信者が厳重に保管して復号に用います。これにより通信の機密性が保たれます。
受信者の公開鍵で暗号化すると、その対応する秘密鍵を持つ受信者だけが復号できます。公開鍵は誰でも取得でき暗号化に用いるのに適しており、秘密鍵は受信者が厳重に保管して復号に用います。これにより通信の機密性が保たれます。
解法ステップ
- 問題の目的を確認:内容を「秘密にする(機密性)」か「送信者を証明する(署名)」かを判定する。
- 公開鍵暗号の基本ルールを思い出す:公開鍵は暗号化、秘密鍵は復号(署名は秘密鍵で作成、公開鍵で検証)。
- 選択肢を照合:機密性を満たす組合せは「受信者の公開鍵で暗号化→受信者の秘密鍵で復号」のみ。
選択肢別の誤答解説
- ア: Xさんの公開鍵 — 間違い。Xさんの公開鍵で暗号化すると対応する秘密鍵(Xさんの秘密鍵)でしか復号できず、受信者は内容を読めません。公開鍵が第三者に知られていても復号権は秘密鍵保持者に限定されますが、ここでは受信者に読ませたい目的と合致しません。
- イ: Xさんの秘密鍵 — 間違い。秘密鍵で処理すると署名に相当し、受信者だけでなく公開鍵を持つ誰でも(公開鍵で)検証・場合によっては内容を確認できるため機密性は保てません。主目的は真正性の証明です。
- ウ: Yさんの公開鍵 — 正解。受信者(Yさん)の公開鍵で暗号化することで、対応する秘密鍵を持つYさんだけが復号可能となり機密性が確保されます。
- エ: Yさんの秘密鍵 — 間違い。秘密鍵は受信者自身が保持するものであり、送信者が入手して使うことは現実的ではく、また秘密鍵で暗号化しても暗号化の目的(受信者のみが読む)を満たしません。
よくある誤解
- 「送信者の秘密鍵で暗号化すれば安全」と考える誤り:送信者の秘密鍵で処理するとそれは署名に相当し、暗号化ではなく誰でも送信者の公開鍵で内容を検証・復号できてしまいます。
- 「公開鍵で暗号化すると誰でも復号できる」との混同:公開鍵は暗号化に使うのが正しく、復号できるのは対応する秘密鍵を持つ者だけです。公開鍵の公開性と復号権限を混同しないこと。
補足コラム
実運用では公開鍵暗号をそのまま大量データの暗号化に使うことは少なく、代わりに暗号化された「共通鍵(セッション鍵)」を用います。手順は概ね次の通りです:送信者がランダムな共通鍵で本文を高速に対称暗号化し、その共通鍵を受信者の公開鍵で暗号化して添付する方式(PGPやS/MIME)。これにより性能と機密性を両立します。また公開鍵の信頼性は証明書(CA)やWeb of Trustで担保されます。
FAQ
Q1: 公開鍵で暗号化すると誰でも復号できるのでは?
A1: いいえ。公開鍵は暗号化に使われますが、復号は対応する秘密鍵を持つ者のみが可能です。公開=復号可能とは異なります。
A1: いいえ。公開鍵は暗号化に使われますが、復号は対応する秘密鍵を持つ者のみが可能です。公開=復号可能とは異なります。
Q2: 署名と暗号化を両方行いたいときはどうする?
A2: 一般的には「まず署名を付け、その署名付きメッセージを受信者の公開鍵で暗号化」するか「暗号化後に署名」を行います。順序は要件(機密性優先か真正性優先か)により選択します。
A2: 一般的には「まず署名を付け、その署名付きメッセージを受信者の公開鍵で暗号化」するか「暗号化後に署名」を行います。順序は要件(機密性優先か真正性優先か)により選択します。
Q3: 送信者の秘密鍵で暗号化する用途はある?
A3: それは署名に相当します。送信者の秘密鍵で処理したデータは、送信者の公開鍵で検証でき、送信者の真正性や否認防止に使います。
A3: それは署名に相当します。送信者の秘密鍵で処理したデータは、送信者の公開鍵で検証でき、送信者の真正性や否認防止に使います。
関連キーワード: 公開鍵暗号、秘密鍵、公開鍵、暗号化、復号、署名、PGP、S/MIME、機密性、セッション鍵

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

