在數論上,可能質數(probable prime,縮寫為PRP)指的是一個滿足所有質數都會滿足、但多數合成數都不會滿足的特定條件的數。不同的可能質數會有不同的條件。雖說一些可能質數會是合成數(也就所謂的偽質數),但一般會透過條件的選取讓這種狀況變得少見。
像例如一個基於費馬小定理的費馬合成數測試,其原理如次:在給定一個n的狀況下,選取一個不是n的倍數的數a(一般會在 1 < a < n − 1 {\displaystyle 1<a<n-1} 的範圍中選取a),然後計算 a n − 1 ( mod n ) {\displaystyle a^{n-1}{\pmod {n}}} 。若結果不是1,則n是合成數;若結果是1,那n就有可能是質數,這種情況下,可稱n是以a為底的可能質數。一個以a為底的弱可能質數指的是一個以a為底的可能質數,但這個可能質數不是以a為底的強可能質數。
對於固定的底a,一個以之為底的合成數不太可能會是可能質數(也就所謂的偽質數),像例如說在不大於 25 × 10 9 {\displaystyle 25\times 10^{9}} 的數字中,有11,408,012,595個奇合成數,但只有21,853個以2為底的偽質數;[1]:1005相比之下在同樣的區間中有1,091,987,404個奇質數。
質數可能性是高效質數判定演算法的基礎,而這類演算法被應用於密碼學中。這些演算法通常在本質上是隨機化的。這主意背後的想法是盡管對於任意固定的底a而言,都有實際上是合成數的以a為底的可能質數,因此會期望說對於任意的合成數n,存在一個 P < 1 {\displaystyle P<1} ,使得在隨機選取a時,n是以a為底的偽質數的機率不會超過P。在這種狀況下,假如重複類似的操作k次,每次都選取新的a,那麼n是以a為底的偽質數的機率就不會大於 P k {\displaystyle P^{k}} 。有鑑於 P k {\displaystyle P^{k}} 指數性遞減之故,因此只需要選取適量的k,就能把機率壓低到可忽略地小(相對電腦硬體出現錯誤的機率等而言)的程度。
然而壞消息是,由於卡邁克爾數之故,上述的理論是對於弱可能質數而言是不成立的;不過對於諸如強可能質數(像例如由米勒-拉賓質數判定法給出的那些,其中 P = 1 4 {\displaystyle P={\frac {1}{4}}} )或歐拉可能質數(由梭羅維-施特拉森質數測試(英语:Solovay–Strassen primality test)給出,其中 P = 1 2 {\displaystyle P={\frac {1}{2}}} )等對質數可能性測試更精進的想法而言,上述的理論是成立的。
即使在需要使用確定性質數判定證明的狀況下,一個有用的步驟是先使用隨機化質數判定法,這可迅速(且確定)地去掉絕大多數的合成數。
有時質數判定測試會與小的偽質數表一起使用,好快速確定小於特定門檻的數字的質數性。
一個以a為底的歐拉可能質數是一個較強的理論指出的可能是質數的正整數,其中對於任意的質數p, a ( p − 1 ) 2 ≡ ( a p ) ( mod p ) {\displaystyle a^{\frac {(p-1)}{2}}\equiv ({\tfrac {a}{p}}){\pmod {p}}} ,其中 ( a p ) {\displaystyle ({\tfrac {a}{p}})} 是雅可比符號。
一個是合成數歐拉可能質又稱以a為底的歐拉-雅可比偽質數。最小的以2為底的歐拉-雅可比偽質數是561。[1]:1004在小於 25 × 10 9 {\displaystyle 25\times 10^{9}} 的數字中,有11347個以2為底的歐拉-雅可比偽質數。[1]:1005
這測試可利用1的平方根除以p必然等於1或-1這件事實來改進。而這可藉由 n = 2 s ⋅ d + 1 {\displaystyle n=2^{s}\cdot d+1} 這點(其中d是奇數)達成。若n滿足以下條件,則稱n是以a為底的強可能質數:
或
一個實際上是合成數的以a為底的強可能質數又稱為以a為底的強偽質數。所有以a為底的強偽質數也都是在相同底下的歐拉可能質數,但反過來不盡然成立。
最小的以2為底的2強偽質數是2047。[1]:1004在小於 25 × 10 9 {\displaystyle 25\times 10^{9}} 的數字中,有4842個以2為底的2強偽質數。[1]:1005
此外也有基於盧卡斯數列的盧卡斯可能質數(英语:Lucas pseudoprime)。盧卡斯可能質數可單獨使用。另外貝里-PSW質數判定法(英语:Baillie–PSW primality test)是混合盧卡斯測試和強可能質數測試的質數判定法。
以下為測試97是否是以2為底的強可能質數的步驟: