ロゴ
経営情報システム

公開鍵暗号方式を図解でわかりやすく(共通鍵との違い)

受信者の公開鍵で暗号化し、受信者の秘密鍵で復号する。鍵管理が容易な暗号方式。

送信者が受信者の公開鍵で暗号化し、受信者が自分の秘密鍵で復号する公開鍵暗号方式の流れを示した図解
公開鍵暗号方式の図解

公開鍵暗号方式は、暗号化と復号に異なる2つの鍵(公開鍵と秘密鍵)のペアを使う暗号方式です。誰でも入手できる公開鍵で暗号化し、本人だけが持つ秘密鍵で復号します。共通鍵暗号方式が抱える「鍵の受け渡し」の問題を解決した点に大きな意義があります。

暗号化・復号の流れ

送信者は、受信者があらかじめ公開している「受信者の公開鍵」を使って平文を暗号化し、暗号文を送ります。受信者は、自分だけが持つ「受信者の秘密鍵」でその暗号文を復号します。公開鍵で暗号化したものは、対になる秘密鍵でしか復号できないため、途中で暗号文を盗まれても内容は読めません。

共通鍵暗号方式との違い

共通鍵暗号方式は、暗号化と復号に同じ1つの鍵を使います。処理が高速な反面、その鍵を相手に安全に渡す必要があり、通信相手が増えると鍵の数が急増する(n人ならn(n−1)/2個)という鍵管理の問題があります。公開鍵暗号方式は、鍵を公開してよいため受け渡しの問題がなく、鍵管理が容易ですが、処理速度は遅くなります。

ハイブリッド方式

実務では、両者の長所を組み合わせたハイブリッド方式が広く使われます。実際のデータ本体は高速な共通鍵で暗号化し、その共通鍵を相手に渡すときだけ、安全な公開鍵暗号で暗号化して送ります。これにより、速度と安全な鍵配送を両立できます。SSL/TLSなどがこの仕組みを採用しています。

デジタル署名への応用

公開鍵と秘密鍵の関係を逆に使うと、デジタル署名が実現できます。送信者が自分の秘密鍵で署名(暗号化)し、受信者は送信者の公開鍵で検証します。本人の秘密鍵でしか作れない署名を公開鍵で確認できるため、なりすましの防止(本人認証)と改ざんの検知が可能になります。

◎ 試験対策のポイント

  • ▶暗号化=受信者の公開鍵、復号=受信者の秘密鍵。方向を正確に覚える。
  • ▶共通鍵=高速だが鍵配送に難、鍵の数はn(n−1)/2。公開鍵=低速だが鍵管理が容易。
  • ▶ハイブリッド方式:データは共通鍵、その鍵の受け渡しに公開鍵を使う。
  • ▶デジタル署名は、送信者の秘密鍵で署名し、送信者の公開鍵で検証(暗号化とは鍵の使い方が逆)。

よくある質問

Q. なぜ受信者の公開鍵で暗号化するのですか?

A. 公開鍵で暗号化したものは、対になる秘密鍵でしか復号できないためです。秘密鍵は受信者本人だけが持っているので、受信者の公開鍵で暗号化すれば、受信者だけが読めることが保証されます。誰でも使える公開鍵を暗号化に使う点がポイントです。

Q. 共通鍵と公開鍵はどちらが優れていますか?

A. 一長一短です。共通鍵は高速ですが鍵の配送が難しく、公開鍵は鍵管理が容易ですが低速です。そのため実務では、データ本体は共通鍵で暗号化し、その鍵の受け渡しだけ公開鍵で行うハイブリッド方式が一般的です。

関連する用語

用語の詳しい解説は用語集で確認できます。

関連する図解