Textbooks and Suggested Readings
Class Textbook
The required textbook for the class is
"Introduction to Modern
Cryptography" by Jonathan Katz and Yehuda Lindell, Chapman
and Hall/CRC Press, 3rd edition. This book will be on reserve
in the science and engineering library, and available from the
Columbia bookstore. Additional pointers, handouts, or papers
may occasionally be distributed in class.
The lecture summaries page includes recommended and required readings for each lecture.
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).
Other Cryptography Texts
The following are textbooks that take a (more or less) similar
approach to the one we take in this class, although they do differ
from our class (and from each other) in some content and notation.
They are all free for download.
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.
Two books on secure computation, which is a more advanced topic
that we will not reach in this introductory class:
Background Reading
The appendix of the textbook (by Katz and Lindell) 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, as well as in the following.
- M. Sipser:
Introduction
to the Theory of Computation.
See chapter 0 for basic discrete math, and chapter 7 for
basic complexity notions.
- T. H. Cormen, C. E. Leiserson, R. L, Rivest, C. Stein:Introduction
to Algorithms.
See first part for introduction to algorithms and randomized
algorithms,
and appendix for discrete math and probability overview.
- P. A. Papakonstantinou reviews of discrete math:
A crash course
in
probability, Basic
matematical reasoning and
notation, Elementary
counting techiques.
- L. Trevisan: Notes on Discrete
Probability.
Overview of discrete probability, independence, expectation
and variance.
Computational Number Theory and Algebra
Some excellent references for computational number theory and
applied algebra include:
- 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
background self-contained.
- D. Angluin: Lecture Notes on the Complexity of Some
Problems in Number Theory. Available for download
here.
Much shorter (and much much older) than the above, and
sufficient for the purposes of our class.
- Smart's book above has several detailed relevant
chapters. Here is Chapter 1
with number theoretic background.
Back
to
Course Main Page