A社が、公開鍵暗号方式を使って、B社だけが読める形でデータを送ることにした。 A社が暗号化に使う鍵と、B社が復号に使う鍵の組合せとして最も適切なものはどれか。
正解:エ
アA社の秘密鍵で暗号化し、A社の公開鍵で復号する。
誤り。鍵の向きが逆です。A社の公開鍵は誰でも手に入れられるため、この形では 受け取った人全員が中身を読めてしまいます。この向きは、送り手が本人であることを 示す別の目的で使われるもので、秘密を守る用途には使えません。
イA社の公開鍵で暗号化し、A社の秘密鍵で復号する。
誤り。秘密鍵は持ち主が誰にも渡さずに保管する鍵なので、A社の秘密鍵をB社が 持っていることはあり得ません。もし渡してしまえば、A社宛ての暗号文を B社も読めることになり、鍵を分けている意味がなくなります。
ウA社とB社で同じ鍵を共有し、その鍵で暗号化も復号もする。
誤り。これは共通鍵暗号方式の説明です。処理は速いのですが、事前にその鍵を 相手へ安全に渡す方法が課題になります。公開鍵暗号方式は、渡してよい鍵と 渡さない鍵に分けることで、この鍵配送の課題を解いています。
エB社の公開鍵で暗号化し、B社の秘密鍵で復号する。
正解。受け手であるB社の公開鍵で暗号化すれば、対になるB社の秘密鍵を持つ B社しか復号できません。公開鍵は公開されていてよく、事前に秘密の鍵を 受け渡す必要がない点が利点です。
誰でも入れる投函口と、自分だけが持つ鍵
公開鍵暗号方式は、南京錠付きの郵便受けに似ています。錠を開いた状態の南京錠 (公開鍵)は誰にでも配ってよく、受け取った人はそれで箱を閉じられます。しかし 一度閉じた箱を開けられるのは、その錠の鍵(秘密鍵)を持つ持ち主だけです。
だから「秘密を守るために暗号化する」場面では、受け手の公開鍵で暗号化する のが正しい向きになります。送り手側の鍵は登場しません。
二つの方式の違い
- 共通鍵暗号方式:暗号化と復号に同じ鍵を使う。処理が速く大量のデータ向き。 ただし、その鍵をどうやって相手へ安全に届けるかという鍵配送の問題が残る。 相手が増えるほど必要な鍵の数も増える
- 公開鍵暗号方式:対になる2つの鍵を使う。公開鍵は誰に渡してもよく、秘密鍵は 持ち主だけが保管する。鍵を配る問題は解けるが、処理は共通鍵方式より遅い
実際の通信では両方が組み合わされ、共通鍵を安全に届ける部分に公開鍵暗号方式を、 本文のやり取りに共通鍵暗号方式を使う形がよく採られます。
混同しやすいものとの違い
| 鍵 | 誰が持つか/何ができるか |
|---|---|
| 受け手の公開鍵 | 誰でも入手でき、その人宛ての暗号化ができる |
| 受け手の秘密鍵 | 本人だけが保管し、復号ができる |
| 共通鍵 | 送り手と受け手が同じものを共有し、暗号化も復号もできる |
試験では「誰の」「どちらの鍵か」で正誤が決まります。秘密を守る目的なら、 暗号化に使うのは常に受け取る側の公開鍵と覚えておくと迷いません。