鍵のお話

みんさん、こんにちは。松沢英俊です。
今回は公開鍵と秘密鍵のお話。次の状況を考えてみよう。
Key

アリスはボブに秘密の手紙を送ろうとしている。イブはそれを盗聴しようとしている。ここでアリスはどうすべきだろうか。
当然ながら読まれては困るので鍵をかけようとすうるだろう。ところがボブが手紙を読むためには,鍵を開けなけらばならない。そこでアリスはボブに鍵を送る。だが良く考えてみると,鍵を送るときにイブに鍵を取られてしまっては意味がない。

アリスは困ってしまった。。。。

encipherment

どうすれば,安全に手紙を送れるだろうか?

これを解決する基礎となったのが, デフィー と ヘルマン が考えた公開鍵暗号方式。情報を送る人は,情報を受け取る人の公開鍵を使って情報を暗号化する。
左の図を見て欲しい。ボブは公開鍵と秘密鍵を持っている。ボブの公開鍵は,だれでも手に入れることができる。

ボブの公開鍵を手に入れたアリスは手紙を暗号化する (STEP1)。次にアリスはボブに手紙を送る (STEP2)。ここでイブは,手紙を読むことはできない。なぜなら公開鍵で暗号化された手紙は秘密鍵でしか複合化することはできず,唯一その秘密鍵を持っているのは,ボブだからである。

STEP3でボブは受け取った手紙を複合化して読むことができる。

これを実用化したのが リベスト と シャミア と アドルマン 。
実際には,この秘密鍵は 素数 である。ボブは秘密鍵として素数を 2 つ選ぶ。ここでボブは 3,7 を選んだとしよう。公開鍵は 3,7 と掛けたもの,すなわち 21 になる。

アリスはボブの公開鍵 (21) を使って,メッセージを暗号化するのである。
ここでイブはボブの公開鍵からボブの秘密鍵を見つけようとするだろう。掛けると 21 になる 2 つの素数をみつければいい。
21 の場合だと 3,7 が暗算でも出せるが実際に公開鍵として使われているのは,非常に大きな二つの素数(秘密鍵)を掛け合わせたものなので,公開鍵から秘密鍵を見つけ出すのは事実上不可能なのである。

この素数を使った方法は 3 人の頭文字をとって RSA 公開鍵暗号方式と呼ばれている。

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。