対象試験と出題頻度
公開鍵暗号方式は、ITパスポート試験、情報セキュリティマネジメント試験、基本情報技術者試験、応用情報技術者試験のすべてで出題される最重要テーマです。
頻出度は「S(超重要)」で、共通鍵暗号方式との違いや「誰の鍵で暗号化するか」を問う問題が繰り返し出題されています。暗号化分野の要なので、確実にマスターしておきましょう。
詳細をクリックして確認
ITパスポート
情報セキュリティマネジメント
基本情報技術者
応用情報技術者
★★★★★
ランクS(超重要)
用語の定義
公開鍵暗号方式(Public Key Cryptography)とは、一言で言うと「暗号化と復号で異なる鍵を使う暗号方式」のことです。「非対称鍵暗号方式」とも呼ばれます。
イメージとしては、「郵便ポスト」を思い浮かべてください。誰でも手紙を投函(暗号化)できますが、鍵を持っているポストの持ち主だけが中身を取り出せます(復号)。投函口が「公開鍵」、取り出し用の鍵が「秘密鍵」に相当します。
📊 公開鍵暗号方式の仕組み(暗号化通信の場合)
| 処理 | 使用する鍵 | 実行者 |
|---|---|---|
| 鍵ペア作成 | 公開鍵+秘密鍵 | 受信者 |
| 暗号化 | 受信者の公開鍵 | 送信者 |
| 復号 | 受信者の秘密鍵 | 受信者 |
解説
情報処理試験を勉強していると、「公開鍵で暗号化?秘密鍵で暗号化?どっち?」と混乱しがちです。結論から言うと、用途によって使う鍵が変わります。
暗号化通信なら「公開鍵で暗号化→秘密鍵で復号」、デジタル署名なら「秘密鍵で署名→公開鍵で検証」です。試験では「暗号化通信」のパターンが圧倒的に多いので、まずはこちらを確実に押さえましょう。
公開鍵暗号方式の最大の特徴
公開鍵暗号方式の画期的な点は、暗号化に使う鍵を堂々と公開できることです。公開鍵で暗号化したデータは、ペアになる秘密鍵でしか復号できません。
つまり、公開鍵が盗まれても、秘密鍵さえ守っていればデータは安全です。
これにより、共通鍵暗号方式の弱点だった「鍵配送問題」が解決します。
共通鍵暗号方式では、暗号化通信を始める前に同じ鍵を安全に共有する必要がありましたが、公開鍵暗号方式なら、公開鍵をインターネット上で公開しても問題ありません。
「誰の鍵で暗号化するか」を完全理解
試験で最も出題されるのが「XさんがYさんに暗号化メールを送る場合、どの鍵を使うか」という問題です。これを間違えないために、以下のルールを覚えてください。
暗号化通信の場合、鍵ペアを作るのは「受信者」です。受信者が公開鍵と秘密鍵のペアを作成し、公開鍵を送信者に渡します。送信者は「受信者の公開鍵」でデータを暗号化し、受信者は「受信者の秘密鍵」で復号します。
つまり、「XさんがYさんに送る」場合、暗号化に使うのは「Yさんの公開鍵」です。Xさん自身の鍵は使いません。「受け取る人の公開鍵で暗号化」と覚えましょう。
💡 覚え方のコツ
「郵便ポストに手紙を入れる」とイメージしてください。
ポストは受け取る人(受信者)のものです。誰でも投函できる(公開鍵で暗号化)けど、鍵を持っている持ち主だけが取り出せる(秘密鍵で復号)。だから暗号化には「受信者の公開鍵」を使います。
共通鍵暗号方式との比較
公開鍵暗号方式は鍵配送問題を解決しましたが、万能ではありません。計算が複雑なため、処理速度が遅いという弱点があります。大量のデータを暗号化するには向いていません。
そこで実際のシステムでは、両方の長所を組み合わせた「ハイブリッド暗号方式」が使われます。
最初に公開鍵暗号方式で共通鍵を安全に交換し、その後は高速な共通鍵暗号方式でデータを暗号化します。HTTPS通信やSSL/TLSはこの方式を採用しています。
📊 共通鍵暗号方式と公開鍵暗号方式の比較
| 項目 | 共通鍵暗号方式 | 公開鍵暗号方式 |
|---|---|---|
| 鍵の数 | 1つ(共通鍵) | 2つ(公開鍵+秘密鍵) |
| 処理速度 | 速い | 遅い |
| 鍵の配送 | 安全に渡す方法が課題 | 公開鍵は公開OK |
| 鍵の管理数 | n人でn(n-1)/2個 | n人で2n個 |
| 代表例 | AES、DES | RSA、楕円曲線暗号 |
代表的な公開鍵暗号アルゴリズム
RSAは、最も広く使われている公開鍵暗号です。考案者3人(Rivest、Shamir、Adleman)の頭文字から名付けられました。「大きな数の素因数分解が困難」という数学的性質を利用しています。
鍵長は2048ビット以上が推奨されており、SSL/TLS通信やデジタル署名で使われています。
楕円曲線暗号(ECC)は、RSAより短い鍵長で同等の安全性を実現できる方式です。256ビットの楕円曲線暗号は、3072ビットのRSAと同程度の強度を持つとされています。処理効率が良いため、スマートフォンやIoTデバイスで採用が進んでいます。
⚠️ デジタル署名では鍵の使い方が逆になる
暗号化通信では「公開鍵で暗号化→秘密鍵で復号」ですが、デジタル署名では「秘密鍵で署名→公開鍵で検証」と逆になります。
秘密鍵は本人だけが持っているので、秘密鍵で作った署名は「本人が作成した証拠」になります。試験では「暗号化」と「署名」で使う鍵が異なることを問う問題が出るので、区別しておきましょう。
試験ではこう出る!
公開鍵暗号方式は、全試験区分で超頻出です。「共通鍵暗号方式との違い」と「誰の鍵で暗号化するか」の2つを押さえておけば、ほとんどの問題に対応できます。RSAの具体的な計算方法までは問われません。試験ではここまででOKです。
【重要キーワード】
- 公開鍵暗号方式(非対称鍵暗号方式)
- 公開鍵・秘密鍵のペア
- 暗号化と復号で異なる鍵を使用
- 鍵配送問題を解決
- 処理速度は遅い
- RSA、楕円曲線暗号(ECC)
試験問題で「暗号化と復号で異なる鍵を使う」「公開鍵で暗号化し、秘密鍵で復号」「鍵の配送問題を解決」という記述があれば、それは「公開鍵暗号方式」です。
📊 公開鍵暗号方式の用途と鍵の使い方(試験対策)
| 用途 | 使う鍵(処理1) | 使う鍵(処理2) |
|---|---|---|
| 暗号化通信 | 受信者の公開鍵で暗号化 | 受信者の秘密鍵で復号 |
| デジタル署名 | 送信者の秘密鍵で署名 | 送信者の公開鍵で検証 |
📝 IPA試験での出題ポイント
公開鍵暗号方式の問題は、「XさんがYさんに暗号化メールを送る場合、使う鍵は?」という形式が定番です。答えは「Yさんの公開鍵」です。
また、「公開鍵暗号方式の特徴」を問う問題では、「処理速度が遅い」「鍵配送問題を解決」「1つの鍵ペアで複数人と通信可能」といった選択肢が正解になることが多いです。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. 公開鍵暗号方式に関する説明として、最も適切なものはどれでしょうか?
- A. 暗号化と復号で同じ鍵を使用し、処理速度が速いため大量データの暗号化に適している
- B. 送信者が鍵ペアを作成し、送信者の秘密鍵でデータを暗号化して受信者に送る方式
- C. 暗号化と復号で異なる鍵を使用し、公開鍵は公開できるため鍵配送問題を解決できる
正解と解説を見る
正解:C
解説:
公開鍵暗号方式は、暗号化と復号で異なる鍵(公開鍵と秘密鍵)を使用する方式です。公開鍵で暗号化したデータはペアになる秘密鍵でしか復号できないため、公開鍵を公開しても安全です。これにより、共通鍵暗号方式の課題だった「鍵配送問題」を解決できます。代表的なアルゴリズムにはRSAや楕円曲線暗号があります。
選択肢Aは「共通鍵暗号方式」の説明です。選択肢Bは誤りで、暗号化通信では鍵ペアを作るのは「受信者」であり、暗号化には「受信者の公開鍵」を使います(送信者の秘密鍵を使うのはデジタル署名の場合)。