【情報】共通鍵暗号方式と公開鍵暗号方式の違いをわかりやすく解説!

当サイトはアフィリエイト広告を利用しています。

インターネットで買い物をしたり、メールを送ったり、ログイン情報を入力したりするとき、私たちの情報はそのまま相手に送られているわけではありません。

もし、パスワードやクレジットカード番号がそのまま流れていたら、途中で誰かに見られてしまう危険があります。

そこで使われているのが、暗号です。

暗号とは、簡単にいうと、

大事な情報を他の人には読めない形に変える仕組み

のことです。

そして、暗号の代表的な方式には、共通鍵暗号方式公開鍵暗号方式の2つがあります。

この記事では、共通鍵暗号方式と公開鍵暗号方式の違いを、できるだけわかりやすく解説します。

あくまで共通テストの「情報」の問題に対応できる範囲での解説をしています。厳密な解説はかなり省いていますので、そのあたりはご了承の上、お読みください。

目次

まず「暗号化」と「復号」を確認しよう

暗号化とは

暗号化とは、普通に読める文章やデータを、他の人には読めない形に変えることです。

たとえば、

明日の集合時間は9時です

という文章を、

x7Aq#91kL

のように、意味がわからない形に変えるイメージです。

もちろん、実際の暗号はもっと複雑ですが、考え方としては

読める情報を、読めない情報に変えること

だと思えば大丈夫です。

復号とは

復号とは、暗号化されたデータを、元の読める形に戻すことです。

つまり、

x7Aq#91kL

という暗号文を、

明日の集合時間は9時です

に戻すことですね。つまり、こんなイメージです。

ちなみに、暗号化される前の文を平文(ひらぶん)と呼びます。

暗号化するときも、復号するときも、基本的には鍵(キー)と呼ばれる情報が必要になります。

この「鍵」の使い方が、共通鍵暗号方式と公開鍵暗号方式では違うんですなあ。

共通鍵暗号方式とは?

共通鍵暗号方式とは、暗号化するときと復号するときに、同じ鍵を使う方式です。

「共通」という名前の通り、送る側と受け取る側が、同じ鍵を共有します。

学生の方

合鍵みたいなイメージだね。

たとえば、AさんがBさんに秘密のメッセージを送るとします。

  1. AさんとBさんが、同じ鍵を持っている
  2. Aさんはその鍵を使ってメッセージを暗号化する
  3. Bさんは同じ鍵を使って、暗号を元に戻す

このような仕組みです。

共通鍵暗号方式のイメージ

共通鍵暗号方式は、同じ合鍵を持っている2人が、同じ金庫を開け閉めするようなイメージです。

Aさんが金庫に手紙を入れて、鍵をかけます。

Bさんは、Aさんと同じ鍵を持っているので、その金庫を開けて手紙を読むことができます。

このとき、AさんとBさんだけが鍵を持っていれば、安全にやり取りできます。

共通鍵暗号方式のメリット

共通鍵暗号方式の大きなメリットは、処理が速いことです。

暗号化や復号にかかる計算が比較的軽いため、大量のデータをやり取りするときに向いています。

特に、インターネット通信では大量のデータをすばやくやり取りする必要があります。

そのため、実際の通信では、データ本体の暗号化に共通鍵暗号方式がよく使われます。

共通鍵暗号方式のデメリット

一方で、共通鍵暗号方式には大きな問題があります。

それは、鍵をどうやって安全に相手へ渡すのかという問題です。

AさんとBさんが同じ鍵を使うためには、最初にその鍵を共有しなければなりません。

しかし、その鍵をインターネットでそのまま送ってしまうと、途中で誰かに盗まれる可能性があります。

鍵が盗まれると、暗号化されたデータも読まれてしまいます。

つまり、共通鍵暗号方式では、

暗号化そのものは速くて便利だけれど、鍵の受け渡しが難しい

という弱点があります。

誰も見てないところで、こっそり受け渡さないといけない

公開鍵暗号方式とは?

公開鍵暗号方式とは、暗号化と復号に、別々の鍵を使う方式です。

公開鍵暗号方式では、公開鍵と秘密鍵という次の2つの鍵を使います。

学生の方

鍵が公開されてる?なんか危なそうだけど…

粗茶さん

公開しても大丈夫なものだけを公開してるので、危なくはないんですよ。


公開鍵とは

公開鍵は、名前の通り、他の人に公開してよい鍵です。

誰に見られても問題ありません。

たとえば、Webサイト上に公開したり、相手に送ったりすることができます。

「鍵なのに公開していいの?」と思うかもしれませんが、公開鍵では暗号を元に戻すことはできません

秘密鍵とは

秘密鍵は、自分(データを受け取る側)だけが持っている鍵です。

これは、絶対に他の人に知られてはいけません。

公開鍵で暗号化されたデータは、対応する秘密鍵を持っている人だけが元に戻せます

つまり、公開鍵と秘密鍵はペアになっているんですね。

公開鍵暗号方式の基本的な仕組み

AさんがBさんに秘密のメッセージを送りたい場合で考えてみましょう。

  1. Bさんは、自分の公開鍵をみんなに公開する
  2. Aさんは、Bさんの公開鍵を使ってメッセージを暗号化する
  3. Aさんは、暗号化したメッセージをBさんに送る
  4. Bさんは、自分だけが持っている秘密鍵でメッセージを復号する

ポイントは、

公開鍵で暗号化したものは、対応する秘密鍵でしか元に戻せない

ということです。

そのため、AさんはBさんの秘密鍵を知らなくても、安全にメッセージを送ることができます。

公開鍵暗号方式のイメージ

公開鍵暗号方式は、

誰でも入れられるけれど、本人しか開けられないポスト

のようなイメージです。

Bさんのポストには、誰でも手紙を入れられます。

でも、そのポストを開けられる鍵を持っているのはBさんだけです。

つまり、AさんはBさん宛てに手紙を安全に入れることができます。

このとき、AさんはBさんの「開けるための鍵」を知る必要がありません。

粗茶さん

Aさんはポストに手紙をいれることで、中身を他人に見られなくなるので、「ポストに入れること」に「暗号化」を例えています。

公開鍵暗号方式のメリット

公開鍵暗号方式のメリットは、鍵を安全に共有しやすいことです。

共通鍵暗号方式では、同じ鍵を相手に渡す必要がありました。

しかし、公開鍵暗号方式では、相手に渡すのは公開鍵です。

公開鍵は他人に知られても問題ないので、インターネット上で公開することができます

そのため、初めて通信する相手とも、安全な通信を始めやすくなります。

粗茶さん

上の例えでいくと、「ポストを設置する」ことが「公開鍵を共有する]
ことにあたります。

公開鍵暗号方式のデメリット

公開鍵暗号方式のデメリットは、処理に時間がかかりやすいことです。

共通鍵暗号方式に比べて、暗号化や復号に必要な計算が複雑です。

そのため、大量のデータをすべて公開鍵暗号方式で暗号化すると、通信が重くなってしまいます。

つまり、公開鍵暗号方式は便利ですが、データ本体を大量に暗号化する用途にはあまり向いていません。

共通鍵暗号方式と公開鍵暗号方式の違い

ここで、2つの違いを表で整理しておきましょう。

項目共通鍵暗号方式公開鍵暗号方式
使う鍵1つの共通鍵公開鍵と秘密鍵の2つ
暗号化と復号同じ鍵を使う別々の鍵を使う
鍵の共有安全に渡すのが難しい公開鍵は公開できる
処理速度速い遅め
大量データの通信向いているあまり向いていない
主な役割データ本体の暗号化鍵交換、本人確認など

ざっくり言うと、次のようになります。

共通鍵暗号方式は速いけれど、鍵の受け渡しが難しい。

公開鍵暗号方式は鍵の受け渡しは安全だけれど、処理が重い。

このように、それぞれに得意なことと苦手なことがあります。

実際の通信では両方を組み合わせて使う

ここまで見ると、

「共通鍵暗号方式と公開鍵暗号方式のどちらが優れているの?」

と思うかもしれません。

しかし、実際にはどちらか一方だけを使うというより、

両方を組み合わせて使う

ことが多いです。

なぜなら、共通鍵暗号方式と公開鍵暗号方式には、それぞれ反対のような特徴があるからです。

共通鍵暗号方式は、処理が速いです。
しかし、鍵を安全に渡すのが難しいです。

公開鍵暗号方式は、鍵を安全にやり取りするのに向いています。
しかし、処理が重くなりやすいです。

そこで、実際の通信では、

  1. 最初に公開鍵暗号方式などを使って、安全に共通鍵を共有する
  2. その後は共通鍵暗号方式を使って、高速にデータをやり取りする
粗茶さん

共通鍵もデータなので、暗号化して送ることは可能です。

という形がよく使われます。つまり、

  • 最初の準備には、公開鍵暗号方式
  • 実際の通信には、共通鍵暗号方式

を使うイメージです。

共通鍵そのものをそのまま送るわけではない

初心者向けの説明では、

公開鍵暗号方式で共通鍵を送る

と説明されることがあります。

イメージとしては大きく間違いではありません。

ただし、より正確にいうと、現在の安全な通信では、共通鍵そのものをそのまま送るというより、

共通鍵を作るための情報を安全にやり取りし、通信する双方で同じ共通鍵を作る

という仕組みが使われることがあります。

少し難しく聞こえるかもしれませんが、とりあえず共通テスト対策としては、

最初に安全な方法で共通鍵を準備し、その後は共通鍵暗号方式で高速に通信する。

と理解しておけば十分かと思います。

まとめ

最後に、2つの関係をまとめておきましょう。

用語役割
共通鍵暗号方式同じ鍵で暗号化・復号する。処理が速く、大量データの通信に向いている
公開鍵暗号方式公開鍵と秘密鍵を使う。安全な鍵交換や本人確認に役立つ

共通鍵暗号方式と公開鍵暗号方式は、どちらか一方だけが優れているわけではありません。

それぞれに役割があります。

共通鍵暗号方式は、実際のデータ通信を速く行うのが得意です。

公開鍵暗号方式は、鍵の受け渡しや相手の確認に向いています。

このように、2つの方式は役割を分担しながら使われています。

インターネットの安全な通信は、1つの技術だけで成り立っているわけではありません。

共通鍵暗号方式と公開鍵暗号方式などの技術が組み合わさることで、私たちは安心してWebサイトを利用できるようになっているのです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次