Pratt certificate
A Pratt certificate for a given integer is a primality certificate
in which the numbers allow verification of primality by using the converse of Fermat’s little theorem (or Lehmer’s theorem). Generating a Pratt certificate requires knowledge of the prime factorization
of (the primes ). Then, one must find a witness
such that but not
for any (with being the number of distinct prime factors function). Pratt certificates typically include witnesses not just for but also for the prime factors of .
Because a Pratt certificate requires the factorization of , it is generally only used for small numbers, with “small” being roughly defined as being less than about a billion. We’ll use a much smaller number for our example, one for which it would actually be faster to just perform trial division: . We then have to factor 126, which gives us 2, 3, 3, 7. Choosing our witness , we then see that but , and . Most algorithms
for the Pratt certificate generally hard-code 2 as a prime number
, but provide certificates for the other primes in the factorization. For this example we won’t bother to give certificates for 3 and 7.