Philip N. Klein is Professor of Computer Science at Brown University. He was a recipient of the National Science Foundation's Presidential Young Investigator Award, and has received multiple research grants from the National Science Foundation. He has been made an ACM Fellow in recognition of his contributions to research on graph algorithms. He is a recipient of Brown University's Award for Excellence in Teaching in the Sciences.
1. Introduction
2. Modular arithmetic
3. The addition cypher, an insecure block cypher
4. Functions
5. Probability theory
6. Perfect secrecy and perfectly secure cryptosystems
7. Number theory
8. Euclid's algorithm
9. Some uses of perfect secrecy
10. Computational problems, easy and hard
11. Modular exponentiation, modular logarithm, and one-way functions
12. Diffie and Hellman's exponential-key-agreement protocol
13. Computationally secure single-key cryptosystems
14. Public-key cryptosystems and digital signatures.