Can you summarize the following document?
        
  根據費馬小定理:如果"p"是素數,formula_1,那麼  如果我們想知道"n"是否是素數,我們在中間選取"a",看看上面等式是否成立。如果對於數值"a"等式不成立,那麼"n"是合數。如果有很多的"a"能夠使等式成立,那麼我們可以說"n"可能是素數,或者偽素數。  在我們檢驗過程中,有可能我們選取的"a"都能讓等式成立,然而n卻是合數。這時等式  被稱為"Fermat liar"。如果我們選取滿足下面等式的"a"  那麼"a"也就是對於"n"的合數判定的"Fermat witness"。

  整個演算法可以寫成是下面兩大部:  若使用模指數運算的快速演算法,這個演算法的執行時間是O("k"×log"n"),這裡"k"是一個隨機的"a"需要檢驗的次數,"n"是我們想要檢驗的數。

  眾所周知,對於卡米歇爾數"n",全部的"a"都會令gcd(a,n)=1,我們稱之為費馬騙子數(Fermat liars)。儘管卡米歇爾數很是稀有,但是卻足夠令費馬素性檢驗無法像如米勒-拉賓和Solovay-Strassen的素性檢驗般,成為被經常實際應用的素性檢驗。  一般的,如果"n"不是卡米歇爾數,那麼至少一半的  是費馬證人數(Fermat witnesses)。在這裡,令"a"為費馬證人數、"a", "a",..., "a"為費馬騙子數。那麼  所有的"a"×"a" for "i" = 1, 2,..., "s"都是費馬證人數。

  加密程式PGP在演算法當中用到了這個素性檢驗方法。
費馬素性檢驗是一種質數判定法則,利用隨機化演算法判斷一個數是合數還是"可能是"素數。