Cryptography is about using computation to protect information in the presence of adversarial behavior. In this course, you will learn how to reason about security properties in a mathematically rigorous way. You will learn the fundamental building blocks of cryptography: pseudorandom functions, encryption, hash functions, message authentication, key agreement.
News
Mar 14
Final exam will be Thursday 12-2.
Mar 7
HW7 released, due Mar 14.
Feb 26
HW6 released, due Mar 5.
Feb 19
HW5 released, due Feb 26.
Feb 13
Project guidelines released.
Feb 6
HW4 released, due Feb 12.
Jan 29
HW3 released, due Feb 5.
Jan 22
HW2 released, due Jan 29.
Jan 12
HW1 released, due Jan 19.
Jan 11
TA office hours announced (see header above).
Jan 2
Website goes live.
Materials
Handouts
Homeworks
- HW1, due Jan 19.
- HW2, due Jan 29.
- HW3, due Feb 5.
- HW4, due Feb 12.
- HW5, due Feb 26.
- HW6, due Mar 5. data
- HW7, due Mar 14. data
Textbook
We will be using my free textbook, The Joy of Cryptography. The textbook is still in draft form, and may be updated often during the quarter. Last update: Jan 22
- Review of Concepts & Notation
- One-Time Pad
- The Basics of Provable Security
- Secret Sharing
- Basing Cryptography on Limits of Computation
- Pseudorandom Generators
- Pseudorandom Functions
- Pseudorandom Permutations
- Security against Chosen Plaintext Attacks
- Block Cipher Modes of Operation
- Chosen Ciphertext Attacks
- Message Authentication Codes
- Hash Functions
- The RSA Function
- Diffie-Hellman Key Agreement
- Public-Key Encryption
- Everything
Other
Other helpful references:- A Course in Cryptography, Rafael Pass & abhi shelat (free)
- Cryptography, An Introduction, Nigel Smart (free)
- Introduction to Modern Cryptography, Jonathan Katz & Yehuda Lindell
- Introduction to Modern Cryptography, Mihir Bellare & Phil Rogaway (free)