Skip to the content.

最終更新日:2026年7月30日

まず結論

公開鍵暗号方式では、何を守りたいかによって使う鍵が変わります。

内容を秘密にしたい
→ 受信者の公開鍵で暗号化
→ 受信者の秘密鍵で復号

送信者本人か確認したい
→ 送信者の秘密鍵で署名
→ 送信者の公開鍵で検証

試験では、まず次の2つを切り分けます。

  • 秘密性を守る話か
  • 送信者の正当性を確認する話か

秘密にするなら受信者の鍵、本人確認なら送信者の鍵。

直感的な説明

公開鍵暗号方式は、公開してよい鍵と、本人だけが持つ秘密鍵を一組で使います。

内容を秘密にするとき

受信者だけが開けられる箱をイメージします。

送信者
↓ 受信者の公開鍵で施錠
暗号文
↓ 受信者の秘密鍵で解錠
受信者

受信者の公開鍵は誰でも使えますが、復号できる秘密鍵は受信者だけが持っています。

送信者本人か確認するとき

送信者だけが押せる印鑑をイメージします。

送信者
↓ 自分の秘密鍵で署名
署名付きデータ
↓ 送信者の公開鍵で検証
受信者

検証に成功すれば、対応する秘密鍵を持つ者が署名したことを確認できます。

定義・仕組み

公開鍵と秘密鍵

公開鍵暗号方式では、数学的に対応する2本の鍵を使います。

扱い
公開鍵 他者へ公開してよい
秘密鍵 所有者だけが厳重に管理する

公開鍵と秘密鍵は1組です。

Aさんの公開鍵
↔ Aさんの秘密鍵

Aさんの公開鍵とBさんの秘密鍵はペアではありません。

暗号化通信

目的は、通信内容を第三者に読まれないようにすることです。

送信者:受信者の公開鍵で暗号化
受信者:自分の秘密鍵で復号

この仕組みで主に守るのは秘密性です。

デジタル署名

目的は、送信者の正当性とデータの完全性を確認することです。

実際のデジタル署名では、通常、データ全体を秘密鍵で暗号化するのではなく、データから作ったハッシュ値に署名処理を行います。

送信データ
↓ ハッシュ関数
ハッシュ値
↓ 送信者の秘密鍵で署名
デジタル署名

受信者は、送信者の公開鍵を使って署名を検証します。

送信データから計算したハッシュ値
と
署名から確認したハッシュ値
を比較する

一致すれば、次のことを確認できます。

  • 対応する秘密鍵を持つ者が署名した
  • 署名後にデータが改ざんされていない

暗号化と署名の比較

目的 送信者が使う鍵 受信者が使う鍵 主に確認できること
暗号化通信 受信者の公開鍵 受信者の秘密鍵 秘密性
デジタル署名 送信者の秘密鍵 送信者の公開鍵 正当性・完全性

科目Aでどう出る?

科目Aでは、鍵の所有者と目的を入れ替えた選択肢が出題されます。

判断手順は次のとおりです。

1. 目的を見る
2. 誰の鍵を使うか決める
3. 公開鍵と秘密鍵の向きを確認する

内容を秘密にする問題

受信者の公開鍵で暗号化
受信者の秘密鍵で復号

受信者の公開鍵は誰でも使えますが、受信者の秘密鍵を持つのは受信者だけです。

送信者本人を確認する問題

送信者の秘密鍵で署名
送信者の公開鍵で検証

送信者の秘密鍵は送信者だけが持つため、署名の検証によって送信者の正当性を確認できます。

典型的な切り分け

問題文の表現 判断
内容を第三者に読まれないようにする 受信者の公開鍵で暗号化
受信者だけが復号する 受信者の秘密鍵で復号
送信者本人か確認する 送信者の秘密鍵で署名
署名を検証する 送信者の公開鍵を使用
改ざんを検知する デジタル署名
他人の秘密鍵を送信者が使う 不適切

どんな場面で使う?

暗号化通信

通信内容を秘密にしたい場面で使います。

  • Web通信
  • 電子メール
  • ファイル送信
  • 共通鍵の安全な配送

ただし、公開鍵暗号方式は共通鍵暗号方式より処理が重いため、実際の通信では公開鍵暗号方式で共通鍵を安全に共有し、その後は共通鍵暗号方式でデータを暗号化する方法がよく使われます。

デジタル署名

送信者の正当性や改ざんの有無を確認したい場面で使います。

  • 電子文書
  • ソフトウェア配布
  • 電子申請
  • 電子契約

よくある誤解・混同

誤解1:秘密鍵を使えば内容も秘密になる

送信者の秘密鍵で作った署名は、送信者の公開鍵で検証します。

公開鍵は他者も入手できるため、デジタル署名は内容を秘密にする仕組みではありません。

デジタル署名
→ 正当性・完全性

暗号化
→ 秘密性

誤解2:受信者の公開鍵で暗号化すれば送信者本人だと分かる

受信者の公開鍵は、多くの人が利用できます。

したがって、受信者の公開鍵で暗号化されているだけでは、誰が送ったかを証明できません。

誤解3:送信者が受信者の秘密鍵を使う

秘密鍵は所有者だけが管理します。

送信者の秘密鍵
→ 送信者だけが持つ

受信者の秘密鍵
→ 受信者だけが持つ

他人の秘密鍵を使う選択肢は切ることができます。

誤解4:デジタル署名はデータ全体を秘密鍵で暗号化する

試験問題では「秘密鍵で暗号化し、公開鍵で復号する」と簡略化されることがあります。

しかし実際には、通常、データから求めたハッシュ値に署名処理を行います。

誤解5:公開鍵が本当に送信者のものかは自動的に分かる

公開鍵だけを受け取っても、その鍵が本当に送信者本人のものか確認できないことがあります。

そのため、実際の仕組みでは電子証明書や認証局を使って、公開鍵と所有者を結び付けます。

まとめ(試験直前用)

  • 内容を秘密にするなら、受信者の公開鍵で暗号化する
  • 受信者は自分の秘密鍵で復号する
  • 送信者本人を確認するなら、送信者の秘密鍵で署名する
  • 受信者は送信者の公開鍵で署名を検証する
  • 暗号化は秘密性、デジタル署名は正当性と完全性
  • 他人の秘密鍵を使う選択肢は不適切
  • 実際の署名では、通常、データのハッシュ値に署名する
秘密にする
→ 受信者の公開鍵 → 受信者の秘密鍵

本人を証明する
→ 送信者の秘密鍵 → 送信者の公開鍵

© 2024-2026 stemtazoo. All rights reserved.