正解:イ
各選択肢の解説
アデータ全体を相手の公開鍵で暗号化し、その暗号文だけを相手に送る。
誤り。鍵を安全に渡すという条件は満たしますが、公開鍵暗号方式は共通鍵暗号方式に 比べて処理に時間がかかり、容量の大きいデータ全体の暗号化には向きません。 正しい向きの使い方でも、処理の速さという条件に合いません。
イデータを共通鍵で暗号化し、その共通鍵を相手の公開鍵で暗号化して送る。
正解。データ本体は処理の速い共通鍵暗号方式で暗号化し、短い共通鍵だけを 公開鍵暗号方式で守って渡します。共通鍵を取り出せるのは秘密鍵を持つ相手だけ なので、速さと鍵の安全な受渡しを両立できます。
ウデータを共通鍵で暗号化し、その共通鍵を別のメールに書いて相手に送る。
誤り。処理は速いものの、共通鍵がそのままの形でインターネットを流れます。 メールを分けても同じ経路を通るので、暗号文を盗み見られる相手には鍵も 盗み見られます。共通鍵暗号方式の弱点である鍵の受渡しが解決していません。
エデータを自分の秘密鍵で暗号化し、対になる自分の公開鍵を相手に渡す。
誤り。これはデジタル署名で使う鍵の向きです。公開鍵は誰でも入手できる前提の 鍵なので、この暗号文は相手以外の人にも復号できてしまいます。作成者を示す ことはできても、内容を秘密にすることはできません。
理解を深めるために
荷物は丈夫な錠で、その鍵だけを金庫で送る
大きな荷物を送るとき、荷物ごと金庫に入れるのは大変です。荷物には扱いやすい 錠を掛け、その小さな鍵だけを金庫に入れて送るほうが現実的です。
暗号でも同じ組合せを使います。データ本体は共通鍵で、その共通鍵は相手の 公開鍵で暗号化します。二つの方式の得意なところだけを取る方法で、 ハイブリッド暗号方式と呼ばれます。HTTPSの通信もこの考え方で動いています。
二つの方式は弱点が逆
| 処理の速さ | 鍵の受渡し | |
|---|---|---|
| 共通鍵暗号方式 | 速い | 同じ鍵を相手に安全に届ける手段が要る |
| 公開鍵暗号方式 | 遅い | 公開鍵は知られてよいので受渡しが容易 |
共通鍵暗号方式は暗号鍵と復号鍵が同じなので、鍵を送る途中で盗み見られると 暗号文を読まれてしまいます。公開鍵暗号方式にはこの問題がありませんが、 計算の負荷が大きく、大きなデータには不向きです。
そこで、遅い公開鍵暗号方式に任せるのは「短い共通鍵を届ける」仕事だけにします。 共通鍵はデータに比べてごく小さいので、遅さが問題になりません。
混同しやすいものとの違い
| 方法 | 速さ | 鍵の安全 |
|---|---|---|
| データは共通鍵、共通鍵は相手の公開鍵で暗号化 | 速い | 守られる |
| データ全体を相手の公開鍵で暗号化 | 遅い | 守られる |
| 共通鍵を別のメールで送る | 速い | 守られない |
| 自分の秘密鍵で暗号化 | 遅い | 誰でも復号できる |
試験では、条件が二つ示されたら一つずつ当てはめます。片方しか満たさない 選択肢は、記述が正しくても正解になりません。