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.