あくまで備忘録なんで雑に記録します
RSA暗号のアルゴリズム
素因数分解が困難な事を利用した公開鍵暗号方式 -> PKI(公開鍵暗号基盤)
素数がかなり大きな数字だと、素因数分解に相当時間がかかり、解読出来る頃には情報の価値が失われているだろう・・・っていうらしい
p素数(秘密), q素数(秘密), n(公開 = p * q), d(秘密), e(公開)
暗号化 受信者が公開鍵と秘密鍵を作成
(p – 1) * (q – 1)・・・ 互いに素なオイラー関数 f
1.異なる2つの大きな素数「p」「q」を任意にとる
2.n = p * qとする
3.f と互いに素な自然数 e を任意にとる
4.e * d ≡ 1 (mod f)となる自然数 d を任意にとる(f で割ったら余り1)
送信者に n と e を伝えて、暗号化(公開だから誰でも)
1.送りたいメッセージを自然数 x とする。ただし x < n とする
2.x を e 乗し、これを n で割った余りを y とする
受信者が復号
1.y を d 乗する
2.これを n で割った余りが平文 x となる
コメント