This text introduces cryptography, from its earliest roots to cryptosystems used today for secure online communication.
Beginning with classical ciphers and their cryptanalysis, this book proceeds to focus on modern public key cryptosystems such as Diffie-Hellman, ElGamal, RSA, and elliptic curve cryptography with an analysis of vulnerabilities of these systems and underlying mathematical issues such as factorization algorithms. Specialized topics such as zero knowledge proofs, cryptographic voting, coding theory, and new research are covered in the final section of this book.
Aimed at undergraduate students, this book contains a large selection of problems, ranging from straightforward to difficult, and can be used as a textbook for classes as well as self-study. Requiring only a solid grounding in basic mathematics, this book will also appeal to advanced high school students and amateur mathematicians interested in this fascinating and topical subject.