Textbooks and Suggested Readings
The required textbook for the class is
"Introduction to Modern
Cryptography" by Jonathan Katz and Yehuda Lindell, Chapman and Hall/CRC
Press. This book will be on reserve in the engineering library, and
available from the Columbia bookstore.
Additional papers and handouts may occasionally be distributed
Following are some useful materials for those who wish to explore
further. All these texts are available either on-line or in the
Engineering library (or both).
The following collections of lecture notes take a (more or less)
similar approach to the one we take in this class, although they do
differ from this class in some content and notation, and they are less
polished than published books.
The following two books (note that the first one is available on-line)
are comprehensive reference books for all areas in cryptography.
However, these texts take a less careful approach to definitions
and proofs of security than we do, often giving only intuitive treatment
and omitting the precise details.
- L.Trevisan: Cryptography
Lecture notes. These are notes from a graduate course on
Cryptography at Berkeley, in 2009. The treatment is focused on the
theoretical foundations of cryptography.
- S. Goldwasser and M. Bellare: Lecture
Notes on Cryptography. These are notes from a summer
cryptography class given at MIT from 1996-2008. The treatment is focused on
the theoretical foundations of cryptography.
- M. Bellare and P. Rogaway: Lecture
Notes for a graduate cryptography course at UCSD. The
approach here is still aimed towards precise definitions and provable
security, although more emphasis is given to practical
The following book presents a comprehensive treatment of the
theoretical foundations of cryptography, taking a very abstract,
theoretical approach. This book is much more advanced than our
class, and covers the material in far greater depth. This book is
recommended for advanced students who are interested in conducting
research in cryptography.
On the opposite end of the spectrum, the following book presents only a
very intuitive treatment of cryptography, and is a useful reference for
software implementation (which we do not address in the class).
- Oded Goldreich. Foundations
of Cryptography. This is a three-volume book. Volumes I and II
have appeared in print (preliminary versions available on author's website).
- B. Schneier: Applied Cryptography.
Computational Number Theory and Algebra
Some excellent references for computational number theory and applied
- V. Shoup: A Computational Introduction to Number
Theory and Algebra. This is a very comprehensive introduction to
algorithmic number theory, with all the necessary mathematical
- D. Angluin: Lecture Notes on the Complexity of Some Problems
in Number Theory. Available for download (ps
Much shorter than the above, and sufficient for the purposes of
The appendix of the textbook (by Lindell and Katz) reviews some
mathematical background such as basic probability and number theory.
Additional background reading on discrete math, probability, algorithms and
complexity theory can be found in several of the above references (in
particular the one by Shoup, and the one by Menezes, van Oorschot, and
Vanstone), as well as in the following books.
Some interesting non-technical books about the history of cryptology
(which will not be addressed in this class), include the following two,
originally written in 1967 and 1999, respectively.
- D. Kahn: The Codebreakers -- The Comprehensive
History of Secret Communication from Ancient Times to the Internet.
- S. Singh: The Code Book -- The Secret History of Codes and Code
to Course Main Page