Fermat primality testThe Fermat primality test is a probabalistic test to determine if a number is composite or probably prime.
ConceptFermat's little theorem states that if p is prime and
If we want to test if n is prime, then we can pick random a's in the interval and see if the equality holds. If the equality does not hold for a value of a, then n is composite. If the equality does hold for many values of a, then we can say that n is probably prime, or a pseudoprime. It may be in our tests that we do not pick any value for a such that the equality fails. Any a such that when n is composite is known as a Fermat liar. If we do pick an a such that then a is known as a Fermat witness for the compositeness of n. Algorithm and running timeThe algorithm can be written as follows:
Using fast algorithms for modular exponentiation, the running time of this algorithm is O(k × log3n), where k is the number of times we test a random a, and n is the value we want to test for primality. FlawsThere are certain values of n known as Carmichael numbers for which all values of a are Fermat liars. Although Carmichael numbers are rare, there are enough of them that Fermat's primality test is often not used in favor of other primality tests such as Miller-Rabin and Solovay-Strassen. In general, if n is not a Carmichael number then at least half of all are Fermat witnesses. For proof of this let a be a Fermat witness and a1, a2, ... , as be Fermat liars. Then and so all a × ai for i = 1, 2, ... , s are Fermat witnesses. UsageThe encryption program PGP uses this primality test in its algorithms.
de:Fermatscher Primzahltest es:Test de primalidad de Fermat fr:Test de primalité de Fermat Categories: Number theory | Modular arithmetic | Cryptography |
|
This article is licensed under the GNU Free Documentation License. It uses material from Wikipedia article. Browse Wikipedia for more information. |