Cryptography allows us to achieve secure and private communication over insecure channels. When used improperly, however, it can result in stolen credit card numbers, leakage of embarrassing secrets, impersonations, and so on. The objective of this course is to understand the foundations that allow the secure building of cryptosystems, with an emphasis on rigorous definitions and proofs of security and a critical eye towards the assumptions that allow us to achieve various forms of cryptography.
This is a tentative schedule of the lectures. Changes are possible depending on progress and interest.
date | topic | reading | |
---|---|---|---|
1 | Jan 12 |
What is cryptography? The one-time pad. Computational assumptions. | [pdf] |
2 | Jan 19 |
Message indistinguishability and semantic security. Pseudorandom generators. Private-key encryption. | [pdf] |
3 | Jan 26 |
Pseudorandom functions. Chosen plaintext attacks. | [pdf] |
Feb 2 |
No class, lunar new year | ||
4 | Feb 11 | Construction of pseudorandom functions. Message authentication. Chosen ciphertext attacks. | [pdf] |
5 | Feb 16 |
Construction of CCA-secure encryptions. Variable-length MACs. | [pdf] |
6 | Feb 23 |
Cryptographic hash functions. One-way functions and pseudorandom generators. | [pdf] |
7 | Mar 2 |
The Goldreich-Levin theorem. | [pdf] |
8 | Mar 9 |
Public-key encryption. | [pdf] |
9 | Mar 16 |
Oblivious transfer and secure two-party computation. | [pdf] |
No class | |||
No class | |||
10 | Apr 6 |
Two-party protocol for honest-but-curious adversaries. Bit commitment and coin flipping. | [pdf] |
11 | Apr 13 |
Zero-knowledge proofs. | [pdf] |
12 | Apr 20 |
Enforcing honesty in two-party computation. | [pdf] |
Apr 27 Apr 28 |
Project presentations |
Notes will be provided for every lecture. A substantial part of the course will closely follow the topics in the first book. The second and third books are great references for the theory of cryptography and cover much of the remaining material.