ICS 201, Fall'07

Background Reading

back to course main page

The textbook in the class is Jonathan Katz and Yehuda Lindell's Introduction to Modern Cryptography

Below are pointers to both on-line and off-line additional material for this class.  You might find them especially helpful when you run into problems understanding something, and you want an alternative explanation to the one in the textbook. 

(Notice of intellectual credit:  The list I'm giving here started by editing a list compiled by Tal Malkin for the "intro to crypto" class she teaches at Columbia.)

Main reference, available on-line:

S. Goldwasser and M. Bellare: Lecture Notes on Cryptography.  This is the closest thing to a "text book" for this class.  These are notes from a summer cryptography class given by profs. Shafi Goldwasser and Mihir Bellare at MIT.  The treatment here is focused on the theoretical foundations of cryptography.  This is similar to our approach in this class, although on a more advanced level and sometimes in a different order.  I very much encourage you to look into this text for reference.

Other cryptography lecture notes available on-line:

The following collections of lecture notes take a (more or less) similar approach to the one we take in this class (except of Bellare/Rogaway notes which emphasize symmetric setting more than we will).  

Cryptography Texts available on-line and as books:

Oded Goldreich's notes for his Foundation of Cryptography book are available on-line.  Oded's work is a comprehensive treatment of the theoretical foundations of cryptography and it covers the material in far greater depth that our class.  It is recommended as a background reading, especially for students who are interested in conducting research in cryptography.

The following is a very good introductory book to cryptography. It describes the main public-key cryptosystems, RSA, ElGamal, DSA signatures, as well as symmetric key cryptosystems like DES, but it does not concentrate on defining the properties these cryptosystems offer, and it does not concentrate on how to tell when a cryptographic scheme combines these primitives correctly. But it is very good as a reference book for this class!:

The following is a comprehensive reference book for all areas in cryptography. It has a less careful approach to definitions and proofs of security than we do, but it is a very good reference text.  It is available chapter by chapter from the book website:

On the opposite end of the theory-vs-practice 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).

Material available on-line on (computational) number theory and its cryptographic applications:

Some excellent references for computational number theory and applied algebra include:

Background Readings on Computability/Complexity 

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, by Menezes, van Oorschot, and Vanstone, and by Wenbo Mao.  The following two books are excellent stand-alone textbooks for, respectively, complexity and algorithms:

Non-Technical Reading on Cryptography

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.