This book describes 148 algorithms which are essential for serious number-theoretic computations, in particular for computations related to lattices, algebraic number theory, elliptic curves, primality testing and factoring. For each algorithm, a complete theoretical introduction is given so that prerequisites are reduced to a minimum. Many implementation hints and exercises are also provided.