戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2009年 秋期 午前(科目A)42


問題文

公開鍵暗号方式を用いて、AさんからBさんへ、他人に秘密にしておきたい文章を送るとき、暗号化に用いる鍵Kとして、適切なものはどれか。
基本情報技術者 2009年 秋期 午前(科目A) 問42の問題画像

選択肢

Aさんの公開鍵
Aさんの秘密鍵
Bさんの公開鍵(正解)
共通の秘密鍵

公開鍵暗号方式での暗号化に用いる鍵はどれか【午前2 解説】

要点まとめ

  • 結論:AさんがBさんへ秘密の文章を送る際は、暗号化にBさんの公開鍵を用い、復号はBさんの秘密鍵で行われるため安全性が確保されます。
  • 根拠:公開鍵暗号は「公開鍵で暗号化→対応する秘密鍵で復号」という一方向性を持ち、公開鍵は誰でも入手できても問題になりません。
  • 差がつくポイント:署名は送信者の秘密鍵で行い認証を得る点と、性能対策として本文は共通鍵で暗号化し共通鍵を公開鍵で暗号化するハイブリッド方式が現場で多用されます。

正解の理由

AさんがBさんに他人に知られたくない文章を送る目的は「機密性の確保」です。公開鍵暗号方式では、受信者(Bさん)の公開鍵を使って暗号化すると、その対応する秘密鍵を持つBさんだけが復号できます。したがって暗号化に適する鍵はBさんの公開鍵であり、正解はウです。送信者の秘密鍵や公開鍵、また共有鍵は用途や前提が異なるため本設問の目的には不適切です。

よくある誤解

  • 「公開鍵を持っている人が復号できる」と誤解しがちですが、公開鍵は暗号化用で復号は秘密鍵のみ可能です。
  • 「送信者の秘密鍵で暗号化すれば安全」と混同されますが、それは署名であって機密保持のための暗号化とは目的が逆です。

解法ステップ

  1. 問題の目的を確認:A→Bの「他人に秘密にしておきたい文章」を送る(機密性が目的)。
  2. 公開鍵暗号の基本を思い出す:「公開鍵で暗号化、対応する秘密鍵で復号」。
  3. 誰が復号すべきかを考える:受信者Bだけが復号できることが必要。
  4. 復号可能なのは対応する秘密鍵の持ち主のみなので、暗号化鍵はBの公開鍵であると判断する。
  5. 選択肢と照合して正しいもの(Bの公開鍵=ウ)を選ぶ。

選択肢別の誤答解説

  • ア: Aさんの公開鍵
    公開鍵で暗号化すると対応する秘密鍵で復号されるため、Aさんの公開鍵で暗号化するとAさん自身しか復号できずBには届いた状態で読めません。よって不適。
  • イ: Aさんの秘密鍵
    秘密鍵は秘匿すべきものであり公開に使えません。秘密鍵で暗号化する行為はデジタル署名に相当し、機密保持にはならず誤りです。
  • : Bさんの公開鍵
    受信者Bのみが持つ秘密鍵で復号できる組合せになり、機密性を満たすため正解です。
  • エ: 共通の秘密鍵
    共通鍵(対称鍵)は双方が事前共有していれば使えますが、問題文に事前共有の記載がなく鍵配布の手間や安全性の観点から公開鍵暗号が想定されるため、本肢は不適切です。

補足コラム

  • 実運用では「ハイブリッド暗号方式」が一般的です。手順は次のとおり:1) ランダムな共通鍵(セッションキー)で本文を高速に暗号化、2) そのセッションキーを受信者の公開鍵で暗号化して送付、3) 受信者は秘密鍵でセッションキーを復号して本文を復号します。
  • 公開鍵暗号の代表例:RSA(大きな整数の因数分解問題)、ECC(楕円曲線上の離散対数問題)。性能面ではECCが鍵長当たり強度が高く、モバイル等で有利です。
  • 機密性だけでなく送信元の真正性を確保したい場合は、送信者が自分の秘密鍵で署名を行い、受信側が送信者の公開鍵で署名検証を行います。暗号化と署名は組み合わせて使います。
簡単な擬似コード(ハイブリッド方式の流れ、Python風)
# Aさん側
session_key = random_bytes(32)               # 共通鍵(AES用)
ciphertext = AES_encrypt(session_key, message)
enc_session = RSA_encrypt(B_public_key, session_key)
send(enc_session + ciphertext)

# Bさん側
session_key = RSA_decrypt(B_private_key, enc_session)
message = AES_decrypt(session_key, ciphertext)

FAQ

Q: Aさんの秘密鍵で暗号化すればBさんだけに読めるのでは?
A: いいえ。Aさんの秘密鍵で暗号化すると対応する公開鍵を持つ誰でも復号可能になります。これは「署名」に相当し、機密性は確保されません。
Q: 共通鍵方式は使えないのですか?
A: 事前に安全に共通鍵を共有できるなら使えますが、鍵配布やスケーラビリティの問題があるため多くのシナリオでは公開鍵暗号で鍵交換しハイブリッド方式を採用します。
Q: 暗号化と署名は同時にできる?
A: はい。典型的には「まず署名してから暗号化」または「暗号化してから署名」のいずれかを行い、機密性と認証の両方を満たします。

関連キーワード: 公開鍵暗号、秘密鍵、公開鍵、共通鍵暗号、ハイブリッド暗号化、デジタル署名、RSA、ECC、機密性、鍵配布
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について