初等数论--同余--MILLER-RABIN素性检测算法
初等數論--同余--MILLER-RABIN素性檢測算法
博主是初學初等數論(整除+同余+原根),本意是想整理一些較難理解的定理、算法,加深記憶也方便日后查找;如果有錯,歡迎指正。
我整理成一個系列:初等數論,方便檢索。
和費馬素性檢測算法思路是一致的,都是已知公式推素數概率,只是這里的公式條件更強了,費馬素性檢測算法是通過偽素數的公式,MILLER-RABIN算法是通過強偽素數的公式,推素數概率。
設n為奇素數,且n?1=2st,則有以下因數分解式:bn?1?1=b2st?1=(b2s?1t+1)?(b2s?1t?1)=(b2s?1t+1)?(b2s?2t+1)?(b2s?2t?1)=……=(b2s?1t+1)?(b2s?2t+1)?……?(b20t+1)?(b20t?1)即如果bn?1?1=0,至少以下式子有一個成立:b2s?1t=?1b2s?2t=?1b2s?3t=?1……b20t=?1b20t=1設n為奇素數,且n-1=2^st,則有以下因數分解式:\\ b^{n-1}-1\\ =b^{2^st}-1\\ =(b^{2^{s-1}t}+1)·(b^{2^{s-1}t}-1)\\ =(b^{2^{s-1}t}+1)·(b^{2^{s-2}t}+1)·(b^{2^{s-2}t}-1)\\ =……\\ =(b^{2^{s-1}t}+1)·(b^{2^{s-2}t}+1)·……·(b^{2^{0}t}+1)·(b^{2^{0}t}-1)\\ 即如果b^{n-1}-1=0,至少以下式子有一個成立:\\ b^{2^{s-1}t}=-1\\ b^{2^{s-2}t}=-1\\ b^{2^{s-3}t}=-1\\……\\ b^{2^{0}t}=-1\\ b^{2^{0}t}=1設n為奇素數,且n?1=2st,則有以下因數分解式:bn?1?1=b2st?1=(b2s?1t+1)?(b2s?1t?1)=(b2s?1t+1)?(b2s?2t+1)?(b2s?2t?1)=……=(b2s?1t+1)?(b2s?2t+1)?……?(b20t+1)?(b20t?1)即如果bn?1?1=0,至少以下式子有一個成立:b2s?1t=?1b2s?2t=?1b2s?3t=?1……b20t=?1b20t=1
強偽素數:如果n是奇合數,且n?1=2st,其中t為奇數,對于b∈Z,(b,n)=1,如果b和n滿足條件bt≡1(modn),或存在整數r,0≤r<s,使得b2rt≡?1(modn),則稱n為對于基b的強偽素數。如果n是奇合數,且n-1=2^{s}t,其中t為奇數,對于b\in Z,(b,n)=1,如果b和n滿足條件b^t\equiv 1(mod n),或存在整數r,0\le r< s,使得b^{2^rt}\equiv -1(mod n),則稱n為對于基b的強偽素數。如果n是奇合數,且n?1=2st,其中t為奇數,對于b∈Z,(b,n)=1,如果b和n滿足條件bt≡1(modn),或存在整數r,0≤r<s,使得b2rt≡?1(modn),則稱n為對于基b的強偽素數。
之后算法流程與費馬素性檢測算法流程思路一致,從強偽素數公式推素數概率。
對于這個算法,我也有一個問題沒有解決,“如果n是一個奇合數,則至多有n?14個\frac{n-1} 4個4n?1?個b,1≤b≤n?1,1\le b\le n-1,1≤b≤n?1,使得nnn通過以bbb為基的MILLER-RABIN素性檢測?!?/p>
總結
以上是生活随笔為你收集整理的初等数论--同余--MILLER-RABIN素性检测算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初等数论--同余--Fermat素性检测
- 下一篇: 初等数论--同余--MILLER-RAB