Over the past hundred years, finite fields—nontrivial finite commutative rings where every nonzero element has a multiplicative inverse—have shown themselves to be indispensable throughout number theory, coding theory, and cryptography. The book under review offers a self-contained but expansive development of the theory of finite fields, alongside several applications. It originated as the course text for a class at Stanford targeting highly motivated first-year students.

The first chapter begins with the definitions of “rings” and “groups”; the last (ninth) chapter finishes with the classification theorem for finite fields. The audience is expected to have some calculus under their belt and have had some exposure to “vector spaces.” No prior knowledge of abstract algebra is assumed, and the needed theory of groups and rings is developed, cleanly and efficiently, in Chapters 1, 3, 4, and 6. Chapter 2 and Chapter 5 discuss topics in number theory useful for contextualizing results about finite fields.

Chapter 7 showcases a number of delightful applications in combinatorics, specifically to Sidon sets, to perfect difference sets, and to de Bruijn sequences. Chapter 8 is an exposition of the Agrawal–Kayal–Saxena (AKS) test, the first provably fast (“polynomial-time”) algorithm for deciding whether a given integer is prime or composite; finite fields play an essential role in the proof of the algorithm’s correctness. The material of Chapters 7 and 8 is not contained in standard textbooks, and so the wonderfully lucid treatment here is quite welcome.

This is a splendid introduction to finite fields. The writing is crisp, clean, and down-to-earth, and the mathematics is not only unusually elegant but extraordinarily useful.

Students might find it surprising that there is a subject known as “analytic number theory.” What does analysis, which investigates the continuous, have to contribute to the study of the discrete set of natural numbers? This book provides an answer to that question, assuming only a modest mathematical background on the part of the reader.

Consistent with the title of the book, the exposition is unusually down-to-earth. Dirichlet’s theorem on primes in arithmetic progressions is demonstrated by an elementary method of Gelfond–Linnik and Shapiro, so that this part of the text can be appreciated without a course in complex functions. The prime number theorem, one of the landmark results in the subject, is given its simplest known proof based around ideas of Newman, Zagier, and Korevaar. Complex analysis is needed there, but the relevant facts are given a thorough review in Chapter 8. Throughout, arguments are written in detail and are easy to follow, making the text conducive to self-study.

The author has not been shy about inserting his own tastes and interest. The results on the floor function in Chapter 3, some of which draw on the author’s own research, will be new even to experts in number theory. Each chapter features extensive end notes, offering the reader a glimpse of modern results. Exercises are another strong point of the book; there are quite a few, many of which are original and nonroutine. This second edition makes the text available to readers outside Thailand and includes a new chapter on sieve methods and additive number theory.