热门问题
时间线
聊天
视角

費馬質數判定法

来自维基百科,自由的百科全书

Remove ads

費馬質數判定法是一種質數判定法則,利用隨機化算法判斷一個數是合數還是可能是質數。

概念

根據費馬小定理:如果 是質數,,那麼

如果我們想知道 是否是質數,我們在中間選取 ,看看上面等式是否成立。如果對於數值 等式不成立,那麼 是合數。如果有很多的a能夠使等式成立,那麼我們可以說 可能是質數,或者偽質數

在我們檢定過程中,有可能我們選取的 都能讓等式成立,然而 卻是合數。這時等式

被稱為Fermat liar。如果我們選取滿足下面等式的a

那麼 也就是對於 的合數判定的Fermat witness

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
最小的 4 341 91 15 4 35 6 9 4 9 10 65 4 15 14 15 4 25 6 21 4 21 22 25 4 9 26 9 4 49
Remove ads

算法以及運行時間

整個算法可以寫成是下面兩大部:

輸入 需要檢定的數;:參數之一來決定檢定需要進行的次數。
輸出:當 是合數時輸出合數,否則輸出可能是質數
重複 次:
範圍內隨機選取
如果 那麼返回合數
返回可能是質數

若使用模指數運算的快速算法,這個算法的運行時間是 ,這裡 是一個隨機的 需要檢定的次數, 是我們想要檢定的數。

Remove ads

缺點

眾所周知,對於卡米歇爾數 全部 都是費馬騙子數(Fermat liars)。儘管卡米歇爾數很是稀有,但是卻足夠令費馬質數判定法無法像如米勒-拉賓Solovay-Strassen質性檢定般,成為被經常實際應用的質性檢定。

一般的,如果 不是卡米歇爾數,那麼至少一半的

是費馬證人數(Fermat witnesses)。在這裡,令 為費馬證人數、 為費馬騙子數。那麼

所有的都是費馬證人數。

Remove ads

應用

加密程序PGP在算法當中用到了這個質性檢定方法。

參見

參考

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads