大數素性檢測的數學理論基礎分析
大數的素性檢測可以分為確定性的素性檢測和概率性的素性檢測
確定性的素性檢測在小整數的素性檢測中雖然已經夠用,但是在大整數的素性檢測中,這些算法明顯復雜度大大增加,所以人們又尋找到了更加高效的概率性素性檢測來尋找大素數。
這里僅僅舉出比較常見或者比較著名的素性檢測方法。
確定性素性檢測
1.廣義歐幾里得定理素性檢測
想法
對於這個素性檢測的一種優化是i可以換作小於n的平方根的素數,因為小於n的平方根的數都有素因子,所以可以優化,但是這種優化僅僅對於小整數而言好用。
這里的時間復雜度仍然是指數級的,但是我們期望能夠有多項式級的算法,幫助我們高效進行素性檢測。
時間復雜度
2.Lucas–Lehmer素性檢驗(用於梅森數的檢驗)
並且當n為合數時,梅森數也為合數;當n為素數是,梅森數不一定都是素數
想法
這里的確定性算法雖然時間復雜度很低,但是僅僅適用於梅森數的檢驗,十分具有局限性,但是對於大素數的尋找很有幫助,最近幾個最大素數便是該算法尋找到的。
在這個結論的證明中,因為這是個序列,所以自然而然想到用數學歸納法,但是其中構造的方法頗為巧妙,構造一對
用於證明每個Si都滿足
證明充分性時,運用了反證法,再引入群的概念,通過群元素的階和素因子的性質導出矛盾。
證明必要性時,運用了二次剩余,歐拉准則,費馬小定理以及初等群論等來證明。
同樣的,也有同類型的素性檢測,Pepin測試,但是它也僅適用於費馬數,這樣的局限性過於致命。
3.AKS素性測試(僅了解)
想法
這是最為著名的確定性素性測試,因為它的出世成功使素數判定的時間復雜度降到了多項式復雜度,並且沒有依賴任何未得到證明的猜想。
該證明涉及費馬小定理,群、環和域等知識,中間具體內容本人難以理解。
AKS素性測試主要是基於以下定理
具體計算中可以使用貝祖定理進行公約數的計算。
算法操作:
概率性素性檢測
1.費馬素性檢驗(主要找課外知識)
想法
這個素性檢驗是根據費馬小定理的逆定理來篩選大素數的。
但是由於其逆定理並不正確,對於卡邁克爾數即滿足費馬小定理的逆定理但是不為素數的數,雖然卡邁克爾數很少,在1~100000000范圍內的整數中,只有255個卡邁克爾數,但是已經使他的效果落后於Miller-Rabin和Solovay-Strassen素性檢驗。
出錯的概率
在選取底數a時,有二分之一的概率出錯,但是可以通過多次選取底數來使出錯概率降下期望值。
突破
2016年,我國物流工人提出了卡邁克爾數判別准則,
如果6k+1,18k+1,54k^2+12k+1都是素數(比如k=1,2),那么n必然是卡邁克爾數,與先前的判別法相比,這個公式的亮點就是新發現的二次式也可以作為卡邁克爾數因子。
時間復雜度
2.歐拉-雅克比偽素數和Solovay-Stassen素性檢驗(主要找課外知識)
想法
在模平方剩余判別時,歐拉判別法則要求模為奇素數,但是雅克比符號弱化了這樣的條件,只要求模為奇整數,這樣的變化可以用於判斷模平方剩余,但是和歐拉定理不能等價,於是會存在偽素數。
歐拉偽素數:
設n為正奇合數,設整數b與n互素。如果整數n和b滿足條件
則n叫做對於基b的歐拉-雅克比偽素數。
Solovay-Stassen算法:
出錯的概率
所有歐拉-雅克比偽素數同時是費馬偽素數,這個判別公式對所有素數都成立,因而可以用於概率素性檢驗,他的可靠性是費馬素性檢驗的兩倍多。
時間復雜度
3. Miller-Rabin素性檢驗(主要找課外知識)
想法
素性檢測首先利用了因數分解式,將冪次n-1降低為以2為階的各次冪,再利用中國剩余定理,推出強偽素數的滿足條件,在算法優化中,采用模平方算法降低復雜度,這也是該算法的優勢之一,大大提高了效率。
出錯的概率
相比之下,這樣的出錯概率遙遙領先與費馬素性檢測和Solovay-Stassen素性檢測。
時間復雜度
模平方算法下
轉載請注明出處:https://www.cnblogs.com/merk11/
總結感悟
大數素性檢測的發展,從最初的基於單一定理進行窮舉檢測,到特殊素數的檢測,再到一般素數的綜合檢測,一步一步從復雜到簡單,從特殊到一般;不僅如此,由於素數的重要性,人們更追求在更短時間內判定出素數,通過弱化某些條件或者尋找某些定理逆命題的可靠性,來概率性地判別素數,在概率性素數檢測發展中,Miller-Rabin最為著名,也是由於他能夠采用更加優良的模平方算法,大大降低了算法復雜度,使大數素數的判定速率有了質的飛躍。
數學家們至今仍然在素性檢測的山峰上攀登,在學習過程中,我尋找到了不少基於黎曼猜想的素性檢測,由於黎曼猜想並未完全被證明,這些素性檢測便仍然有很大的局限性。
各個素性檢測各有優勢,對待不同的檢測要求,大數范圍,選取的素性檢測也不同。素性檢測在對應的場景,經過人工的調試,能夠發揮更大的作用,比如概率性檢測的安全參數k便可以根據要求而改變。
轉載請注明出處:https://www.cnblogs.com/merk11/
