Princeton University
Computer Science Department

Computer Science 433
Cryptography

Boaz Barak

Spring 2010


News:
·final is online - click here for instructions.
· All students taking this course should join the mailing list.
· Mathematical background handout (including a "sneak preview" of exercises from Homework 1), (click here for LaTeX source)
Directory
Lecture notes | Reading | Admin

Course Summary

Cryptography or "secret writing" has been around for about 4000 years, but was revolutionized in the last few decades. The first aspect of this revolution involved placing cryptography on more solid mathematical grounds, thus transforming it from an art to a science and showing a way to break out of the "invent-break-tweak" cycle that characterized crypto throughout history. The second aspect was extending cryptography to applications far beyond simple codes, including some paradoxical impossible-looking creatures such as public key cryptography , zero knowledge proofs, and playing poker over the phone.

This course will be an introduction to modern "post-revolutionary" cryptography with an emphasis on the fundamental ideas (as opposed to an emphasis on practical implementations). Among the topics covered will be private key and public key encryption schemes (including DES/AES and RSA), digital signatures, one-way functions, pseudo-random generators, zero-knowledge proofs, and security against active attacks (e.g., chosen ciphertext (CCA) security). As time permits, we may also cover more advanced topics such as the Secure Socket Layer (SSL/TLS) protocol and the attacks on it (Goldberg and Wagner, Bleichenbacher), secret sharing, two-party and multi-party secure computation, and quantum cryptography.

The main prerequisite for this course is ability to read, write (and perhaps enjoy!) mathematical proofs. In addition, familiarity with algorithms and basic probability theory will be helpful. No programming knowledge is needed. If you're interested in the course but are not sure you have sufficient background, or you have any other questions about the course, please contact me at


Administrative Information

Lectures: Mondays and Wednesdays 1:30pm-2:50pm, room: 105 in Computer Science building

Professor: Boaz Barak - 405 CS Building. Email: Phone: 609-981-4982 ?> (I prefer email)

Undergraduate Coordinator: Donna O'Leary - 410 CS Building - 258-1746 doleary@cs.princeton.edu

Teaching Assistants: Sushant Sachdeva ( sachdeva@cs ) and Shi Li ( shili@cs )

course mailing list.

Grading: 50% homework, 50% take-home final. See syllabus for more details.

Homework assignment Due
HW1 (LaTeX source) February 10
HW2 (LaTeX source) February 17
HW3 (LaTeX source) February 24
HW4 (LaTeX source) March 3
HW5 (LaTeX source) March 10
HW6 (LaTeX source) March 24
HW7 (LaTeX source) March 31
HW8 (LaTeX source) April 7
HW9 (LaTeX source) April 14
HW10 (LaTeX source) April 21
HW11 (LaTeX source) April 28

I prefer you use LaTeX to write your solution. Here is a short guide for LaTex by Dave Xiao (you might want to look at the source files for the guide: latex-guide.tex and macros.tex).

Readings:

There is no textbook for this course. But the following books may be useful: Introduction to Modern Cryptography by Katz and Lindell. Foundations of Cryptography Volumes 1 and 2 by Oded Goldreich. Note that some of this material is online in the form of "fragments" of the book. We will also be using portions of the draft of the the book A graduate course in applied cryptography by Victor Shoup and Dan Boneh.

There are several lecture notes for cryptography courses on the web. In particular the notes of Trevisan, Vadhan, Bellare and Rogaway, Goldwasser and Bellare and Malkin will be useful.

Some good sources for the probability and complexity/algorithms backgrounds are:

A good source for computational number theory is A Computational Introduction to Number Theory and Algebra by Victor Shoup. Note that this book freely available on-line under the creative commons license. Another good book on this topic is A Concrete Introduction to Higher Algebra by Lindsay Childs.

Some other more application-oriented crypto books (note that these books take a much less careful approach to definitions and security proofs than we do in the course):

Alfred J. Menezes, Paul C. van Oorschot, and Scott A. Vanstone. Handbook of Applied Cryptography.
Douglas R.  Stinson. Cryptography: Theory and Practice.
Bruce Schneier.  Applied Cryptography.
Ross Anderson Security Engineering

Lecture Notes and Handouts.

        February 2010 

 Sun  Mon  Tue  Wed  Thu  Fri  Sat

       1    2    3    4    5    6  
  7    8    9   10   11   12   13  
 14   15   16   17   18   19   20  
 21   22   23   24   25   26   27  
 28  
        March 2010 

 Sun  Mon  Tue  Wed  Thu  Fri  Sat

       1    2    3    4    5    6  
  7    8    9   10   11   12   13  
 14   15   16   17   18   19   20  
 21   22   23   24   25   26   27  
 28   29   30   31  
        April 2010 

 Sun  Mon  Tue  Wed  Thu  Fri  Sat

                      1    2    3  
  4    5    6    7    8    9   10  
 11   12   13   14   15   16   17  
 18   19   20   21   22   23   24  
 25   26   27   28   29   30  


Lecture 1: Monday, February 1, 2010
Overview of course, crypto history

Overview of crypto goals and history. Some classical ciphers and how they were broken. Outline of crypto 1970's "revolution". Admin info about the course.
Powerpoint Slides (pptx) (Powerpoint (ppt))
Handout 1 - Mathematical Background