Aさんは、秘密のデータをBさんだけが読めるように送りたい。
公開鍵暗号方式を正しく用いてこれを実現しようとするとき、
図中の①、②にあてはまる鍵として適切なものをそれぞれ1つずつ選びなさい。
a. Aさんの公開鍵
b. Aさんの秘密鍵
c. Bさんの公開鍵
d. Bさんの秘密鍵
「よく共通鍵とか公開鍵とか出てくるけどこれってなんだろう?」
「暗号化するときの方法のだね。」
「共通鍵はなんとなくわかるけど、公開鍵って鍵を公開したらみんな読めちゃうんじゃないかなー?」
「ははは、もちろんそうじゃないよ。」
「まず、共通鍵というのは暗号を作る鍵と開ける鍵が同じものをいうんだ。」
「そうそう、そんな感じだった。」
「共通鍵の場合、相手にどうやって鍵を渡すかが問題なのはわかるかな?」
「途中で盗まれたり、覗かれたりしたら困りるもんね。」
「そこで考え出されたのが公開鍵方式。暗号にするための鍵と暗号を解くための鍵を別々にしたんだ。ちなみに暗号を解く事を復号って言うよ。復号の復は復元の復だ。」
「そんな別々の鍵とかってできるの?」
「できるとも~。頭の良い人がうまい事作ったんだよ。」
「たとえば、僕が暗号を作る鍵とそれを解く鍵をまず作るんだ。これは専用ソフトが無料であるから別にむづかしくはないんだ。」
「ふむふむ。」
「で、暗号を作る鍵をコムたろう君に送るんだけど、これは別に他の人に見られても構わないんだ。」
「解くためのカギは別に持っているから問題ないんだね。」
「そうだよ~。」
「じゃあ僕は公開鍵を使ってデータを暗号化して先生に送れば良いんだね。」
「暗号化されて送られたデータを元に戻す鍵は初めから先生が持っている秘密鍵を使うから、問題なく見れるってこと。」
「公開鍵は暗号を作れても、それを解くことはできないんだね。」
「そのとおり。暗号を作る専門の公開鍵と解くこと専門の秘密鍵、合わせて運用するのを公開鍵暗号方式というんだよ。」
「でも本当に公開鍵からは暗号が解けないの?」
「数学的な証明はむづかしすぎるので解説しないけど、類推はできるけど正解するためにはものすごく時間がかかるようにできているんだよ。」
「時間はかかるけど解けるってこと?」
「鍵の桁数にもよるけど、専用のコンピューターを使っても数億年はかかるということだから、実質不可能ってことだね。」
「数億年!!??」
【 第22回 ★ 問題 2部-44 解答&解説 】
[解答] ①-c,②-d.
[解説]
公開鍵暗号方式では、公開鍵と秘密鍵の2種類の鍵を用意して、秘密鍵は自分が保有し、公開鍵は公開します。AさんからBさんに暗号化したデータを送る場合を考えます。
①. Aさんは暗号化するためにBさんの公開鍵を使います(選択肢c)。
②. Bさんは受け取ったデータを復号するために、Bさん自身の秘密鍵を使います(選択肢d)。