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