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

ITパスポート 2017年 春期 86


問題文

AさんはBさんの公開鍵をもっている。Bさんの公開鍵を使ってAさんができることはどれか。

選択肢

Aさんのディジタル署名を作成でき、Bさんへの通信に付与する。
Bさんが確実に受け取ったという通知を自動返信させることができる電子メールを送信する。
Bさんだけが復号できる暗号文を作成する。(正解)
Bさんへの通信の内容が改ざんされた場合に、Aさんが検知できる。

🔒 解説は解答すると表示されます

公開鍵を持っている場合にAさんができること【ITパスポート 解説】

正解の理由

AさんがBさんの公開鍵(公開鍵:public key。誰にでも見せてよい鍵)を持っていると、Aさんはその公開鍵を使って暗号化できます。公開鍵暗号(公開鍵暗号:public-key cryptography)は「受け取り手の公開鍵で暗号化し、受け取り手だけが持つ秘密の鍵で復号(復号:decrypt)する」仕組みです。したがって、AさんはBさんだけが復号できる暗号文を作成できます。これが選択肢のが正しい理由です。
短い例え:公開鍵はみんなが使える「開いた南京錠」で、誰でもその南京錠をかけられます(暗号化)。南京錠を開けられるのは南京錠の元の鍵(秘密鍵:private key)を持つ人だけです(復号)。

解法ステップ

  1. 問題文を整理する:「AさんはBさんの公開鍵をもっている」ことが条件。
  2. 公開鍵の役割を思い出す:
    • 公開鍵で暗号化 → 秘密鍵で復号(機密性を確保)。
    • 署名(真正性・改ざん検知)を作るときは、作成者の秘密鍵で署名し、公開鍵で検証する。
  3. 各選択肢を公開鍵の役割と照らし合わせる。
  4. 公開鍵でできることに当てはまる選択肢がであると判断する。

選択肢別の誤答解説

  • ア: Aさんのディジタル署名を作成でき、Bさんへの通信に付与する。
    誤り。ディジタル署名(電子署名:digital signature)は「署名者自身の秘密鍵」で作ります。公開鍵は署名の検証に使いますが、署名を作るためには公開鍵ではなく署名者の秘密鍵が必要です。したがって、AさんがBさんの公開鍵を持っていても、Aさん自身の署名は作れません(Aさんが自分の秘密鍵を持っていれば別です)。
  • イ: Bさんが確実に受け取ったという通知を自動返信させることができる電子メールを送信する。
    誤り。公開鍵を使っても「受信確認(確実に受け取ったことの自動通知)」を強制する仕組みにはなりません。受信確認はメールサーバやアプリ側の機能であり、公開鍵自体はそのような動作を命令するものではありません。
  • ウ: Bさんだけが復号できる暗号文を作成する。
    正解。前述の通り、受取人の公開鍵で暗号化すれば、対応する秘密鍵を持つBさんだけが復号できます。
  • エ: Bさんへの通信の内容が改ざんされた場合に、Aさんが検知できる。
    誤り。改ざん検知(整合性の確認)は通常、電子署名やメッセージ認証コード(MAC)で行います。公開鍵だけで送信後にAさんが改ざんを検知することはできません。もしAさんが検知したければ、Aさんが送る側で「自分の秘密鍵で署名」を付けておき、Bさんが確認するといった流れや、受信後に応答としてBさんが署名付きで返送する等の仕組みが必要です。

よくある誤解

  1. 公開鍵があると「署名」を作れると思う誤解
    公開鍵は署名の検証に使いますが、署名を作るのは秘密鍵です。作成と検証の鍵が逆なのがポイントです。
  2. 公開鍵があれば「確実に相手に届いた」ことが保証されると思う誤解
    暗号化は機密性(誰が読めるか)を守る技術です。配送や受領の確認は暗号とは別の仕組みです。
  3. 公開鍵で暗号化すれば送信者の身元も保証されると思う誤解
    受取人の公開鍵で暗号化しても、送信者の身元(認証)は自動的には保証されません。送信者の認証には送信者の署名など別の仕組みが必要です。

補足コラム

  • 公開鍵暗号は計算負荷が高いので、実際の通信では「ハイブリッド暗号方式」がよく使われます。これは、公開鍵で「共通鍵(セッション鍵)」を安全に交換し、その共通鍵で高速な共通鍵暗号(AESなど)を使って大量データを暗号化する方法です。
  • 代表的な公開鍵暗号方式にはRSAや楕円曲線暗号(ECC:Elliptic Curve Cryptography)があります。署名アルゴリズム(例:RSA署名、ECDSA)も別に存在します。
  • 用語まとめ:
    • 公開鍵(public key):誰にでも公開する鍵。暗号化のために用いる。
    • 秘密鍵(private key):秘密に保つ鍵。復号や署名作成に用いる。
    • 機密性(confidentiality):第三者に内容を知られないこと。
    • 整合性(integrity):内容が改ざんされていないこと。
    • 認証(authentication):送信者や受信者の身元が確認できること。

FAQ

Q1. AさんがBさんの秘密鍵を持っていたら何ができる?
A1. Bさんの秘密鍵を持つと、Bになりすましてメッセージを復号したり、Bとしてメッセージに署名したりできます。秘密鍵は厳重に管理すべきです。
Q2. AさんがBさんの公開鍵で暗号化したメールを途中で盗み見できる人はいる?
A2. 暗号が正しく使われ、Bさんの秘密鍵が安全なら、途中で盗み見しても復号できません。ただし鍵の流出や実装ミス、古い弱い暗号方式には注意が必要です。
Q3. 公開鍵だけで送信者の正体を確認できますか?
A3. いいえ。公開鍵は暗号化と署名の検証に使いますが、送信者確認には送信者自身の署名(送信者の秘密鍵による署名)が必要です。

関連キーワード: 公開鍵暗号、公開鍵、秘密鍵、暗号化、復号、電子署名、機密性、整合性、認証、RSA、ECC
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

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