Ungraduate Texts in Mathematics. New York etc.: Springer-Verlag. xiii, 237 p. DM 98.00 (1989).
Guided by the red threads “factorization” and “primality testing”, the reader of this book is introduced in a very smooth way into important number-theoretical concepts, algorithms and results like the fundamental theorem of arithmetic, the sieve of Eratosthenes, the Euclidean algorithm for the determination of the greatest common divisor of two numbers, the “little” theorem of Fermat, pseudoprimality, the Chinese remainder theorem, Euler’s -function and continued fractions. It soon becomes clear that the present state-of-the art of modern factorization and primality testing has been influenced by the entire history of mathematics: from Euclid and Eratosthenes, via Fermat, Euler, Legendre, Gauss and Jacobi, to many modern mathematicians and computer scientists. In the past 25 years also electronic computers have considerably stimulated rapid developments in algorithmic and computational aspects of factorization and primality testing. Factorization and primality testing algorithms have shown themselves extremely well suited to push computers to their limits, to reveal their flaws, to set their benchmarks. In addition, the advent of the RSA public key cryptosystems has made the research on factorization and primality testing of direct, practical interest to government and business and anyone concerned with secure transmission of information.
The first three chapters describe some basic problems and solutions which were discovered by the Greeks of the classical era. The Euclidean algorithm and the sieve of Eratosthenes are well-known examples. Perfect numbers were also studied by the ancient Greeks and some simple observations by Fermat concerning these numbers form the theoretical underpinning for what follows. Chapters 4 and 5 describe the application of factorization and primality testing to the construction of codes for transmitting secret information (RSA Public-Key Crypto-Systems), and the factorization techniques which are based on the developments described in chapters 1-3 (Fermat’s algorithm, Kraitchik’s improvement, Pollard and Pollard p-1). In chapters 6 and 7 the theory is treated which one needs to understand the Quadratic Sieve factorization method. This method, the most powerful tool for factorization known today, is explained in chapter 8. Chapter 9 gives some theory about primitive roots and a well-known primality test of Lucas, based on this concept.
In chapters 10-12 the reader is guided back again to the ancient Greeks who studied the approximation of irrational numbers (like by rationals. This naturally leads to the concept of continued fractions, the Continued Fraction factorization algorithm, and primality tests based on Lucas sequences. Chapters 13 and 14 dive into the theory of elliptic curves and explain how this can be applied to factorization and primality testing.
This book is intended as an undergraduate text in computational number theory. Each chapter closes with a very instructive set of computer exercises. Most of them can only be solved by means of multiprecise integer arithmetic routines. Those who do not have access to such routines can get a set from the author, written in REXX, a structured language which can be run on any IBM compatible machine, from PC up to a mainframe. If one wants to get a good feeling for the algorithms described in the book one should work through these exercises carefully. In this way, one can follow some footsteps of men like Euclid, Euler and Gauss, but now aided by an electronic computing device which can do all the tedious work they had to do by themselves.
The author has dedicated this book to his father (Marius L. Bressoud, Jr.) and to his mathematical father (Emil Grosswald) “who have shown me how to write”. They did an excellent job.