The purpose of this book is to introduce the reader to arithmetic topics, both ancient and modern, that have been at the center of interest in applications of number theory, particularly in cryptography. 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, emphasizing estimates of the efficiency of the techniques that arise from the theory. A special feature is the inclusion of recent application of the theory of elliptic curves. Extensive exercises and careful answers have been included in all of the chapters. Because number theory and cryptography are fast-moving fields, this new edition contains substantial revisions and updated references.