Presentation is loading. Please wait.

Presentation is loading. Please wait.

素数判定法 2011/6/20.

Similar presentations


Presentation on theme: "素数判定法 2011/6/20."— Presentation transcript:

1 素数判定法 2011/6/20

2 Eratosthenesのふるい 古典的 2からn-1まで割ってみる 割り切れた時点でnは合成数 実際はSQR(n)まででOK

3 Fermatとeulerの定理 Fermatの小定理 pを任意の素数としたとき ap-1 ≡ 1 (mod p) Eulerの定理

4 Fermatテスト 自然数nがあったとして nと互いに素なaで an-1 ≡ 1 (mod n) が成り立たないものがあればnは合成数 ●逆は成り立たない!

5 擬素数とカーマイケル数 Fermatテストを“すり抜ける”合成数がある すなわち、nが合成数であっても、 nと互いに素であるaで an-1 ≡ 1 (mod n) となるjものがある(擬素数)。 特に、nと互いに素なすべてのaで上記がなりたつものをカーマイケル数と呼ぶ 561=3x11x17

6 Solovay-Strassen素数判定法
二次合同式 X2 mod p の解を利用(pを法とした平方剰余)

7 Eulerの基準 pを奇素数、aをpと互いに素な任意の数としたとき、次の合同式が成り立つ。        a(p-1)/2 ≡ (a/p) (mod p) (a/p)はLegendre記号    aがpを法とした平方剰余の場合(a/p)=1 aがpを法とした非平方剰余の場合(a/p)=-1

8 Solovay-Strassen素数判定法のまとめ
Fermatテストでのカーマイケル数のような擬素数は存在しない。 nが合成数であれば、1から n - 1のうち少なくとも半分は合成数と判別可能 k回のテストに対し、合成数に対して誤った判定を返す確率は(1/2)k

9 Miller Rabin素数判定法 素数の性質
pを奇素数とし、p - 1 = 2kq (qは奇数)と表す。また、aをpと互いに素な任意の数とすると    aq ≡ 1 ( mod p ) K = 2i(但し iは0からk - 1までの整数)としたとき、aKq ≡ -1 ( mod p )が成り立つ Kが必ず一つ存在する。

10 p - 1 = 2k×q とおく。pと互いに素なaをとる (i) aq=1 mod p または、 (ii) aq,a2q,a4q,
p - 1 = 2k×q とおく。pと互いに素なaをとる (i) aq=1 mod p または、 (ii) aq,a2q,a4q,...,a2k-1qの どれか一個はpを法として-1(=p-1)

11 フェルマーの小定理より ap-1 = 1 mod p aq,a2q,a4q,
フェルマーの小定理より ap-1 = 1 mod p aq,a2q,a4q,...,a2k-1q,a2kqの 最後の項はap-1なので、1となる。 この系列は、前の項の二乗が次の項になっているので、 以下の二通りの場合がありうる。 (a) aq = 1 mod p (b) 途中のある項が1をとる。その場合、その直前の項は-1(=p-1)をとる。

12 Miller Rabinの確率的判定法 pを奇数として、奇数qに対してp - 1 = 2k×qとおく aq≠1 mod p かつ、
(ii) aq,a2q,a4q,...,a2k-1qのすべてが、 pを法として   -1をとらない。

13 Miller Rabin判定法では、1からp-1の間のpとは互い素なaの75%が合成数であることの 証人になる。 1個の底aでテストしたときに合成数を合成数でないと判定する 確率は25% 2個の底ではその確率は25%×25%=6.25% 10個の底を使用した場合には9.5×10-5%

14 AKS素数判定法


Download ppt "素数判定法 2011/6/20."

Similar presentations


Ads by Google