- Reference Books:
- Katz-Lindell
- Handbook of Applied Cryptography
- Stinson
- Joux (cryptanalysis)
- Goldreich (foundations) (Also A Primer)

- Notes: Bellare-Rogaway, Goldwasser-Bellare
- Wiki: CRYPTUTOR

Fall 2009

Instructors:

Nikita Borisov

Manoj Prabhakaran

- 11:00 AM - 12:15 PM Wednesday/Friday

1304 Siebel Center - CRN 46032 (and CRN 54382)

4 credits - Directory Listing (search for crypto)

Have you wondered how one might *define* security --
even for a cryptographic concept as simple and familiar as encryption? What
makes public-key cryptography possible? (Well, what *is* public-key
cryptography?) What is MD5 and what's wrong with it? What is homomorphic
encryption? What are zero-knowledge proofs (and are they for real)? What
magical tools can cryptography offer that no one has put to use yet? Are there
limits to the magic of cryptography?

This course is intended to provide a theoretically sound foundation in applied cryptography. We shall see fundamental cryptographic notions and how cryptographic primitives can be used to create applications with security guarantees.

__Course contents.__ The initial part of the course will cover *secure
communication* (encryption and authentication). A good reference would be
the Katz-Lindell textbook.
Towards the second half of the course we will focus on some applications, and
other important topics including *secure multi-party computation*. As time
permits, we will also see glimpses of a variety of other concepts and tools.

__Projects.__ Watch this space for details on projects.

__Office hours.__ Manoj's office hours are Wednesday
1:30-2:30pm,
Nikita's are Thursday 3-4pm, every week (unless otherwise announced in the class).
Please do come for the office hours if
you found anything mysterious (or missed anything) in the lectures
or assignments. You are also welcome to drop by and chat about the
content/structure of the course during the office hours. Feel free to send us
e-mails anytime if you have any questions or comments.

__Recordings.__ The lectures (starting Sept 04) are being recorded. If
you really want to sit through us speaking for over an hour, all over again,
you can find the slides/voice here. (Sorry, it's only the slides -- no whiteboard.)

- Lecture 00: (Aug 26): Introduction. [ part 1: (html|pdf|print), part 2: (pdf) ]
- Lecture 01: (Aug 28): Secret-Sharing (pdf)
- Lecture 02: (Sep 02): Defining Encryption (html|pdf|print)
- Lecture 03: (Sep 04): OWF, PRG, PRF (html|pdf|print)
- Lecture 04: (Sep 09): SKE in practice: Stream Ciphers, Block-Ciphers (pdf)
- Lecture 05: (Sep 11): Symmetric-Key Encryption Wrap-up (html|pdf|print)
- Lecture 06: (Sep 16): Public-Key Encryption: DDH, El Gamal (html|pdf|print)
- Lecture 07: (Sep 18): Public-Key Encryption: CCA security (html|pdf|print)
- Assignment 1 (due Friday Oct 2)
- Lecture 08: (Sep 23): Integrity: Hash functions, HMAC, Digital Signatures (pdf)
- Lecture 09: (Sep 25): Key Exchange (pdf)
- Lecture 10: (Sep 30): Hash functions: Flavors of collision resistance (html|pdf|print)
- Lecture 11: (Oct 02): Hash functions in action (html|pdf|print)
- Lecture 12: (Oct 07): Secure Communication Protocols (pdf)
- Lecture 13: (Oct 09): Project Ideas and Overview [ part 1: (html|pdf|print), part 2 ]
- Lecture 14: (Oct 14): Secure Multiparty Computation (html|pdf|print)
- Lecture 15: (Oct 16): Zero-Knowledge Proofs (html|pdf|print)
- Lecture 16: (Oct 21): Yao's Scrambled Circuits (pdf)
- Assignment 2 (due Friday Nov 6)
- Lecture 17: (Oct 23): Homomorphic Encryption (pdf)
- Lecture 18: (Oct 28): Private Information Retrieval (html|pdf|print)
- Lecture 19+20: (Nov 4,6): E-cash and Anonymous Credentials (pdf)
- Lecture 21: (Nov 9): Attribute-based Cryptography (html|pdf|print)
- Lecture 22: (Nov 11): Pairing-based Cryptography; Generic Group Model (html|pdf|print)
- Lecture 23: (Nov 17): Voting
- Lecture 24: (Nov 19): Formal Methods in Cryptography (html|pdf|print)
- Assignment 3 (due Friday Dec 11)
- Lecture 25: (Dec 2): Private Set Intersection (pdf)
- Lecture 26: (Dec 4): Signatures (pdf)
- Lecture 27: (Dec 9): Quantum Cryptography (html|pdf|print)