RSA暗号で、暗号化、復号化してみる
RSA暗号の公開鍵、秘密鍵を手計算で求めてみたので、次は、暗号化、復号化してみた。
まず、文字の送信は、ASCIIコードなどなんらかのコードに変換されて数字として送信される。
前提
公開鍵 (e、n)
秘密鍵 (n、d)
とする
送信するメッセージの数字は、nよりも小さくないといけない。
計算手順(暗号化)
送信するメッセージXを e 乗した数を n で割った余りが暗号文になる。
計算手順(復号化)
受信したメッセージYを d 乗して n で割った余りが復号された文になる。
計算例
公開鍵 (3、55)
秘密鍵 (55、7)とする。
送信するメッセージは、3、4、5 とする。
暗号化
3を3乗した数を55で割った余りは?
3の3乗 = 27
27 / 55 = 0 余り27(なので、暗号化された数字は27)
4を3乗した数を55で割った余りは?
4の3乗 = 64
64 / 55 = 1 余り9 (なので、暗号化された数字は9)
5を3乗した数を55で割った余りは?
5の3乗 = 125
125 / 55 = 2 余り15 (なので、暗号化された数字は15)
よって、暗号化した数字は(27、9、15)
復号化
上記の暗号化された数字(27、9、15)を復号化する。
27を7乗した数を55で割った余りは?
27の7乗 = 10460353203
10460353203 / 55 = 190188240余り3 (なので、復号化された数字は3)
9を7乗した数を55で割った余りは?
9の7乗 = 4782969
4782969 / 55 = 86963余り4 (なので、復号化された数字は4)
15を7乗した数を55で割った余りは?
15の7乗 = 170859375
170859375 / 55 = 3106534余り5 (なので、復号化された数字は5)
よって、復号化した数字は(3、4、5)
計算終了
参考にしたサイトは、こちら
Your Message