This book is intended for undergraduate students taking a first course in cryptography. The text was designed with both the mathematical theory and the practice of writing cryptographic algorithms in mind. The chapters present the number theory required, and, in most cases, cryptosystems are presented as soon as the material required to understand them has been completed. No prior knowledge of number theory is necessary, though you should know how to use matrices and should be familiar with the concept of mathematical induction and other methods of proof. There are many math exercises for you because it is necessary to deepen one's understanding of cryptography. A working knowledge of Java is assumed. You should have little trouble programming cryptographic algorithms in Java once the mathematics is understood. We begin the cryptographic programming "from the ground up."
- Introduction to Cyrptography
- Java Cryptography
- Cryptography using Java