This comprehensive 2008 introduction for beginning graduate students contains articles by the leading experts in the field. It covers basic topics such as algorithmic aspects of number fields, elliptic curves, and lattice basis reduction and advanced topics including cryptography, computational class field theory, zeta functions and L-series, and quantum computing.

### Contents

1. Solving Pell's equation Hendrik Lenstra; 2. Basic algorithms in number theory Joe Buhler and Stan Wagon; 3. Elliptic curves Bjorn Poonen; 4. The arithmetic of number rings Peter Stevenhagen; 5. Fast multiplication and applications Dan Bernstein; 6. Primality testing Rene Schoof; 7. Smooth numbers: computational number theory and beyond Andrew Granville; 8. Smooth numbers and the quadratic sieve Carl Pomerance; 9. The number field sieve Peter Stevenhagen; 10. Elementary thoughts on discrete logarithms Carl Pomerance; 11. The impact of the number field sieve on the discrete logarithm problem in finite fields Oliver Schirokauer; 12. Lattices Hendrik Lenstra; 13. Reducing lattices to find small-height values of univariate polynomials Dan Bernstein; 14. Protecting communications against forgery Dan Bernstein; 15. Computing Arakelov class groups Rene Schoof; 16. Computational class field theory Henri Cohen and Peter Stevenhagen; 17. Zeta functions over finite fields Daqing Wan; 18. Counting points on varieties over finite fields Alan Lauder and Daqing Wan; 19. How to get your hands on modular forms using modular symbols William Stein; 20. Congruent number problems in dimension one and two Jaap Top and Noriko Yui.