From Gauss to Gdel, mathematicians have sought an efficient algorithm to distinguish prime numbers from composite numbers. This book presents a random polynomial time algorithm for the problem. The methods used are from arithmetic algebraic geometry, algebraic number theory and analyticnumber theory. In particular, the theory of two dimensional Abelian varieties over finite fields is developed. The book will be of interest to both researchers and...