学習目標
本講を終えると、以下の問いに答えられるようになります。
- 「暗号化」とはどういう発想か、身近なたとえで説明できる
- 盗聴・なりすまし・改ざんといった脅威がなぜ存在するか分かる
- 共通鍵暗号 と 公開鍵暗号 の違いを「鍵の使い方」で説明できる
- 共通鍵暗号における 鍵配送問題 が何かを説明できる
- 公開鍵暗号がなぜ画期的だったのか、その「発想の転換」を説明できる
- 実用では両者を組み合わせて使う(ハイブリッド) ことを概念レベルで把握する
- HTTPS のような身近な仕組みに、暗号がどう使われているかをイメージできる
本講は
第3回(プロトコルとTCP/IP) や
第6回(HTTPとWeb) の続きにあたります。Webサイトの URL が
https:// から始まるとき、裏側で何が動いているのか、その
考え方の核を扱います。アルゴリズム(AES や RSA)の数式や鍵長といった詳しい仕組みは
標準 編で学びます。
このレッスンの目次
なぜ通信に「暗号」が必要なのか
インターネットでデータを送るとき、あなたと相手の間にはたくさんの機械や回線が挟まっています。家のWi-Fi、ISPの装置、海底ケーブル、相手側のサーバ…。途中の 誰か(攻撃者) がその信号をのぞき見たり書き換えたりできてしまうと、私たちのプライバシーやお金は守られません。そのために 暗号 が必要になります。
POINT
通信路の安全を脅かす代表的な3つは 盗聴(中身を読まれる)・なりすまし(別人がふりをする)・改ざん(中身を書き換えられる)。暗号はこのうち主に「盗聴」を防ぎ、関連する仕組みで「なりすまし」「改ざん」も防げます。
身近な例で考える
日常でも、手紙を そのままハガキで送るか、封筒に入れて封をするかでは、安心感が違いますよね。暗号化はちょうど「中身を見られないように封をする」操作にあたります。ただし、紙の封筒よりずっと強力で、 正しい鍵を持つ人しかその封を破れないように作られています。
図の見方:通信路には常に「途中で何かする人(攻撃者)」が現れる可能性がある。本講で扱う暗号化は主に ① 盗聴 を防ぐ仕組み。② なりすまし、③ 改ざんを防ぐには 署名・認証 という別の道具が必要で、それは次の 第9回(認証とディジタル署名) で扱う。
考えてみよう: いつも使っている SNS、ネット銀行、フリーWi-Fiでの買い物…。もし途中の通信が「丸見え」だったら、誰にとってどんな困りごとが起きるでしょう?身の回りのサービスでひとつ想像してみてください。
情報Iで覚えること通信路には 盗聴・なりすまし・改ざん の3つの脅威があり、暗号化 は主に「盗聴」を防ぐ仕組み。
暗号化とは:鍵をかけるという発想
暗号化(encryption) とは、もとのメッセージ(平文 / ひらぶん) を、第三者に読めない形(暗号文 / あんごうぶん) に変える操作のことです。受け取った相手は、その逆の操作 復号(ふくごう) をして、もとのメッセージに戻して読みます。この変換のときに使う「合言葉のような情報」が 鍵(かぎ) です。
POINT
暗号化 = 「鍵」を使って 平文 → 暗号文 に変える。
復号 = 「鍵」を使って 暗号文 → 平文 に戻す。
正しい鍵を持っていない第三者 は、暗号文をのぞき見ても中身が分からない。
用語まとめ(まずはこの3つ)
| 用語 | 意味 | たとえると |
| 平文(plaintext) | もとのメッセージ。人間が読める文章やデータ | 手紙の本文 |
| 暗号文(ciphertext) | 暗号化されて読めなくなったデータ | 鍵で封じた箱の中身 |
| 鍵(key) | 暗号化・復号のときに使う秘密の情報 | 箱を開け閉めする物理的な鍵 |
図で見る:暗号化と復号
図の見方:平文を鍵で施錠するように暗号化すると暗号文になり、受信側では正しい鍵で開錠するように復号して平文に戻す。暗号化の手順は公開されていてよく、秘密にすべき中心は 鍵 だけで済む(=ケルクホフスの原則)。
もっと詳しく:アルゴリズムは公開、鍵だけ秘密(ケルクホフスの原則)
近代の暗号は 「アルゴリズム(暗号化のやり方)は世界中に公開する。秘密にするのは鍵だけ」 という方針で作られています。理由は、アルゴリズムを隠すと 誰も検証できないので逆に弱くなる から。実際、AES や RSA といった代表的な暗号は仕様が公開されていて、世界中の研究者が「破れないか」を試して安全性を保っています。
「秘密」を1つに絞ることは設計上とても重要で、これは情報セキュリティ全般の鉄則です。
情報Iで覚えること暗号化 は 鍵 を使って 平文 → 暗号文 に変える操作で、復号 は鍵で 暗号文 → 平文 に戻す操作。秘密にすべきは 鍵 だけ。
共通鍵暗号:同じ鍵Kで暗号化/復号
共通鍵暗号(きょうつうかぎあんごう / symmetric-key cryptography) は、送信者と受信者が同じ鍵Kを使う方式です。ここでいう鍵Kは物理的な鍵ではなく、コンピュータが扱う 長い0/1の数字 です。同じKで暗号化し、同じKで復号します。「対称鍵暗号」とも呼ばれます。
POINT
共通鍵暗号 = 同じ鍵K(0/1の列)で暗号化・復号。
長所:処理が速く、大量データの暗号化に向く。
短所:鍵を 事前に相手と共有しなければならない。これが意外と難しい(次のセクションで扱う)。
イメージで掴む:鍵Kは長い0/1の数字
アリス(送信者) が、ボブ(受信者) にメッセージを送るとします。ここでは「鍵で施錠する」とたとえますが、実際の鍵Kは物理的な鍵ではなく、101101... のような長い0/1の数字です。コンピュータはデータを0と1で持つので、暗号に使う鍵も0/1の列として扱われます。アリスとボブは あらかじめ同じ数字の鍵K をもっていて、そのKで暗号化・復号します。
ステップで見る:アリスからボブへの秘密通信
ステップ1. アリスとボブは 事前に 同じ 共通鍵K を共有しておく。実際のKは物理的な鍵ではなく、長い0/1の数字である。
ステップ2. アリスはメッセージを、共通鍵K(0/1の列)を使う計算で変換する。比喩で言えば「Kで施錠する」ことで、暗号文 ができあがる。
ステップ3. 暗号文をネットワーク経由でボブへ送る。途中で 盗聴者(イブ) が見ても、鍵Kを持っていないので元の本文に戻せない。
ステップ4. 暗号文がボブに届く。ボブは自分の 共通鍵K(アリスと同じ0/1の数字) を使って、暗号文をもとの形に戻す。
ステップ5. ボブは復号された平文を読む。復号成功! アリスとボブだけが内容を共有できた。
1 / 5
図の見方:共通鍵暗号は 同じ鍵K で暗号化し、同じ鍵Kで復号する方式。ここでいう鍵は物理的な鍵ではなく、コンピュータが扱う 長い0/1の数字 である。Kを持たない第三者は、暗号文を見ても元の本文に戻せない。
代表アルゴリズム(名前だけ知っておけばOK) 発展
- AES(Advanced Encryption Standard):現在もっとも広く使われている共通鍵暗号の 代表例。世界中のWebやファイル暗号化、Wi-Fi のWPA2/3 などで使われている
- ChaCha20:スマホやモバイル通信で使われる共通鍵暗号の 代表例。AESと並ぶ現代の定番
- DES / 3DES:1970〜90年代の主流。今は安全性が足りず、新規利用は推奨されない歴史的
具体的なアルゴリズム名(AES, ChaCha20 など) は 代表例 として挙げているもので、情報Iレベルでは「名前を覚える」より 「同じ数字の鍵Kで暗号化/復号する方式がある」 という考え方をつかめれば十分です。どれもアルゴリズムは公開されていて、秘密にするのは 鍵だけ。
考えてみよう: 家の合鍵は「同じものを持っていると開け閉めできる」という比喩として使えます。ただし、暗号でいう鍵Kの正体は物理的な鍵ではなく 0/1の列 です。もし相手にも同じKを持ってもらう必要があるなら、そのKをどう安全に渡すかが問題になりそうですね。次のセクションで、まさにこの「鍵をどう配るか」が暗号でも大問題になることを見ます。
情報Iで覚えること共通鍵暗号 は送信者と受信者が 同じ鍵K(長い0/1の列) で暗号化・復号する方式。処理が 速い 一方で、鍵を事前に共有 する必要がある。
鍵配送問題:そもそも鍵をどう渡す?
共通鍵暗号には 致命的な弱点 があります。それは「事前に同じ鍵を共有しておかなければならない」こと。インターネット越しに見ず知らずの相手と暗号通信したいとき、肝心の 鍵そのもの をどうやって相手に渡せばよいのでしょう?
POINT
鍵配送問題(key distribution problem):鍵を相手に届けないと暗号通信が始められない。だが、その「鍵を届ける通信路」もまた盗聴される可能性がある。安全に渡せるなら、そもそも平文をそこで送ればよく、矛盾している。
ステップ1. 共通鍵暗号では、本文を暗号化する前に 同じ鍵K をアリスとボブの両方が持っている必要がある。
ステップ2. では、Kをネットワークでそのまま送ればよいのか。鍵そのものも通信路を通るので、途中で見られる可能性がある。
ステップ3. 盗聴者が鍵Kをコピーすると、ボブと同じ鍵を持つことになる。これが危険の中心。
ステップ4. その後に暗号文を送っても、盗聴者は手に入れたKで復号できる。つまり、暗号文にしても守れない。
ステップ5. 「安全な通信路で鍵を送る」には、その安全な通信路を作るための仕組みがまた必要になる。これが 鍵配送問題。
1 / 5
図の見方:共通鍵Kをそのまま送ると攻撃者にもコピーされ、以後の暗号通信が破られる。では「安全な通信路で鍵を送る」と考えても、その安全な通信路を作るためにまた鍵が必要になる。つまり 最初の共通鍵を安全に共有する方法 が問題になる。
鍵の枚数も問題:n人で全員と通信したいと?
もうひとつ、共通鍵暗号には大きな課題があります。それは 「人数が増えると鍵の数が爆発する」 ということ。n人のグループで 全員が互いに暗号通信したい とき、必要な鍵の本数を考えてみましょう。
Q. 10人のグループで全員ペア同士が暗号通信したいとき、共通鍵暗号では合計で何本の鍵が必要?(ペアの数を考えるとよい)
ペアの数は 10 × 9 ÷ 2 = 45本。一般化すると n(n-1)/2 本必要。
- 10人 → 45本
- 100人 → 4,950本
- 1,000人 → 499,500本
人数が増えると、鍵の本数が n² のスピードで爆発します。インターネット規模(数十億人) で全員と暗号通信したいなら、共通鍵だけでは絶望的です。
このあと出てくる 公開鍵暗号 では、各自が「公開鍵+秘密鍵の 1ペア」を持てばよく、必要な鍵の総数は 2n本(=人数の2倍)で済みます。10人なら20本、1,000人でも2,000本。だんぜん管理がラク!
つながる知識: 「鍵を相手にどう渡すか」「全員分の鍵をどう管理するか」、この2つが共通鍵暗号だけで秘密通信を実現するときの大きな壁。これを 発想ごとひっくり返したのが、次のセクションで扱う 公開鍵暗号 です。
情報Iで覚えること共通鍵暗号には 鍵配送問題(鍵を相手に安全に渡せない)があり、人数が増えると必要な鍵の本数が n(n-1)/2 本に爆発するという課題がある。
公開鍵暗号:鍵を「2本ペア」にする発想
1970年代に発明された 公開鍵暗号(こうかいかぎあんごう / public-key cryptography) は、それまでの常識をひっくり返しました。鍵を 2本でワンセット にして、「鍵をかける用」と「鍵を外す用」を分ける という発想です。「非対称鍵暗号」とも呼ばれます。
POINT
公開鍵暗号 = 「公開鍵」と「秘密鍵」のペアを1人1セット持つ。
・公開鍵:世界中に公開してOK。これで 暗号化 する
・秘密鍵:本人だけが持つ。これで 復号 する
・公開鍵で施錠した箱は、対になる秘密鍵でしか開けられない
混同注意: 公開鍵暗号で
機密性(=盗み見されない) を目的とするとき、暗号化に使うのは必ず
受信者の公開鍵、復号は
受信者の秘密鍵 です。「
秘密鍵で暗号化する」という言い方を見かけることがありますが、それは目的が異なる
電子署名(ディジタル署名) の話で、
本人性・改ざん検知 のために使う仕組みです。
暗号化(誰にも読まれないようにする)と署名(本当に本人が送った/書き換えられていないと示す)は
目的が別 なので分けて考えましょう。署名の詳しい仕組みは
第9回 認証とディジタル署名 で扱います。
イメージで掴む:特殊な「南京錠」のたとえ
こんな魔法の南京錠を想像してください:「カチッと閉めるだけなら誰でもできる」けれど、「開けられるのは作った本人(=秘密鍵を持つ人)だけ」 という錠前です。ボブが自分用にこの南京錠を 大量にコピーして街中に配って おけば、誰でもボブ宛の手紙を箱に入れて南京錠で閉じることができます。でも、開けられるのは ボブだけ。これが公開鍵暗号の発想です。
ステップ1. ボブは 公開鍵 と 秘密鍵 のペアを作る。公開鍵は配ってよい鍵、秘密鍵はボブだけが持つ鍵。
ステップ2. ボブは公開鍵をアリスへ渡す。公開鍵は盗聴者に見られてもよいので、共通鍵のように「安全に隠して配送する」必要がない。
ステップ3. アリスは ボブの公開鍵 でボブ宛の平文を施錠する。ここでできた暗号文は、公開鍵では元に戻せない。
ステップ4. 攻撃者が途中で暗号文を見ても、開けるための ボブの秘密鍵 を持っていないので読めない。公開鍵を持っていても復号はできない。
ステップ5. ボブだけが持つ 秘密鍵 で暗号文を開錠し、平文に戻す。機密性の目的では「受信者の公開鍵で暗号化、受信者の秘密鍵で復号」と覚える。
1 / 5
図の見方:公開鍵暗号は、まず受信者ボブが公開鍵と秘密鍵を作る。アリスは ボブの公開鍵 で施錠し、ボブは ボブの秘密鍵 で開錠する。公開鍵は配ってよいが、秘密鍵は本人だけが持つ、という分担が鍵配送問題を解消する。
これが画期的だった理由
✨ 鍵をオープンに配れる
公開鍵は 世界中に公開してよい。Webサイトに貼ってもよいし、メールに添えて送ってもよい。盗聴者に取られても困らない。「事前に安全に渡す必要がある」という共通鍵の悩みが消えた。
✨ 鍵の本数が圧倒的に少なくて済む
各自が「公開鍵+秘密鍵」のペアを 1セット 持つだけ。n人のグループでも、必要な鍵は 2n本(人数の2倍)。共通鍵の n(n-1)/2 と比べて圧倒的にラク。
インラインで確認
小問:ボブの 公開鍵 で暗号化されたメッセージを 復号(中身を読む) できるのは誰?
正解:B。公開鍵暗号では、公開鍵で暗号化したものは 対になる秘密鍵でしか復号できない。これがこの暗号方式の心臓部。Aは間違いで、公開鍵を持っていても 暗号化はできるが復号はできない(自分が送ったメッセージでさえ、自分では読み戻せない!)。Cは中継機器に過ぎないので無関係、Dも全員が秘密鍵を共有するわけではないので不正解。
代表アルゴリズム(名前だけ) 発展
- RSA:1978年に発明された公開鍵暗号の 代表例。発明者3人(Rivest, Shamir, Adleman)の頭文字。大きな数の素因数分解の難しさを安全性の根拠にしている
- 楕円曲線暗号(ECC):RSAより短い鍵で同じ強度を実現できる現代的な公開鍵暗号の 代表例。スマホや IoT で広く使われる
- Diffie-Hellman 鍵交換:厳密には「暗号化方式」ではなく「鍵を共有するための方法」。後ろの 標準 編で扱う
アルゴリズム名(RSA, ECC, DH など) は 代表例 として知っておけば十分。情報Iレベルでは「鍵を2本ペアにする」という発想の方が大事です。
もっと詳しく:なぜ秘密鍵は秘密にする必要がある?
公開鍵で暗号化されたメッセージは、対になる 秘密鍵を持つ人だけが復号できる、というのが公開鍵暗号の約束ごとです。もし秘密鍵が漏れてしまうと:
- その人宛に過去・未来に送られた すべての暗号文 が読めてしまう(盗聴者が全部復号できる)
- 後の回(第9回) で学ぶ ディジタル署名 では、秘密鍵を使って「本人だけが作れる印」を付けるので、秘密鍵が漏れると なりすましもできてしまう(ただし署名は 暗号化とは別の目的の仕組みなので、詳しくは次回)
したがって、秘密鍵は厳重に管理します。具体的には:
- 本人のPC・スマホの中だけに保管(他人のサーバに置かない)
- パスフレーズ(パスワード) で更に保護
- ハードウェア(TPM・スマートカードなど) に閉じ込めて、外に取り出せなくする
「秘密鍵を守る」が、現代の暗号システム全体の信頼の出発点になっています。
考えてみよう: 公開鍵暗号は1976年に Diffie と Hellman が概念を提唱し、1978年に RSA が具体的な方式として発表されました。それ以前は「鍵をどう配るか」が永遠の難題でした。「鍵を2本に分ける」というたった1つのアイデアが、インターネット社会(銀行・ショッピング・SNS)を成立させたと言えます。
情報Iで覚えること公開鍵暗号 は 公開鍵(誰でも持ってよい・暗号化用)と 秘密鍵(本人だけが持つ・復号用)のペアを使う方式で、鍵配送問題 を解消できる。
実用ではハイブリッド:両者のいいとこ取り
ここまでで、「共通鍵は速いけど鍵の配送が問題」「公開鍵は鍵配送はラクだけど処理が遅い」と紹介しました。実用的な暗号通信では、この 2つを組み合わせて いいとこ取りをするのが一般的です。これを ハイブリッド暗号方式 といいます。
POINT
ハイブリッド方式の流れ(ざっくり):
① 公開鍵暗号を使って、共通鍵そのものを相手に安全に届ける
② 以後の本文のやり取りは 速い共通鍵暗号 で行う
→ 「鍵配送は公開鍵で、本文は共通鍵で」という分担で、安全性と速度を両立
3 方式の比較
共通鍵暗号(対称鍵)
- 鍵の使い方:同じ鍵で施錠/解錠
- 強み:処理が とても速い。大量のデータを一気に暗号化できる
- 弱み:鍵をどう相手に渡すか が難しい(鍵配送問題)。人数が増えると鍵の本数が爆発する
- 代表例:AES、ChaCha20 発展
公開鍵暗号(非対称鍵)
- 鍵の使い方:公開鍵で施錠、秘密鍵で解錠(別の鍵)
- 強み:公開鍵は 誰に渡しても安全。鍵配送問題が解消される。鍵の本数も少なくて済む
- 弱み:処理が 共通鍵より大幅に遅い(具体的な倍率は方式・環境による 発展)。大量データの直接暗号化には不向き
- 代表例:RSA、楕円曲線暗号(ECC) 発展
ハイブリッド方式(両者のいいとこ取り)
- 共通鍵暗号の 「速さ」 と、公開鍵暗号の 「鍵配送のしやすさ」 を組み合わせる
- ① まず公開鍵暗号で「共通鍵」(セッション鍵) を安全に交換
- ② 以後の本文のやり取りは、その共通鍵で 共通鍵暗号 を使って高速にやり取り
- HTTPS・TLS、メールの暗号化、SSH など、身近な暗号通信のほとんどがこの方式
図でまとめると
ステップ1. アリスとボブは安全に通信したいが、まだ本文用の共通鍵Kを共有していない。ここで公開鍵暗号と共通鍵暗号を分担させる。
ステップ2. ボブの公開鍵は公開してよい鍵なので、アリスが受け取れる。公開鍵そのものを見られても問題ない。
ステップ3. アリスは一時的な共通鍵Kを作り、それをボブの公開鍵で施錠する。公開鍵暗号で守るのは、小さな「鍵」だけ。
ステップ4. ボブは自分だけが持つ秘密鍵で開け、共通鍵Kを取り出す。これでアリスとボブは同じKを持てた。
ステップ5. 以後の本文・画像・入力データは、処理が速い共通鍵暗号で暗号化して送る。これがハイブリッド方式の核。
1 / 5
図の見方:公開鍵暗号で 「共通鍵という小さなデータ」 を1回だけ安全に送り、以後の本文(動画・画像・JSON…) は速い共通鍵暗号で大量にやり取りする。私たちが日常的に使う HTTPS の中でも、まさにこれが起きている。
つながる知識: ハイブリッド方式は HTTPS / TLS(後ろのプロトコル編・標準編で詳述) で使われています。Webブラウザが「https://...」のサイトに接続すると、最初の数往復で公開鍵暗号を使って共通鍵を交換し、それ以降のページ表示は共通鍵で暗号化される、という仕組み。
情報Iで覚えること実用の暗号通信は ハイブリッド方式:公開鍵暗号で共通鍵を安全に届け、以後の本文は 速い共通鍵暗号 でやり取りする。
身近な使われ方:HTTPS で「暗号」が動いている
Webブラウザのアドレスバーで
🔒(鍵マーク) を見たことがあるはず。URL が
https://(末尾の
S は Secure の S)で始まるサイトでは、本講で学んだ
共通鍵 + 公開鍵のハイブリッド暗号 がそのまま動いています。本節は「
暗号化」の側面に絞って HTTPS を眺めます。鍵マークが持つもう一つの意味(
サーバが本物だと確認できている)は、次回
第9回 認証・電子署名 で扱い、そちらで HTTPS の全体像を完成させます。
POINT
HTTPS = HTTP(Webのプロトコル) + TLS(Transport Layer Security による暗号化)。
・本講で学んだ ハイブリッド方式(公開鍵で共通鍵を共有 → 共通鍵で本文)がそのまま使われる
・盗聴者が Wi-Fi やプロバイダで通信を覗いても 中身は読めない
HTTP と HTTPS の違いをざっくり
図の見方:HTTPで送ると、フリーWi-Fiやプロバイダで誰かが盗聴したときに パスワードやクレジットカード番号が丸見え。HTTPSなら暗号文しか見えないので、攻撃者が読んでも意味のある情報にならない。今は世界中の主要サイトがほぼ HTTPS 化されている。
HTTPS で守られるのは「あなたのブラウザとサーバの間の通信路」だけ。サーバの中で何が起きているか、サイト運営者がデータをどう扱うかは、暗号とは別の問題(プライバシーポリシーや法令の話)。暗号は万能ではなく、「通信路を守るための部品の一つ」と理解しておきましょう。
つながる知識: 鍵マークが持つ意味は実は 2 つあります ─ ① 通信の 暗号化(本講のテーマ)、② サーバが本物だと確認できている(認証・身元確認)。本講では ① のみ扱いました。② は次回 第9回 認証・電子署名 で、CA(認証局)・電子署名と一緒に扱い、鍵マークの全体像をまとめます。さらに HTTPS の中身(TLS ハンドシェイク・X.509 証明書) は 標準 編の「TLS/PKI」で詳しく扱います。
情報Iで覚えることURL が https:// で鍵マークが付くサイトは HTTP+TLS で通信が暗号化されており、フリーWi-Fi でも中身を読まれにくい(「身元確認」も同時に行われていることは次回学習)。
まとめと用語チェック
SUMMARY
1. 暗号化 = 鍵を使って平文を暗号文に変える操作。復号はその逆
2. 通信路には 盗聴・なりすまし・改ざんの脅威がある。本講で扱う暗号は主に「盗聴」を防ぐ
3. 共通鍵暗号 = 同じ鍵で施錠・解錠。速いが 鍵配送問題 がある(代表:AES)
4. 公開鍵暗号 = 公開鍵と秘密鍵のペア。公開鍵で施錠、秘密鍵で解錠。鍵を オープンに配れるのが画期的(代表:RSA)
5. 実用ではほぼ ハイブリッド方式:公開鍵で「共通鍵」を交換 → 共通鍵で本文を暗号化
6. 身近な例: HTTPSの鍵マークの裏では、まさにこの仕組みが動いている
用語チェック
| 用語 | 1行説明 |
| 平文(plaintext) | もとのメッセージ。人間が読める形のデータ |
| 暗号文(ciphertext) | 暗号化されて読めなくなったデータ |
| 暗号化 / 復号 | 平文→暗号文に変える操作 / その逆の操作 |
| 鍵(key) | 暗号化・復号に使う秘密の情報 |
| 共通鍵暗号(対称鍵) | 暗号化と復号で同じ鍵を使う方式。速いが鍵配送が課題 |
| 公開鍵暗号(非対称鍵) | 公開鍵と秘密鍵のペアを使う方式。鍵をオープンに配れる |
| 公開鍵 / 秘密鍵 | 誰でも持ってよい鍵 / 本人だけが持つ鍵 |
| 鍵配送問題 | 共通鍵をどう相手に安全に届けるかという課題 |
| ハイブリッド方式 | 公開鍵で共通鍵を渡し、本文は共通鍵で暗号化する組合せ |
| AES | 現代の代表的な共通鍵暗号アルゴリズム |
| RSA | 代表的な公開鍵暗号アルゴリズム。発明者3名の頭文字 |
| HTTPS | HTTPに暗号化(TLS)を組み合わせた仕組み。鍵マークのアレ |
| ケルクホフスの原則 | 「アルゴリズムは公開、鍵だけ秘密」という設計思想 |
NEXT: 次回(第9回)は、暗号と並ぶもう1つの柱 「ディジタル署名」 を扱います。「このメッセージは確かに本人が書いたものか(なりすまし対策)」「途中で書き換えられていないか(改ざん対策)」、つまり今回扱わなかった ② なりすまし・③ 改ざん をどう防ぐかを学びます。
確認問題
問1. 「暗号化」の説明として最も適切なものを1つ選べ。
次の選択肢から最も適切なものを選択してください。
A. データを圧縮してファイルサイズを小さくすること
B. データを別のサーバに複製してバックアップを取ること
C. 鍵を使って平文を、第三者に読めない暗号文に変える操作
D. 通信に使うネットワーク機器を物理的に保護すること
正解:C
暗号化とは、鍵を使って平文を暗号文に変える操作のこと。受信側は対応する鍵で 復号 して読み戻す。Aは「圧縮」、Bは「バックアップ」、Dは「物理セキュリティ」の話で、いずれも暗号化そのものではない。
問2. 共通鍵暗号の特徴として最も適切なものを1つ選べ。
次の選択肢から最も適切なものを選択してください。
A. 暗号化と復号で異なる2つの鍵を使う
B. 暗号化と復号で同じ鍵を使い、処理は速いが鍵の配送が難しい
C. 鍵を使わずにアルゴリズムだけで安全性を保つ
D. 必ずインターネット上で暗号文を生成する必要がある
正解:B
共通鍵暗号は 同じ鍵で施錠・解錠する方式で、処理が速い反面、相手に鍵を安全に渡す方法が問題になる(鍵配送問題)。Aは公開鍵暗号の特徴。Cは誤りで、現代の暗号はアルゴリズムを公開し鍵だけを秘密にする(ケルクホフスの原則)。Dは無関係。
問3. 公開鍵暗号で、ボブ宛のメッセージを送りたいアリスはどの鍵を使って暗号化するべきか。
次の選択肢から最も適切なものを選択してください。
A. アリス自身の秘密鍵
B. アリス自身の公開鍵
C. ボブの秘密鍵
D. ボブの公開鍵
正解:D
公開鍵暗号では、受信者の公開鍵で暗号化し、対になる 受信者の秘密鍵で復号する。ボブだけが持っている秘密鍵を使えば中身を読めるため、暗号化に使うのは「ボブの公開鍵」。Cは誤りで、ボブの秘密鍵は本人しか持っていないのでアリスは使えない(=共有すべきでもない)。AとBはアリスの鍵で、これを使うとボブが中身を読めない。
問4. 公開鍵暗号が「画期的」とされた理由として、最も適切なものを1つ選べ。
次の選択肢から最も適切なものを選択してください。
A. 暗号化に使う鍵をオープンに公開できるため、事前の安全な鍵配送が不要になった
B. 共通鍵暗号より処理が圧倒的に高速になったため
C. 鍵を持たなくても暗号化と復号ができるようになったため
D. 暗号文のサイズを大幅に小さくできるようになったため
正解:A
公開鍵暗号の最大の発明は、「暗号化用の鍵を公開してよい」という発想で、共通鍵暗号の悩みだった「鍵配送問題」を本質的に解いた点。Bは逆で、公開鍵暗号は共通鍵暗号より 遅い(だからハイブリッド方式が使われる)。Cは誤りで、鍵は依然として必要。Dは無関係。
問5. HTTPSなど実用的な暗号通信で広く使われる「ハイブリッド方式」の説明として最も適切なものを1つ選べ。
次の選択肢から最も適切なものを選択してください。
A. 通信ごとに共通鍵暗号と公開鍵暗号をランダムに切り替える
B. 共通鍵暗号だけを使い、本文も鍵もすべて同じ鍵で送る
C. 公開鍵暗号で「共通鍵」を相手に渡し、以降の本文は速い共通鍵暗号で暗号化する
D. 平文と暗号文を交互に送って、攻撃者を混乱させる
正解:C
ハイブリッド方式は、公開鍵暗号の 「鍵配送のしやすさ」 と共通鍵暗号の 「速さ」 のいいとこ取り。最初に公開鍵で共通鍵を安全に交換し、以降の本文は共通鍵で高速にやり取りする。HTTPS / TLS、SSH、暗号メールなど、現代の暗号通信のほとんどがこの形を採用している。AとDのような切替・混在は実用方式ではない。Bでは鍵配送問題が解決できない。