【RSA暗号】試しに作ってみた【Python】
Amazon.co.jp: Yoshiki Ueoka:作品一覧、著者略歴
RSA暗号
自然数を大きな素数の積と公開鍵と秘密鍵と呼ばれる自然数を使う。のみを使って、を暗号と呼ばれる別の数にしたり、元に戻したりすること。
アルゴリズム
まず、素数を決める。を計算する。ここで、素数はヒミツにしておくのがポイント。ある自然数を用いて、
つまり、
を満たす。を見つける。このを秘密鍵という。
自然数を暗号化するには、
を計算する。
元に戻すには、オイラーの定理 (数論) - Wikipediaより、
とすれば、元の数字に戻せる。
プログラム
以下のサイトを参考にプログラムを作成した。
gist3fba0be9c42e5b712b6d72a4b25c71d0