公開鍵暗号方式
数学的に対になった公開鍵と秘密鍵を使う暗号方式。前者は他人に渡せるが、後者は持ち主だけが管理する。暗号化では前者で暗号化して後者で復号し、デジタル署名では後者で署名を作って前者で検証する。
イマシルちゃんの解説
公開鍵暗号方式は、他人に渡せる鍵と自分だけで管理する鍵を対にして使う暗号方式だよ。
前者を公開鍵、後者を秘密鍵と呼ぶんだ。
秘密の内容を送りたいときは、受け取る人が配った方の鍵でデータを暗号化するよ。
元に戻せるのは、対になるもう片方の鍵を持つ人なんだ。
だから復号に必要な鍵を相手へ渡さずに、暗号化したデータを受け取れるの。
鍵を対にして使う仕組みはデジタル署名にも利用できて、本人が作ったことや内容が変わっていないことを確かめるのに役立つよ。
ただし配られた鍵が本当に相手のものかは確認が必要なんだ。
この解説はわかりやすかったですか?
より深い解説
定義
公開鍵暗号方式(非対称鍵暗号方式)は、数学的に対になった2つの鍵を使う暗号方式である。一方の鍵で暗号化したものは、もう一方の鍵でしか復号できない。片方の鍵(公開鍵)を公開しても、もう片方の鍵(秘密鍵)を現実的な時間で求めることはできない。
2つの使い方
| 使い方 | 送信者が使う鍵 | 受信者が使う鍵 | 実現すること |
|---|---|---|---|
| 暗号化 | 受信者の公開鍵 | 受信者の秘密鍵 | 受信者だけが読める(機密性) |
| デジタル署名 | 送信者の秘密鍵 | 送信者の公開鍵 | 送信者本人が作り、改ざんされていないことを確認できる(認証、完全性、否認防止) |
暗号化では「受信者の鍵」、署名では「送信者の鍵」を使う。どちらの場合も、秘密鍵を使う人は1人(本人)だけである。
共通鍵暗号方式との比較
| 共通鍵暗号方式 | 公開鍵暗号方式 | |
|---|---|---|
| 鍵 | 暗号化と復号で同じ鍵 | 暗号化と復号で異なる鍵 |
| 鍵の配送 | 安全な方法で渡す必要がある | 公開鍵は公開してよい |
| n人が互いに通信するのに必要な鍵の数 | n(n−1)/2個 | 2n個 |
| 処理の速さ | 速い | 遅い |
| 代表的な方式 | AES | RSA、楕円曲線暗号 |
公開鍵暗号は処理が遅いため、大きなデータの暗号化には向かない。実際のシステム(TLSやS/MIMEなど)では、公開鍵暗号(または鍵交換)で共通鍵を安全に共有し、データそのものは共通鍵暗号で暗号化するハイブリッド暗号方式が使われる。
代表的な方式
| 方式 | 安全性の根拠 | 特徴 |
|---|---|---|
| RSA | 大きな数の素因数分解の難しさ | 暗号化と署名の両方に使える。安全性のために長い鍵(2048ビット以上)が必要 |
| 楕円曲線暗号(ECC) | 楕円曲線上の離散対数問題の難しさ | RSAより短い鍵で同等の安全性が得られる(256ビットで、RSAの3072ビット相当) |
| Diffie-Hellman鍵交換 | 離散対数問題の難しさ | 暗号化ではなく、共通鍵を共有するための方式 |
公開鍵の正しさの保証
公開鍵暗号では、「その公開鍵が本当に相手のものか」が重要になる。攻撃者が自分の公開鍵を相手のものと偽って渡せば、中間者攻撃が成立する。そこで、信頼できる第三者である認証局(CA)が、公開鍵とその持ち主の対応を、デジタル証明書で保証する。この仕組みをPKI(公開鍵基盤)という。
量子コンピュータの影響
RSAや楕円曲線暗号は、大規模な量子コンピュータが実現すると、効率的に解読される可能性がある。そのため、量子コンピュータでも解読が難しいとされる耐量子計算機暗号(PQC)の標準化と移行が進められている。
実際の試験ではここに出る!全7問
ネットワークスペシャリスト
テクニカルエンジニア(ネットワーク)
- 午前