Cybersecurity is a major challenge today, as computing systems and networks play an increasingly important role in modern society. Cryptography addresses this problem based on mathematical theory, trying to ensure secure communication over insecure channels.

This book gives an introduction to the theory, methods, and techniques used in modern cryptography. It starts with a general introduction to security in cyberspace, the cybersecurity strategies of some countries, and cryptography. The technical part begins with chapter 2, which introduces mathematical preliminaries. It includes basic algebraic structures (groups, rings, and fields) and topics from number theory (divisibility, arithmetic functions, congruence theory, elliptic curves, and so on). Chapter 3 is about computational preliminaries: classical computability and complexity; quantum information and computation; and quantum computability and complexity. In these chapters, the reader can find formal definitions, propositions and theorems (without proofs), explanatory examples, and historical facts.

The rest of the book is about cryptographic systems. Chapter 4 discusses secret-key cryptography. It starts with a formal definition and intuitive explanation of secret-key and public-key cryptosystems and their comparison. Then it introduces several ciphers illustrated with examples. Chapters 5 through 7 are devoted to public-key cryptography. They introduce some classical intractable problems and discuss cryptosystems based on those problems. These are factoring-based cryptography (based on integer factorization), logarithm-based cryptography (based on discrete logarithm problem), and elliptic curve cryptography (based on the elliptic curve discrete logarithm problem). For each of these cryptosystems, quantum attack possibility is analyzed. This naturally asks a question about the existence of quantum-safe cryptosystems, which is the topic of chapter 8. Chapter 9 briefly addresses offensive uses of cryptography.

The exposition combines the rigor of formal definitions and an easy-to-follow explanatory style based on examples. All sections include problems. Readers of various backgrounds and tastes can try their hand at challenges of varying difficulty, from proving *P* ≠ *NP* and cracking some FBI Laboratory problem codes to showing Legendre’s conjecture and finding the top ten nations in the Global Cybersecurity Index.

Aside from some typographical, linguistic, and stylistic issues, the book provides a good basic reference for the theory and techniques of modern cryptography.