暗号とは、他の人に知られたくない情報を、別の形に残すことです。
元の情報を暗号にすることを暗号化、暗号化したものを元の情報に戻すことを復号化といいます。
例えば、あ→い、い→う、う→え、のように1文字ずつずらしたり、
あ→お、い→か、う→き、のように4文字ずらしたりするような
ずらすことで暗号化する方法です。
4文字前にずらすことで復号が可能です。
例:1文字後にずらす暗号の場合
平文:いろはにほへとちりぬるを
暗号文:うわひぬまほなつるねれん
しかしこれは見破られやすいため、特にコンピュータの世界では以下のRSA暗号がよく使われています。
RSA暗号は、大きな「素数×素数」の因数分解が難しいことを利用した暗号です。
細田守監督の「サマーウォーズ」に出てくる電脳世界もRSA暗号で守られています。
今回は、このRSA暗号の作り方を紹介します。
宝探しなどに使って遊んでみてください。
各文字に数値を割り振る
平文を数値に変換する
暗号化、解読に使う数値を3つ決める
3-1.
3-2.
3-3.
公開鍵
2.の平文を暗号化する。
暗号文の数値 ≡
例
平文は「おはよう」、暗号文は「ちこまて」となる。
暗号を解く
平文の数値 =
例
暗号文は「ちこまて」、平文は「おはよう」となる。
RSA暗号を作ってみよう
中国剰余定理より、この
平文に対して、暗号文が一意に決まる。
暗号文
フェルマーの小定理より
よって