This is a substantially revised and updated introduction to arithmetic topics, both ancient and modern, that have been at the centre of interest in applications of number theory, particularly in cryptography. As such, no background in algebra or number theory is assumed, and the book begins with a discussion of the basic number theory that is needed. The approach taken is algorithmic, emphasising estimates of the efficiency of the techniques that arise from the theory, and one special feature is the inclusion of recent applications of the theory of elliptic curves. Extensive exercises and careful answers are an integral part all of the chapters.
I. Some Topics in Elementary Number Theory.- 1. Time estimates for doing arithmetic.- 2. Divisibility and the Euclidean algorithm.- 3. Congruences.- 4. Some applications to factoring.- II. Finite Fields and Quadratic Residues.- 1. Finite fields.- 2. Quadratic residues and reciprocity.- III. Cryptography.- 1. Some simple cryptosystems.- 2. Enciphering matrices.- IV. Public Key.- 1. The idea of public key cryptography.- 2. RSA.- 3. Discrete log.- 4. Knapsack.- 5 Zero-knowledge protocols and oblivious transfer.- V. Primality and Factoring.- 1. Pseudoprimes.- 2. The rho method.- 3. Fermat factorization and factor bases.- 4. The continued fraction method.- 5. The quadratic sieve method.- VI. Elliptic Curves.- 1. Basic facts.- 2. Elliptic curve cryptosystems.- 3. Elliptic curve primality test.- 4. Elliptic curve factorization.- Answers to Exercises.