A book introducing basic concepts from computational number theory and algebra, including all the necessary mathematical background. This book can be downloaded in pdf format.

**Description**

Number theory and algebra play an increasingly significant role in computing and communications, as evidenced by the striking applications of these subjects to such fields as cryptography and coding theory. My goal in writing this book was to provide an introduction to number theory and algebra, with an emphasis on algorithms and applications, that would be accessible to a broad audience. In particular, I wanted to write a book that would be appropriate for typical students in computer science or mathematics who have some amount of general mathematical experience, but without presuming too much specific mathematical knowledge.

**Contents**

- Basic properties of the integers
- Congruences
- Computing with large integers
- Euclid’s algorithm
- The distribution of primes
- Abelian groups
- Rings
- Finite and discrete probability distributions
- Probabilistic algorithms
- Probabilistic primality testing
- Finding generators and discrete logarithms in Zp*
- Quadratic reciprocity and computing modular square roots
- Modules and vector spaces
- Matrices
- Subexponential-time discrete logarithms and factoring
- More rings
- Polynomial arithmetic and applications
- Linearly generated sequences and applications
- Finite fields
- Algorithms for finite fields
- Deterministic primality testing

**Book Details**