• ベストアンサー

RSA暗号について教えてください

RSA暗号がどのようなものか、また仕組みについて教えて下さい。調べても分からなかったので、できるだけわかりやすく教えて下さい。また、RSA暗号を用いて、二桁程度の素数を二つ使って暗号の仕方、また戻し方の例を教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hue2011
  • ベストアンサー率38% (2801/7249)
回答No.1

素数を考えます。 素数は自分と1以外の数では割り切れないものですね。 仮に11を考えて見ましょう。 これをModulo(法)と呼びます。 11より大きいものがない世界です。 この世界では、11は11でいいのですが、12はどうなるか 12は、11の次ですから、11を法にした世界では2になります。 こういう不思議な世界では11までしか数字がありません。 たとえば2という数字を考えます。 2の2乗は4 2の3乗は8 2の4乗は16 これは11が法の世界では6です。 2の5乗は? いま6だったので、12になりますが、11が法ですから2です。 さて、これを、2の代わりに3,4,5,・・10までずっとやってみてください。 驚くことがおきているはずです。 どんな数字でも5乗すると、元の数字に戻っているはずです。 もう少ししつこくやってみてください。 10乗しても、15乗しても、基の数字に戻ります。 法といっているものは秘密鍵というものです。 ここで公開鍵を12、とするとします。 提示する数字は12乗した数字だといっているのです。 そして何かの数字をいくつか提出します。これはべき計算をしたときの12番目のものです。これが暗号です。 オリジナルの法がいくつかわかっていたら、(11だということがわかっていたら)公開鍵が12は、実は2乗された数字だといっているに過ぎないことがわかります。 11が法なら5乗で元にもどりますのでその数字の3つ先に複合化した数字があるはずです。またはこの数の平方根がオリジナルの数字のはずです。 11というのは説明のためにかんたんな数字を選んだだけです。もっと大きい素数を法として使うのが安心です。 これをアルファベットの並び順なんかに変換していくと、だんだんわからないことになります。 これがRSA暗号複合の仕組みです。サルでもわかる簡単さです。 サルにわからないように解析するのは数式をつかってみてください。

参考URL:
http://www.maitou.gr.jp/rsa/rsa01.php

関連するQ&A