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

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

Spring 2013

Instructor: Manoj Prabhakaran

- 2:00 - 3:15 PM Tuesday/Thursday

1304 Siebel Center

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.

__Graded Work.__ There is no exam in this course. The graded work
involves a few homework assignments and a project. The projects will be
evaluated based on a presentation (or a report, for the online students), and
meeting(s) prior to that. Some sample topics for the project will be provided
later on.

__Office hours.__ TBA
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
e-mail anytime if you have any questions or comments.

__Online edition.__ If you are enrolled in the online edition of this
course, you can view the lectures online (you will need to login after the first week).
There will be an online office hour every alternate week (details TBA).

- Lecture 00: (Jan 15): Introduction. [ html|pdf|print ]
- Lecture 01: (Jan 17): Secret-Sharing [ html|pdf|print ]
- Lecture 02: (Jan 22): Defining Encryption (part 1) [html|pdf|print]
- Lecture 03: (Jan 24): Defining Encryption (CPA, CCA security). OWF, PRG. [html|pdf|print]
- Lecture 04: (Jan 29): OWF candidates, Indistiguishability, PRG, Stream Cipher [html|pdf|print]
- Lecture 05: (Jan 31): PRF, Block Cipher, SKE constructions [html|pdf|print]
- Lecture 06: (Feb 05): MAC. SKE in Practice [html|pdf|print]
- Lecture 07: (Feb 07): Public-Key Encryption: DDH, El Gamal [html|pdf|print]
- Lecture 08: (Feb 12): Public-Key Encryption: CPA secure PKE from Trapdoor OWP; CCA security [html|pdf|print]
- Lecture 09: (Feb 14): Public-Key Encryption: CCA security. Identity-Based Encryption. [html|pdf|print]
- Assignment 1 (released Tuesday Feb 19; due Tuesday Mar 12)
- Lecture 10: (Feb 19): Hash functions: Flavors of collision resistance [html|pdf|print]
- Lecture 11: (Feb 21): Hash functions in action: MACs [html|pdf|print]
- Lecture 12: (Feb 26): Digital Signatures. Secure Communication wrap-up. [html|pdf|print]
- Lecture 13: (Feb 28): Secure Multiparty Computation [html|pdf|print]
- Lecture 14: (Mar 05): Secure Multiparty Computation: Yao's Garbled Circuit [html|pdf|print]
- Lecture 15: (Mar 07): Zero-Knowledge Proofs [html|pdf|print]
- Lecture 16: (Mar 12): Zero-Knowledge Proofs, Composition [html|pdf|print]
- Lecture 17: (Mar 14): Secure Multiparty Computation: Universal Composition [html|pdf|print]

---*Spring Break*--- - Lecture 18: (Mar 26): Homomorphic Encryption [html|pdf|print]
- Lecture 19: (Mar 28): Mix-Nets, Verifiable Shuffle [html|pdf|print]
- Lecture 20: (Apr 02): Voting [html|pdf|print]
- Assignment 2 (released Friday Apr 5; due Thursday Apr 25)
- Lecture 21: (Apr 04): Attribute-Based Cryptography [html|pdf|print]
- Lecture 22: (Apr 09): Pairing-Based Cryptography & Generic Groups [html|pdf|print]
- Lecture 23: (Apr 11): Searching on/Testing Encrypted Data [html|pdf|print]
- Lecture 24: (Apr 16): Broadcast Encryption etc. [html|pdf|print]
- Lecture 25: (Apr 18): Lattice-Based Cryptography [html|pdf|print]
- Lecture 26: (Apr 23): Electronic Cash [html|pdf|print]
- Lecture 27: (Apr 25): Quantum Cryptography [html|pdf|print]
**Project Presentations**(Apr 30)