PRIMALITY TESTING AND PROVING METHODS

Shuting You

A is an integer greater than one whose only positive divisors are one and itself. An integer which is not prime is called a composite number. The study of prime numbers and their properties goes back at least as far as the work of ancient Greek mathematicians. In the last few decades, prime numbers have not only occupied their usual central role in the theory of numbers, but they have also been playing a vital role in the fields of and information security. As the demand for secure information transmission increases, it has become more crucial to find efficient and accurate primality testing and proving methods.

Primality tests are algorithms that given a natural number n greater than one will either terminate with “The number is composite” or with “This number is probably prime”. (The number could with small probability be composite.) Some algorithms actually give proof of primality. These are called primality proving algorithms and are said to give primality certificate. In 2002, , and Nitin Saxena1 solved a long-standing problem in this field when they found a primality proving algorithm, now called AKS primality proving algorithm, which was guaranteed to terminate in polynomial time.

In this talk, I will introduce the main idea of this ground-breaking AKS primality proving algorithm and its time complexity. The basis of the AKS algorithm is a generalization of Fermat Little Theorem to polynomial rings over finite fields, which is stated as follows: If gcd(a, n) = 1, where a∈ Z, n∈ N, n≥ 2, and r is a special value depending on n, then n is prime if and only if (X + a)n ≡ Xn + a (mod Xr – 1, n). The proof of the correctness of the AKS algorithm relies heavily on facts about cyclotomic polynomials over finite fields. The asymptotic time complexity of the original version of the algorithm is O(log15/2 n), which means that the running time is proportional to the (15/2)th power of the natural logarithm of the number being tested. Recently, H. Lenstra and C. Pomerance2 modified the algorithm to a new version with the running time of O(log6 n), and currently this is the most efficient version of the AKS algorithm.

Compared to some commonly used primality testing algorithms, AKS algorithm still has a much longer running time. Therefore, the AKS algorithm is of theoretical interest only, but of course, is the starting point for further investigations of polynomial-time primality proving algorithms.

______1 Agrawal, M., Kayal, N., and Saxena, N., Primes is in P, Annals of Mathematics 160 (2004), 781-793; available at http://www.cse.iitk.ac.in/news/primality.html. 2 Lenstra, H. Jr. and Pomerance, C., Primality Testing with Gaussian Periods, preliminary version (2005); available at http://www.math.dartmouth.edu/~carlp/PDF/complexity12.pdf.