ITパスポート 2025年 問89
問題文
Aさんは、Bさんから次の4種類のメッセージを受け取った。Aさんが、受け取ったメッセージを復号して読むことができるものだけを全て挙げたものはどれか。
選択肢
ア:a, b, d(正解)
イ:a, c, d
ウ:b, d
エ:c, d
🔒 解説は解答すると表示されます
鍵の種類と復号可否【ITパスポート解説】
正解の理由
この問題は「どのメッセージをAさんが復号(暗号を解いて読む)できるか」を問うています。設問の前提として、Aさんは自分の秘密鍵(秘密鍵 = private key:本人しか持たない鍵)、Bさんの公開鍵(公開鍵 = public key:誰でも入手できる鍵)、およびA・Bが共有している共通鍵(共通鍵 = symmetric key:両者が持つ同じ鍵)を持っているとします。この前提のもとで、Aさんが読めるのはメッセージ a, b, d であり、したがって選択肢 ア が正解です。
理由を簡潔に示すと:
- a:受信者の公開鍵で暗号化された(=受信者のみが復号可能)ため、Aさんは自分の秘密鍵で復号できる。
- b:送信者の秘密鍵で「暗号化(=署名)」されたものは、送信者の公開鍵で復号できるため、AさんはBさんの公開鍵で読むことができる(つまり可)。
- c:Bさんの公開鍵で暗号化された場合は、Bさん本人の秘密鍵でしか復号できないため、Aさんは復号できない(不可)。
- d:A・B間で共有する共通鍵で暗号化されたため、Aさんはその共通鍵で復号できる。
以上から、Aさんが読めるのは a, b, d で、選択肢 ア が正しい、という結論になります。
解法ステップ
- 「誰がその暗号を復号できるのか」を鍵の種類ごとに整理する。
- 公開鍵(public key)で暗号化された → 対応する秘密鍵(private key)を持つ者だけが復号できる(機密性)。
- 秘密鍵(private key)で暗号化された(=電子署名のように使う) → 対応する公開鍵を持つ誰でも復号できる(認証/非機密)。
- 共通鍵(symmetric key)で暗号化された → その共通鍵を持つ両者が復号できる。
- 問題の前提でAさんが持っている鍵を確認する(Aの秘密鍵、Bの公開鍵、共通鍵を持つ)。
- 各メッセージ a〜d の暗号化方式を見て、Aさんが持つ鍵で復号できるかどうか判定する。
- 復号可能なメッセージを選び、選択肢と照合する。
選択肢別の誤答解説
- ア(a, b, d) — 正答。上記の通り、Aは a(自分の公開鍵宛)、b(Bの秘密鍵で処理=公開鍵で復号可能)、d(共通鍵)を復号できる。
- イ(a, c, d) — 間違い。ここは c を含んでいるが、c は B の公開鍵で暗号化されている場合、復号できるのは B の秘密鍵を持つ B 自身であり、Aは復号できない。
- ウ(b, d) — 間違い。a を含んでいない点が誤り。a は A宛(Aの公開鍵で暗号化)であれば Aの秘密鍵で復号できるため含める必要がある。
- エ(c, d) — 間違い。c を含んでいる点と b を含んでいない点の両方で誤り。c はAでは読めず、b はAが読めるため除外してはいけない。
よくある誤解
- 「秘密鍵で暗号化=秘密にするため」
秘密鍵(private key)で処理する操作は多くの場合「署名(電子署名 = digital signature)」のためで、秘密鍵で暗号化すると誰でも公開鍵で復号できてしまいます。つまり「秘密鍵で暗号化=機密保持」ではありません。用途(機密性 vs 認証)を区別しましょう。 - 「公開鍵は持っているから復号できる」
公開鍵(public key)は暗号化や署名の検証に使いますが、公開鍵で暗号化されたものを復号するには対応する秘密鍵が必要です。公開鍵だけを持っていても、公開鍵で暗号化されたデータは復号できません。
補足コラム
- 用語整理(覚え方)
- 非対称暗号(asymmetric encryption):公開鍵と秘密鍵のペアを使う方式。機密性を保つには「受信者の公開鍵で暗号化」→「受信者の秘密鍵で復号」。
- 共通鍵(symmetric key):同じ鍵で暗号化・復号する方式。通信前に鍵を共有する必要がある。
- 電子署名(digital signature):送信者が自分の秘密鍵で処理(=署名)し、受信者は送信者の公開鍵で署名を検証する。本人確認(認証)と改ざん検出が目的。
- 覚え方のコツ:
- 「相手にだけ読ませたい」→ 相手の公開鍵で暗号化。
- 「自分が送ったと証明したい」→ 自分の秘密鍵で署名(公開鍵で検証される)。
FAQ
Q. 送信者の秘密鍵で暗号化された文章は絶対に安全ではないのですか?
A. 送信者の秘密鍵で暗号化(署名)は「誰が送ったか」を証明するのに有効ですが、暗号文そのものは公開鍵で復号できるため機密性はありません。機密性が必要なら受信者の公開鍵でさらに暗号化する(署名+暗号化の二段構え)ことが一般的です。
A. 送信者の秘密鍵で暗号化(署名)は「誰が送ったか」を証明するのに有効ですが、暗号文そのものは公開鍵で復号できるため機密性はありません。機密性が必要なら受信者の公開鍵でさらに暗号化する(署名+暗号化の二段構え)ことが一般的です。
Q. 共通鍵を安全に共有する方法は?
A. 実務では、共通鍵自体を非対称暗号で安全に送る(受信者の公開鍵で暗号化して共通鍵を渡す)方法や、Diffie–Hellman(鍵共有プロトコル)などで安全に共通鍵を作る方法が使われます。
A. 実務では、共通鍵自体を非対称暗号で安全に送る(受信者の公開鍵で暗号化して共通鍵を渡す)方法や、Diffie–Hellman(鍵共有プロトコル)などで安全に共通鍵を作る方法が使われます。
関連キーワード: 公開鍵、秘密鍵、共通鍵、非対称暗号、電子署名、暗号化、復号

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

