mod p^2における平方根

x2=a(modp)

の解がわかると

x2=a(modp2)

を解くことができます。その手順について解説します。

x2=a(modp)の解があるということは

x2a=up

なるuがあるということです。左辺は次のように変形することができます。

(xa)(x+a)=up

両辺を二乗すれば

(xa)2(x+a)2=u2p2
これより

((x2+a)2xa)((x2+a)+2xa)=u2p2

を得るので2xで各係数を割れば

 (x2+a2xa)(x2+a2x+a)=u2p24x2

となりx2+a2xが解になります。最後の2xで割るというところが微妙ですが、これはここからp2での剰余を考えて演算をするということで解決できます。


827=319
が既知とします。

(87)(8+7)=319(71167)(71+167)=32192

ここで
16x=1 (mod192)
なる数を探します。すると158であることがわかるので左辺の各項に乗じて192での剰余を求めると

(277)(27+7)=0(mod192)
を得ることができます。

注)
2xpと互いに素であることが重要です。xはあきらかにpと素ですが2を乗じているのでpは奇素数でなければなりません。
Posted by issei

カテゴリ : 数学