ポックリントンのアルゴリズム

ポックリントンのアルゴリズムは、次の形式の 合同式を解く手法です

× 2 a mod p {\displaystyle x^{2}\equiv a{\pmod {p}},}

ここで、xaは整数であり、aは平方剰余です

このアルゴリズムは、このような合同式を解く最初の効率的な方法の一つであり、1917年にHCポックリントンによって記述されました。 [1]

アルゴリズム

(注:特に明記されていない限り、すべては…を意味します。) {\displaystyle \equiv} mod p {\displaystyle {\pmod {p}}}

入力:

  • p、奇数の素数
  • a 、平方剰余となる整数 mod p {\displaystyle {\pmod {p}}}

出力:

  • x、を満たす整数。x が解の場合、- x も解であり、p が奇数なので、であることに注意してくださいしたがって 1解が見つかった場合は、常に2番目の解が存在します × 2 a {\displaystyle x^{2}\equiv a} × × {\displaystyle x\neq -x}

解法

ポックリントンはpについて 3つの異なるケースを分類します

最初のケース、 の場合、 のとき、解は です p 4 m + 3 {\displaystyle p=4m+3} m N {\displaystyle m\in \mathbb{N} } × ± a m + 1 {\displaystyle x\equiv \pm a^{m+1}}

2番目のケース、つまりおよび p 8 m + 5 {\displaystyle p=8m+5} m N {\displaystyle m\in \mathbb{N} }

  1. a 2 m + 1 1 {\displaystyle a^{2m+1}\equiv 1} 、解決策は です × ± a m + 1 {\displaystyle x\equiv \pm a^{m+1}}
  2. a 2 m + 1 1 {\displaystyle a^{2m+1}\equiv -1} , 2 は(二次)非剰余なので となる。これはとなることを意味し、は の解となる。したがって、または、yが奇数の場合は となる 4 2 m + 1 1 {\displaystyle 4^{2m+1}\equiv -1} 4 a 2 m + 1 1 {\displaystyle (4a)^{2m+1}\equiv 1} y ± 4 a m + 1 {\displaystyle y\equiv \pm (4a)^{m+1}} y 2 4 a {\displaystyle y^{2}\equiv 4a} × ± y / 2 {\displaystyle x\equiv \pm y/2} × ± p + y / 2 {\displaystyle x\equiv \pm (p+y)/2}

3番目のケースでは、 ならば と置くので、解くべき方程式は となります。試行錯誤で と を求め、が2次の非留数となる ようにします。さらに、 とします。 p 8 m + 1 {\displaystyle p=8m+1} D a {\displaystyle D\equiv -a} × 2 + D 0 {\displaystyle x^{2}+D\equiv 0} t 1 {\displaystyle t_{1}} u 1 {\displaystyle u_{1}} N = t 1 2 D u 1 2 {\displaystyle N=t_{1}^{2}-Du_{1}^{2}}

t n = ( t 1 + u 1 D ) n + ( t 1 u 1 D ) n 2 , u n = ( t 1 + u 1 D ) n ( t 1 u 1 D ) n 2 D {\displaystyle t_{n}={\frac {(t_{1}+u_{1}{\sqrt {D}})^{n}+(t_{1}-u_{1}{\sqrt {D}})^{n}}{2}},\qquad u_{n}={\frac {(t_{1}+u_{1}{\sqrt {D}})^{n}-(t_{1}-u_{1}{\sqrt {D}})^{n}}{2{\sqrt {D}}}}}

以下の等式が成り立ちます。

t m + n = t m t n + D u m u n , u m + n = t m u n + t n u m and t n 2 D u n 2 = N n {\displaystyle t_{m+n}=t_{m}t_{n}+Du_{m}u_{n},\quad u_{m+n}=t_{m}u_{n}+t_{n}u_{m}\quad {\mbox{and}}\quad t_{n}^{2}-Du_{n}^{2}=N^{n}}

pが の形であると仮定すると( pが の形であれば真)、D は平方剰余であり、 です。ここで、方程式は 4 m + 1 {\displaystyle 4m+1} 8 m + 1 {\displaystyle 8m+1} t p t 1 p t 1 , u p u 1 p D ( p 1 ) / 2 u 1 {\displaystyle t_{p}\equiv t_{1}^{p}\equiv t_{1},\quad u_{p}\equiv u_{1}^{p}D^{(p-1)/2}\equiv u_{1}}

t 1 t p 1 t 1 + D u p 1 u 1 and u 1 t p 1 u 1 + t 1 u p 1 {\displaystyle t_{1}\equiv t_{p-1}t_{1}+Du_{p-1}u_{1}\quad {\mbox{and}}\quad u_{1}\equiv t_{p-1}u_{1}+t_{1}u_{p-1}}

解決策を提示します t p 1 1 , u p 1 0 {\displaystyle t_{p-1}\equiv 1,\quad u_{p-1}\equiv 0}

とします。次に とします。これは、または がpで割り切れることを意味します。もし であれば、 と置き、 についても同様に進めます。すべてのがpで割り切れるわけではありません。なぜなら は割り切れないからです。mが奇数の場合は不可能です。なぜならが成り立ち、これはが平方剰余と合同であることを意味し、これは矛盾です。したがって、このループは特定のlについて のときに停止します。これにより が得られ、 は平方剰余なので、l は偶数でなければなりません。 と置きます。次に です。したがって、 の解は線形合同を解くことで得られます p 1 = 2 r {\displaystyle p-1=2r} 0 u p 1 2 t r u r {\displaystyle 0\equiv u_{p-1}\equiv 2t_{r}u_{r}} t r {\displaystyle t_{r}} u r {\displaystyle u_{r}} u r {\displaystyle u_{r}} r = 2 s {\displaystyle r=2s} 0 2 t s u s {\displaystyle 0\equiv 2t_{s}u_{s}} u i {\displaystyle u_{i}} u 1 {\displaystyle u_{1}} u m 0 {\displaystyle u_{m}\equiv 0} t m 2 D u m 2 N m {\displaystyle t_{m}^{2}-Du_{m}^{2}\equiv N^{m}} t m 2 {\displaystyle t_{m}^{2}} t l 0 {\displaystyle t_{l}\equiv 0} D u l 2 N l {\displaystyle -Du_{l}^{2}\equiv N^{l}} D {\displaystyle -D} l = 2 k {\displaystyle l=2k} 0 t l t k 2 + D u k 2 {\displaystyle 0\equiv t_{l}\equiv t_{k}^{2}+Du_{k}^{2}} x 2 + D 0 {\displaystyle x^{2}+D\equiv 0} u k x ± t k {\displaystyle u_{k}x\equiv \pm t_{k}}

以下は、ポックリントンのpの3つの異なるケースに対応する4つの例です。いずれも例の に従って計算されます。 {\displaystyle \equiv }

例0

x 2 43 ( mod 47 ) . {\displaystyle x^{2}\equiv 43{\pmod {47}}.}

これはアルゴリズムによれば最初のケースです が、43ではないので、アルゴリズムをまったく適用すべきではありません。アルゴリズムを適用できない理由は、a=43がp=47に対して平方非剰余であるためです x 43 ( 47 + 1 ) / 2 = 43 12 2 {\displaystyle x\equiv 43^{(47+1)/2}=43^{12}\equiv 2} x 2 = 2 2 = 4 {\displaystyle x^{2}=2^{2}=4}

例1

合同式を解け

x 2 18 ( mod 23 ) . {\displaystyle x^{2}\equiv 18{\pmod {23}}.}

法は23です。これはなので、 です解は となるはずで、これは確かに真です 23 = 4 5 + 3 {\displaystyle 23=4\cdot 5+3} m = 5 {\displaystyle m=5} x ± 18 6 ± 8 ( mod 23 ) {\displaystyle x\equiv \pm 18^{6}\equiv \pm 8{\pmod {23}}} ( ± 8 ) 2 64 18 ( mod 23 ) {\displaystyle (\pm 8)^{2}\equiv 64\equiv 18{\pmod {23}}}

例2

合同式を解け

x 2 10 ( mod 13 ) . {\displaystyle x^{2}\equiv 10{\pmod {13}}.}

法は13です。これはなので、 です。ここで を検証します。したがって、解は ですこれは確かに真です 13 = 8 1 + 5 {\displaystyle 13=8\cdot 1+5} m = 1 {\displaystyle m=1} 10 2 m + 1 10 3 1 ( mod 13 ) {\displaystyle 10^{2m+1}\equiv 10^{3}\equiv -1{\pmod {13}}} x ± y / 2 ± ( 4 a ) 2 / 2 ± 800 ± 7 ( mod 13 ) {\displaystyle x\equiv \pm y/2\equiv \pm (4a)^{2}/2\equiv \pm 800\equiv \pm 7{\pmod {13}}} ( ± 7 ) 2 49 10 ( mod 13 ) {\displaystyle (\pm 7)^{2}\equiv 49\equiv 10{\pmod {13}}}

例3

合同式を解きなさい。これは と書きます。まず、 と が2乗非剰余となるような を求めます例えばを取ります。次に計算して を 求めます x 2 13 ( mod 17 ) {\displaystyle x^{2}\equiv 13{\pmod {17}}} x 2 13 = 0 {\displaystyle x^{2}-13=0} t 1 {\displaystyle t_{1}} u 1 {\displaystyle u_{1}} t 1 2 + 13 u 1 2 {\displaystyle t_{1}^{2}+13u_{1}^{2}} t 1 = 3 , u 1 = 1 {\displaystyle t_{1}=3,u_{1}=1} t 8 {\displaystyle t_{8}} u 8 {\displaystyle u_{8}}

t 2 = t 1 t 1 + 13 u 1 u 1 = 9 13 = 4 13 ( mod 17 ) , {\displaystyle t_{2}=t_{1}t_{1}+13u_{1}u_{1}=9-13=-4\equiv 13{\pmod {17}},}
u 2 = t 1 u 1 + t 1 u 1 = 3 + 3 6 ( mod 17 ) . {\displaystyle u_{2}=t_{1}u_{1}+t_{1}u_{1}=3+3\equiv 6{\pmod {17}}.}

そして同様 t 4 = 299 7 ( mod 17 ) , u 4 = 156 3 ( mod 17 ) {\displaystyle t_{4}=-299\equiv 7{\pmod {17}},u_{4}=156\equiv 3{\pmod {17}}} t 8 = 68 0 ( mod 17 ) , u 8 = 42 8 ( mod 17 ) . {\displaystyle t_{8}=-68\equiv 0{\pmod {17}},u_{8}=42\equiv 8{\pmod {17}}.}

なので、方程式 を解く方程式が得られます。この方程式には解があります。確かに、 です t 8 = 0 {\displaystyle t_{8}=0} 0 t 4 2 + 13 u 4 2 7 2 13 3 2 ( mod 17 ) {\displaystyle 0\equiv t_{4}^{2}+13u_{4}^{2}\equiv 7^{2}-13\cdot 3^{2}{\pmod {17}}} 3 x ± 7 ( mod 17 ) {\displaystyle 3x\equiv \pm 7{\pmod {17}}} x ± 8 ( mod 17 ) {\displaystyle x\equiv \pm 8{\pmod {17}}} ( ± 8 ) 2 = 64 13 ( mod 17 ) {\displaystyle (\pm 8)^{2}=64\equiv 13{\pmod {17}}}

参考文献

  • レナード・ユージン・ディクソン著『数論の歴史』第1巻222ページ、チェルシー出版、1952年
  1. ^ HCポックリントン『ケンブリッジ哲学協会紀要』第19巻、57~58ページ
Retrieved from "https://en.wikipedia.org/w/index.php?title=Pocklington%27s_algorithm&oldid=955727513"