インターネットでの電子決済やメールのやりとりなど、私たちの生活のさまざまな場面で「暗号技術」が使われており、安全に情報をやり取りするために、暗号は欠かせない仕組みです。その中でも特によく使われているのが、「共通鍵暗号方式」と「公開鍵暗号方式」です。
この記事では「共通鍵暗号方式」と「公開鍵暗号方式」について、以下の内容を図を用いてわかりやすく解説します。
- 共通鍵暗号方式(AES)とは?
- 共通鍵暗号方式の「メリット」と「デメリット」
- 公開鍵暗号方式(RSA)とは?
- 公開鍵暗号方式の「メリット」と「デメリット」
- 共通鍵暗号方式と公開鍵暗号方式の違いと比較
- ハイブリッド暗号方式とは?
共通鍵暗号方式(AES)とは?

共通鍵暗号方式は、送信者(暗号化する側)と受信者(復号する側)が同じ鍵(共通鍵)を使う方式です。
送信者は「共通鍵」を用いて暗号化を行います。受信者も同じ「共通鍵」を用いて復号を行います。この「暗号化と復号に同じ鍵を使う」点が共通鍵暗号方式の主な特徴です。
共通鍵暗号方式のイメージ
- 送信者と受信者は「同じ鍵(共通鍵)で開けられる南京錠」を持っています。
- 送信者は箱に手紙を入れて「同じ鍵(共通鍵)」でロックします。
- 受信者は「同じ鍵(共通鍵)」で箱を開けて手紙を読みます。
共通鍵暗号方式で最もよく使われているのが「AES(Advanced Encryption Standard)」です。かつて使われていた「DES」という方式の後継として、アメリカ政府が公募して選んだ方式です。現在では、企業・政府機関など世界中で利用されています。AESには以下の種類があり、鍵が長いほど安全性は上がりますが、その分処理コストも増えます。用途に応じて使い分けられています。
- AES-128(128ビットの鍵)
- AES-192(192ビットの鍵)
- AES-256(256ビットの鍵)
共通鍵暗号方式の「メリット」と「デメリット」
共通鍵暗号方式の「メリット」と「デメリット」を以下に示します。
メリット
- 暗号化・復号の処理が高速
- 暗号化・復号の処理がシンプルなので、処理時間が早いです。
デメリット
- 安全に鍵を渡す必要がある
- 鍵の受け渡し自体がリスクになるため、安全な方法で鍵を共有する手段が必要です。
- 相手ごとに鍵が必要
- Aさん用、Bさん用、Cさん用…と相手の数に応じて鍵を作る必要があるため、鍵の数が多数必要です。
- 鍵が漏れると全通信が危険
- 共通鍵が第三者に知られてしまうと、すべての通信が筒抜けになります。
共通鍵暗号方式は、暗号化と復号に同じ鍵(共通鍵)を使う方式です。そのため、共通鍵を「秘密」にしておかないと、第三者に盗み見られるリスクがあります。この「秘密にする必要がある」という特性から、共通鍵暗号方式は「秘密鍵暗号方式」とも呼ばれています。
公開鍵暗号方式(RSA)とは?

公開鍵暗号方式(RSA)は共通鍵暗号方式(AES)とは違い、送信者(暗号化する側)と受信者(復号する側)で別々の鍵を使う方式です。
鍵は以下の2つで構成されます。
- 受信者の公開鍵(Public Key):誰でも使える鍵であり、公開してOK。
- 受信者の秘密鍵(Private Key):自分だけが持っている鍵。
まず、受信者は暗号化に使う鍵(公開鍵)を公開します。送信者は「受信者の公開鍵」を用いて暗号化を行います。受信者は「受信者の秘密鍵(自分だけが持っている鍵)」を用いて復号を行います。暗号化には公開鍵を使うので、鍵の受け渡しが不要になります。これが公開鍵暗号方式の大きな特徴です。
公開鍵暗号方式のイメージ
- 受信者は「私専用の南京錠(公開鍵)」を公開しています。
- 送信者は箱に手紙を入れて公開鍵でロックします(公開鍵は公開されているので、誰でもその南京錠で箱をロックできます)。
- ロックされた箱は秘密鍵を持っている受信者だけが開けられます。
公開鍵暗号方式の代表的なアルゴリズムの一つが「RSA(Rivest-Shamir-Adleman)」です。1977年に提案され、現在も多くの電子証明書やSSL/TLS(HTTPS)などで使われています。
公開鍵暗号方式の「メリット」と「デメリット」
公開鍵暗号方式の「メリット」と「デメリット」を以下に示します。
メリット
- 鍵の受け渡しが不要
- 公開鍵は誰にでも配ってよいので、鍵の受け渡しが不要です。
- 相手ごとに鍵を作らなくていい
- どれだけ多くの相手と通信しても、1組の鍵(「受信者の公開鍵」と「受信者の秘密鍵」)でやり取りできるため、管理が楽です。
- 安全性が高い
- 素因数分解などの高度な数学に基づくアルゴリズムのため、解読が非常に難しいです。
デメリット
- 処理が重い
- 共通鍵暗号方式と比較すると、複雑な数学的処理を行うため、暗号化・復号に時間がかかります。
- 送信者のなりすましリスクがある
- 公開鍵を使って誰でも暗号化できるため、「誰が暗号化したのか」の認証が難しいです。
共通鍵暗号方式と公開鍵暗号方式の違いと比較
共通鍵暗号方式と公開鍵暗号方式の違いを以下にまとめます。
特徴 | 共通鍵暗号方式(AES) | 公開鍵暗号方式(RSA) |
---|---|---|
鍵の種類 | 同じ鍵を使用 | 「公開鍵」と「秘密鍵」のペアを使用 |
鍵の配布 | 相手ごとに共通鍵を安全に渡す必要がある | 公開鍵を公開するのみ |
処理速度 | 速い | 遅い |
安全性 | 共通鍵が漏れると全通信が危険 | 秘密鍵さえ守れば安全 |
向いている用途 | 通信データの暗号化 | 鍵のやり取りや電子署名など |
ハイブリッド暗号方式とは?
それぞれの暗号方式には「長所と短所」があり、両者の長所を活かした方法がハイブリッド暗号方式です。
ハイブリッド暗号方式の仕組み
- 公開鍵暗号方式(RSA)で、共通鍵を安全に相手へ送信する
- 共通鍵を受け取った後は、共通鍵暗号方式(AES)で高速に通信する
つまり、「鍵の受け渡し」は安全に、「通信そのもの」は高速に行える両者の長所を活かした方式です。実際のインターネット通信(HTTPSなど)でも、このハイブリッド暗号方式が採用されています。
本記事のまとめ
この記事では「共通鍵暗号方式」と「公開鍵暗号方式」について、以下の内容を説明しました。
- 共通鍵暗号方式(AES):処理が速く、通信に向いているが、鍵の管理が大変
- 公開鍵暗号方式(RSA):鍵の受け渡しが不要で安全だが、処理が重い
- ハイブリッド暗号方式:両者の長所を活かした方式。実際の通信でよく使われる
お読み頂きありがとうございました。