はじめに
これは RSA完全理解 Advent Calendar の14日目の記事です
以前 p, qと互いに素なmでのRSAの証明 をやりましたが、今回はp, qと互いに素でないときも含めた証明をやろうと思います。
探しても と
が互いに素でないときに言及する証明は少ないので、なにかの参考になればうれしいです。
必要な知識などは前と変わらず基本的には フェルマーの小定理 がわかっていれば問題ないです。それではやっていこう
RSAの操作おさらい
準備するもの
- 互いに素な素数
と
となる
と互いに素な
(逆元
の存在を保証するため)
となる
(剰余環における
の逆元
)
暗号化/復号操作
つまり
が成り立てばよいです。このあたりの事前条件の説明は以前の証明でより詳しく触れているので気になる方はそちらへどうぞ
証明
の素因数である
それぞれについて見ていきます。まずは
についてです。
じつは と
が互いに素のときとそうでないとき、どちらについても
であることを示せます
と
が互いに素な場合
まず について、条件より
となるように生成しているため
の倍数に1足したものと考えられます。そのため
とかけます。
これを についてフェルマーの小定理を意識した形にすると
を
とおいて
フェルマーの小定理より、を証明したい式に代入すると以下のように整理できます
と
が互いに素ではない場合
は素数なので
である。
の倍数は何度べき乗しても
の倍数のままなので
また、このとき であるので以下のようにも表せる
以上よりいずれの場合も がなりたつことがわかります。
これを変形すると
となり割り切れることがわかります。
同様の手順で についても
となります。
は相違なる素数ですから
でも割り切れます
ここで について
を引いて
で割り切れるということは
と表すこともできます。
ここまでの流れを整理すると
となり と
が互いに素でもそうでなくとも
が成り立つことがわかりました。証明終了