6.857: Computer and Network Security
Lectures and Handouts
Lecture 1 (Wednesday, February 6): Introduction
Lecture 2 (Monday, February 11): History of Cryptography
Lecture 3 (Wednesday, February 13): Encryption and One-time pad
Lecture 4 (Tuesday, February 19 - a "virtual Monday"): OTP, Randomness, Hash Functions
Lecture 5 (Wednesday, February 20): Hash function applications and constructions
- Lecture 5 notes
- Meaningful innocuous and evil documents with the same MD5 hash value. Someone might be willing to sign the first message but not the second.
- Check out the password-hashing competition here!.
Recitation 1 and 2 Notes (Friday, February 15, 22): Number theory and Passwords
- Number theory notes here and here. The topics we covered are: divisors, primes, modular arithmetic, gcd, Euler's theorem, Fermat's little theorem, repeated squaring for fast exponentiation, generators, Chinese Remainder Theorem. Notes from recitation.
- Notes on passwords and hashes.
Lecture 6 (Monday, February 25): Web security
Lecture 7 (Wednesday, February 27): Buffer overflows
Recitation 3 (Friday, March 1): Using hashes and encryption to secure a FS
Lecture 8 (Monday, March 4): Block ciphers
Lecture 9 (Wednesday, March 6): Block cipher modes, MACs
- Lecture 9 notes
- NIST listing of block cipher modes
- Desai's paper defining UFE mode
- Recitation 4: We went over the IND-CCA security game and UFE in more detail and did some exercises. Lec 9 note cover this material.
Lecture 10 (Monday, March 11): MACs continued, Finite Fields
Lecture 11 (Wednesday, March 13): Finite fields, One-time MACs, Number theory
Lecture 12 (Monday, March 18): Finite fields, Generators, Orders of elements, Safe primes
- Lecture 12 notes
- Problem Set 2 sample solutions are available on the protected page.
- Recitation 5: We went over one-time MACs and proved their security. (This material is included in Lec 12 notes). We also discussed final project ideas.
Lecture 13 (Wednesday, March 20): Group theory, Diffie-Hellman, Finite groups
Lecture 14 (Monday, April 1): Pedersen Commitments, PK Encryption, El Gamal
Lecture 15 (Wednesday, April 3): Malleability/homomorphism, IND-CCA2, Cramer-Shoup, RSA
Lecture 16 (Monday, April 8): RSA OAEP padding, Digital signatures
Lecture 17 (Wednesday, April 10): Digital signatures, RSA, El Gamal, DSS
Lecture 18 (Wednesday, April 17): Quiz (no handouts)
Lecture 19 (Monday, April 22): Secret sharing, Bilinear maps, BLS signatures, IBE
Lecture 20 (Friday, April 26): Electronic cash, Blind signatures
Lecture 21 (Monday, April 29): Electronic cash, Zero-knowledge proofs, Hashcash, Bitcoin
Lecture 22 (Wednesday, May 1): Key establishment, Needham-Schroeder protocol, X.509
Lecture 23 (Monday, May 6): SPKI, SDSI, Viruses, and Trusting Trust