Date
|
Subject
|
Resources
|
Sept. 5th
|
Week 1: Course intro. Security goals and principles, secret keys, brute force, bits of security
|
|
Sept. 10th and 12th
|
Week 2: Thinking Securely. Classical ciphers, formal security notions, attack games
|
|
Sept. 17th and 19th
|
Week 3: Encrypting data. Block ciphers, AES, cipher modes of operation, randomized encryption
|
|
Sept. 24th and 26th
|
Week 4: Fingerprinting data. Random oracles, hash functions, the SHA family, birthday paradox, collisions, pre-image and second-preimage resistance
|
|
Oct. 1st and 3rd
|
Week 5: Authenticating data. Message authentication, message authentications codes, authenticated encryption, AES-GCM
|
|
Oct. 8th and 10th
|
Week 6: Bootstrapping a shared secret. Public-key cryptography, public-key agreement, Diffie-Hellman, forward secrecy
|
|
Oct. 15th and 17th
|
Fall reading week. No lectures.
|
|
Monday, Oct. 21st
|
Midterm. In-person during the tutorial session. Location TBA.
|
-
Midterm covers course material from Weeks 1-5 inclusive.
|
Oct. 22nd and 24th
|
Week 7: Linking data to a public key. Digital signatures, forgeries, RSA signatures and padding
|
|
Oct. 29th and 31st
|
Week 8: Linking a public key to an identity. Trust-on-first-use (SSH), Digital certificates, X.509
|
|
Nov 5th and 7th
|
Week 9: Server authentication. Public-key infrastructure, certificate authorities, revocation, pinning, trust stores
|
|
Nov. 12th and 14th
|
Week 10: Securing the Transport Layer. Transport Layer Security (TLS), TLS handshake, ciphersuites, HTTP over TLS (HTTPS).
|
|
Nov. 19th and 21st
|
Week 11: Client authentication. Secure password generation and storage.
|
|
Nov. 26th and 28th
|
Week 12: Special topic in cryptography. Pt. 1: The technology and design goals of Bitcoin. Pt. 2: Smart contracts.
|
|
Dec. 3rd
|
Week 13: Course Review. Final lecture is Tuesday, Dec. 3rd (No lecture Thursday Dec. 5th)
|
|