教育・資格支援

秘密鍵方式と公開鍵方式の違いは「鍵を公開するのは受信者」で解決!


結論:「鍵を公開するのは受信者」だけ覚えれば迷わない

秘密鍵方式(共通鍵暗号方式)は、1つの鍵を送信者と受信者で共有する方式。
公開鍵方式(公開鍵暗号方式)は、「公開鍵」と「秘密鍵」のペアを使う方式です。
試験で混乱しやすいのは「どっちの鍵で暗号化するか」ですが、鍵を公開するのは受信者と覚えるだけで、関連問題はすべて解けるようになります。

「公開鍵で暗号化して……いや、秘密鍵だったっけ?」

暗号方式の問題を解くたびに、こんなふうに手が止まっていませんか?

秘密鍵方式と公開鍵方式は、ITパスポート・基本情報技術者試験の両方で定番の頻出テーマです。それなのに「共通鍵」「公開鍵」「秘密鍵」と似た言葉が並ぶせいで、どの鍵が何の役割なのか混乱しやすいんですよね。

この記事では、2つの方式の仕組みを図解で整理したうえで、「どっちの鍵?」で二度と迷わなくなる覚え方を紹介します。練習問題付きなので、読み終わる頃にはこの分野を得点源にできますよ。

ユウイチ
ユウイチ
鍵の役割さえ整理できれば、暗号分野は一気に得点源になります。図と一緒にサクッと押さえていきましょう^^

この記事でわかること

・秘密鍵方式(共通鍵暗号方式)の仕組みとメリット・デメリット
・公開鍵方式(公開鍵暗号方式)の仕組みとメリット・デメリット
・「どっちの鍵で暗号化?」で迷わなくなる覚え方
・2つの方式の違いがひと目でわかる比較表と図解
・本番形式の練習問題3問(解説付き)

※筆者:ユウイチ(エンジニア歴20年→フリーランス→法人化)。現在はIT研修講師としてIT教育にも携わっています。


秘密鍵方式(共通鍵暗号方式)とは?

まずは秘密鍵方式からです。IPAの試験では「共通鍵暗号方式」という名前で出題されることが多いので、両方の呼び名をセットで覚えておきましょう。


仕組み:1つの鍵を送信者と受信者で共有する

秘密鍵方式とは、暗号化と復号に「同じ1つの鍵(共通鍵)」を使う暗号方式です。

流れはシンプルです。

・送信者が共通鍵でデータを暗号化して送る
・受信者が同じ共通鍵で復号して読む

家の合鍵を家族で共有しているイメージに近く、仕組み自体はとても直感的ですね。


最大の課題は「鍵配送問題」

ただし、秘密鍵方式には大きな弱点があります。それが鍵配送問題です。

暗号化したデータを相手に読んでもらうには、事前に共通鍵そのものを相手へ渡す必要があります。ところが、その鍵を送る途中で第三者に盗まれたら、以降の通信はすべて解読されてしまいます。

「鍵を安全に届けるために暗号化したいのに、その鍵をどう安全に届けるのか」という、ニワトリとタマゴのような問題ですね。この鍵配送問題を解決するために生まれたのが、後述する公開鍵方式です。

もう1つ、試験で問われやすいのが必要な鍵の本数です。秘密鍵方式では通信する相手ごとに別の鍵が必要になるため、n人が互いに通信する場合、鍵の数はn(n−1)÷2本に膨れ上がります。たとえば10人なら45本、100人なら4,950本です。人数が増えるほど鍵の管理が大変になる、と押さえておきましょう。


メリット・デメリットと主な利用例

秘密鍵方式の特徴を整理するとこうなります。

メリット

・暗号化・復号の処理が高速で、大量データの暗号化に向く
・計算負荷が軽く、実装も比較的シンプル

デメリット

・鍵を安全に共有する手段が別途必要(鍵配送問題)
・鍵が漏れると、その鍵で暗号化したデータがすべて解読される
・通信相手が増えると鍵の数が爆発的に増える

代表的なアルゴリズムはAES(Advanced Encryption Standard)です。現在の標準で、Wi-Fiの暗号化(WPA2/WPA3)やVPN、ファイルの暗号化など身近なところで広く使われています。かつての標準だったDESは、鍵長が短く解読されやすいため現在は非推奨です。「AESが現役、DESは過去のもの」とセットで覚えると試験で役立ちます。

ポイント

・秘密鍵方式=共通鍵暗号方式。暗号化と復号に「同じ鍵」を使う
・高速だが、鍵の受け渡しが弱点(鍵配送問題)
・n人で通信すると鍵は n(n−1)÷2 本必要
・代表例はAES(DESは旧式)


講師視点|2つの「秘密鍵」を混同しないコツ

僕が初学者に説明する時は以下のような伝え方をしています。

ポイント

・家の合鍵を家族で共有するイメージ(同じ鍵で誰でも開け閉めできるが、1本でも落とすと家族全員が危ない)
・2人だけが知っている暗証番号のロッカー(番号が漏れた瞬間、中身は全滅)
・南京錠の「同じ鍵のコピー」を相手に渡しておく感覚(渡す途中で盗まれるのが鍵配送問題)

初学者がつまずきやすいのは、「秘密鍵方式の秘密鍵」と「公開鍵方式の秘密鍵」を同じものだと思ってしまう誤解です。名前は同じでも、前者は「2人で共有する秘密の鍵」、後者は「本人だけが持つペアの片割れ」で、役割がまったく違います。この記事のように「秘密鍵方式=共通鍵暗号方式」と読み替えるクセをつけると、混同しなくなりますよ。


公開鍵方式(公開鍵暗号方式)とは?

続いて公開鍵方式です。先ほどの鍵配送問題を解決した、現代のインターネット通信を支える仕組みです。


仕組み:「公開鍵」と「秘密鍵」のペアを使う

公開鍵方式とは、「公開鍵」と「秘密鍵」という2つで1組の鍵ペアを使う暗号方式です。

流れはこうなります。

流れ

  • 受信者が「公開鍵」と「秘密鍵」のペアを作る
  • 受信者は「公開鍵」を誰でも見られる場所に公開する
  • 送信者は、受信者の「公開鍵」を使ってデータを暗号化して送る
  • 受信者は、自分だけが持つ「秘密鍵」で復号する

ポイントは、「公開鍵で暗号化したデータは、ペアの秘密鍵でしか復号できない」という性質です。公開鍵は世界中に知られても構いません。復号できる秘密鍵さえ受信者が厳重に守っていれば、通信の中身は安全です。

鍵そのものを相手に渡す必要がないので、秘密鍵方式の弱点だった鍵配送問題がきれいに解決されるわけですね。


メリット・デメリットと主な利用例

メリット

・鍵を事前に共有する必要がない(鍵配送問題を解決)
・秘密鍵を1本守るだけでよく、鍵管理がラク(n人でも鍵ペアはn組=2n本で済む)

デメリット

・暗号化・復号の処理が秘密鍵方式よりかなり遅い
・計算コストが高く、大量データの暗号化には向かない

代表的なアルゴリズムはRSA暗号です。利用例としては、HTTPS通信を支えるSSL/TLS、電子メールの暗号化(PGP/GPG)などが挙げられます。Webサイトを見るとき、僕たちは毎日この方式のお世話になっているわけですね。


試験で迷わないコツ:「鍵を公開するのは受信者」

さて、ここがこの記事で一番伝えたい部分です。

公開鍵方式の問題では、「暗号化・復号に使用する鍵はどれか」が本当によく問われます。本番で「え〜っと……どっちの鍵だったっけ……」とならないために、覚えることはたった1つだけです。

鍵を公開するのは受信者

これだけですべて解決します。理由を考えてみましょう。

受信者が鍵を公開する相手は「これからデータを送ってくる送信者」です。つまり、送信者に対して公開する鍵は、必然的に「暗号化に使う鍵」になります。今からデータを暗号化して送ろうとしている送信者に、復号用の鍵を渡しても意味がないからです。当たり前の話ですみません^^;

整理するとこうなります。

ポイント

暗号化:送信者が「受信者の公開鍵」を使う
復号:受信者が「受信者の秘密鍵」を使う

使われる鍵はどちらも「受信者の」鍵です。送信者の鍵は登場しません。この一行をメモしておくだけで、本番で迷うことはなくなります。めっちゃ簡単ですね^^

ユウイチ
ユウイチ
「鍵を公開するのは受信者」──試験前はこの一行だけ思い出せればOKです。理屈ごと覚えれば忘れません^^

なお、少し発展的な話として、デジタル署名では鍵の使い方が逆になる(送信者が自分の秘密鍵で署名し、受け取った側が送信者の公開鍵で検証する)という論点もあります。基本情報を受ける方は「暗号化は受信者の鍵、署名は送信者の鍵」と対比で頭の片隅に置いておくと、上位の問題にも対応できますよ。

同じ鍵ペアを使いながら「本人が送ったこと」を証明するのがデジタル署名です。混同しやすいポイントなので、あわせて確認しておくと理解が固まります。

こちらもCHECK

デジタル署名の仕組みとは?暗号化との違いを図解でわかりやすく解説します

今回は、ITパスポートと基本情報技術者試験のセキュリティ分野でほぼ毎年出題される定番テーマ、「デジタル署名の仕組み」を、鍵の使い方からやさしく解説していきます。 「公開鍵と秘密鍵、どっちを使うのか毎回 ...

続きを見る


講師視点|「公開鍵でも復号できる」という誤解

僕が初学者に説明する時は以下のような伝え方をしています。

ポイント

・鍵付きポストのイメージ(投函口は誰でも使えるが、開けて取り出せるのは持ち主だけ=秘密鍵)
・宅配ボックスのイメージ(荷物は誰でも入れられるが、取り出せるのは受取人だけ)

初学者に多いのは、「公開鍵で暗号化したものは、同じ公開鍵で復号もできる」という誤解です。公開鍵と秘密鍵は一方通行のペアで、公開鍵で閉めたら、ペアの秘密鍵でしか開きません。だからこそ公開鍵は世界中に配っても安全なわけです。「閉める鍵と開ける鍵は別」という方向感を持つと、一気に理解がスムーズになりますよ。


秘密鍵方式と公開鍵方式の違い【比較表+図解】

ここまでの内容を表で整理します。試験直前の見直しにも使ってください。

項目秘密鍵方式(共通鍵暗号方式)公開鍵方式(公開鍵暗号方式)
鍵の数1つ(共通鍵を共有)2つで1組(公開鍵+秘密鍵)
鍵の事前共有必要(鍵配送問題あり)不要(受信者が公開鍵を公開)
処理速度高速(大量データ向き)低速(計算コスト大)
n人で通信時の鍵数n(n−1)÷2 本n組(2n本)
代表例・用途AES/Wi-Fi・VPN・データ暗号化RSA/SSL・TLS・電子メール暗号化

対比で覚えるなら、「速いけど鍵の共有が課題」が秘密鍵方式、「遅いけど鍵を共有しなくていい」が公開鍵方式です。お互いの弱点を補い合う関係なんですね。


試験対策:練習問題で確認しよう

仕組みがわかったら、本番形式の問題で定着させましょう。以下はすべて本記事用に作成したオリジナル問題です。


練習問題1:共通鍵暗号方式の特徴

共通鍵暗号方式に関する記述として、最も適切なものはどれか。

ア 暗号化と復号に異なる鍵を使用するため、鍵を事前に共有する必要がない
イ 暗号化と復号に同じ鍵を使用し、処理速度が速いため大量のデータの暗号化に適している
ウ 暗号化に使う鍵を公開しても、安全性は保たれる
エ 代表的なアルゴリズムとしてRSAがある

👉 正解を見る

正解:イ
解説:共通鍵暗号方式は「同じ鍵」を使い、処理が高速で大量データ向き──まさに本文で見たとおりの特徴です。アとウは公開鍵方式の説明なので誤り。エのRSAは公開鍵方式の代表例で、共通鍵方式の代表はAESです。「同じ鍵・高速・AES」の3点セットで判断しましょう。


練習問題2:暗号化に使う鍵はどれ?

AさんがBさんに機密データを公開鍵暗号方式で暗号化して送信する。このとき、Aさんが暗号化に使用する鍵はどれか。

ア Aさんの公開鍵
イ Aさんの秘密鍵
ウ Bさんの公開鍵
エ Bさんの秘密鍵

👉 正解を見る

正解:ウ
解説:「鍵を公開するのは受信者」を思い出してください。受信者はBさんなので、公開されているのはBさんの公開鍵。送信者Aさんはそれを使って暗号化します。復号はBさんが自分の秘密鍵で行います。ア・イの「送信者の鍵」はこの場面では一切使いません。エのBさんの秘密鍵は復号用であり、そもそもBさん以外は持っていないため暗号化には使えません。


練習問題3:必要な鍵の本数

10人が共通鍵暗号方式を用いて、それぞれ互いに暗号化通信を行いたい。通信の組合せごとに異なる鍵を用いる場合、必要な鍵は全部で何本か。

ア 10本
イ 20本
ウ 45本
エ 90本

👉 正解を見る

正解:ウ
解説:n人で必要な鍵の数は n(n−1)÷2 本です。10×9÷2=45本となります。アの10本は「1人1本」と誤解した場合、イの20本は公開鍵方式の鍵総数(2n本)と混同した場合、エの90本は2で割り忘れた(AとB・BとAを別カウントした)場合の誤答です。割る2を忘れやすいので注意しましょう。


練習問題4:AESとRSAの分類

暗号アルゴリズムAESとRSAに関する記述として、適切なものはどれか。

ア AESは公開鍵暗号方式であり、RSAは共通鍵暗号方式である
イ AESは共通鍵暗号方式であり、RSAは公開鍵暗号方式である
ウ AESとRSAは、いずれも共通鍵暗号方式である
エ AESとRSAは、いずれも公開鍵暗号方式である

👉 正解を見る

正解:イ
解説:AESは共通鍵(秘密鍵)方式の現在の標準、RSAは公開鍵方式の代表です。ア・ウ・エはこの対応関係が崩れているため誤り。アルゴリズム名と方式の組合せはそのまま出題されるので、「AES=共通鍵の標準規格(Sは Standard のS)」「RSA=公開鍵(開発者3人の頭文字)」と由来ごと覚えておくと取り違えません。

ポイント

・「同じ鍵・高速・AES」なら共通鍵暗号方式
・暗号化=受信者の公開鍵、復号=受信者の秘密鍵
・共通鍵の本数は n(n−1)÷2。「÷2」を忘れない
・AES=共通鍵方式、RSA=公開鍵方式


実務で使われるハイブリッド暗号

実務では、2つの方式は「どちらか一方」ではなく組み合わせて使われます。代表例がHTTPS(SSL/TLS)で、まず公開鍵方式で共通鍵を安全に受け渡し、その後の実データのやり取りは高速な共通鍵方式(AES)で行います。これをハイブリッド暗号方式と呼びます。

「鍵の受け渡しは公開鍵方式、本番のデータは共通鍵方式」と役割分担することで、両者の弱点を打ち消し合っているわけです。この構図を知っておくと、現場でTLSやVPNの話題が出たときにもスッと理解できますよ。

実際のWeb通信(HTTPS)では、この2つの方式がどんな順番で組み合わされているのか。サーバ証明書やTLSハンドシェイクの流れまで、こちらで図解しています。

こちらもCHECK

【図解】ハイブリッド暗号とは?SSL/TLSの正体を3分で解説

今回は、ITパスポートと基本情報技術者試験のセキュリティ分野でほぼ毎年出題される「ハイブリッド暗号方式」と「SSL/TLS」の仕組みを、図解でやさしく解説していきます。 「共通鍵と公開鍵、どっちの鍵で ...

続きを見る

もう1つ、暗号化と混同されやすいのが「ハッシュ化」です。元に戻せない一方向の変換で、目的も使いどころも暗号化とは別物なんですね。この違いもあわせて確認しておくと、セキュリティ分野全体の理解が固まります。

こちらもCHECK

ハッシュ関数とは?ハッシュ値の仕組みと暗号化との違いを図解で解説

今回は、ITパスポートと基本情報技術者試験のセキュリティ分野でほぼ毎年出題される定番用語、「ハッシュ関数」を、仕組みからやさしく解説していきます。 「暗号化と何が違うのか分からない」「ハッシュ値って結 ...

続きを見る


まとめ

今回は、秘密鍵方式と公開鍵方式の違いを解説しました。最後に要点を確認しましょう。

ポイント

・秘密鍵方式(共通鍵暗号方式)=同じ鍵を「共有」する。高速だが鍵配送問題が弱点。代表はAES
・公開鍵方式(公開鍵暗号方式)=鍵ペアの片方を「公開」する。低速だが鍵共有が不要。代表はRSA
・覚え方は「共有するのが秘密鍵方式、公開するのが公開鍵方式。そして鍵を公開するのは受信者」

暗号分野はとっつきにくく見えますが、鍵の役割さえ整理できれば確実に取れる分野です。試験本番でこの問題が出てきたら、自信を持って正解しておきましょうね^^

ユウイチ
ユウイチ
「鍵を公開するのは受信者」。この記事から1つだけ持ち帰るなら、これで決まりです^^

独学の不安、ひとりで抱えていませんか?

「暗号分野はわかったけど、ほかの分野も独学で乗り切れるか不安……」
そんな方に向けて、エンジニア歴20年・現役講師の僕が、無料のLINEコミュニティで勉強法の相談や質問対応をしています。参加無料・匿名OK、話を聞くだけでも大歓迎です。

▶ ITキャリアラボの詳細はこちら

ITキャリアラボ

【無料】ITの悩みを気軽に相談できるコミュニティ・ITキャリアラボ

IT業界を目指すあなたへ|「ITキャリアラボ」無料コミュニティのご案内 「IT業界に転職したいけど、何から始めればいいかわからない…」「資格の勉強が続かない…」「相談できる人がいない…」 そんな不安、 ...

続きを見る

  • この記事を書いた人
  • 最新記事

ユウイチ

20年間ソフトウェアエンジニアとして働いた後、フリーランスを経て現在は1人社長として活動。 プログラミング講師やIT教育を中心に活動しながら、趣味でゲーム開発やシナリオ作成にも挑戦中。どちらも「創ることを通じて人を笑顔にしたい」という想いから始めた、大切なライフワーク。 「創造と教育で、人生に迷う人の“自由な一歩”を支援」を理念に発信中。

-教育・資格支援