• ベストアンサー

フェルマーの小定理

RSAの勉強をしています。そこで質問なんですが p,qは異なる素数で a^b≡x (mod p) a^b≡x (mod q) のとき、 a^b≡x (mod p*q)になるのは明らかなんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

明らかですが、式で書いてみましょう。 a^bをcと置きます(ここではa^bに意味はなさそうなので)。 cもxも整数とします。 mod pとmod qの式から次の2つを満たす整数mとnが存在します。 c=pm+x c=qn+x 上の2つの式の左辺同士は一緒なので もちろん、右辺同士も一緒で、 pm+x=qn+x が得られ、 pm=qn がわかります。 ここで、pとqは互いに異なる素数なので、 pm=qnから、mはqの倍数でないといけません。 つまり、m=qMとなる整数Mが存在します。 これを一番初めの式に入れると、 c=pm+x =pqM+x となり、これは c≡x(mod pq) をあらわしています。

northbig
質問者

お礼

回答ありがとうございます。おかげで納得できました。 どうやらフェルマーの小定理とは関係ないところで悩んでいたようですね。

その他の回答 (2)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

直観的には明らかですが、数学的には証明を必要とします。 つまり、「整数 n について、n が p、q で割り切れれば、pq でも割り切れる。」( n が a^b - x ということね) 普通は、p、q が互いに素であれば px + qy = 1 となる整数 x y が存在することを利用するのが簡単でしょう。

回答No.1

明らかです。 1 a^b≡x (mod p) 2 a^b≡x (mod q) 1式は (a^b)はpの倍数よりxだけ大きい。 2式は (a^b)はqの倍数よりxだけ大きい。 a^b≡x (mod p*q) p掛けるqはpの倍数であり、かつ、qの倍数です。 pもqも素数ですので1以外に公約数はないので(a^b)は(p*q)の倍数よりxだけ大きくなります。