Lecture Schedule

Date Subject Resources
Sept. 7th and 8th Week 1: Course intro. Security goals and principles, secret keys, brute force, bits of security
Sept. 14th and 15th Week 2: Thinking Securely. Classical ciphers, formal security notions, attack games
Sept. 21st and 22nd Week 3: Encrypting data. Block ciphers, AES, cipher modes of operation, randomized encryption
Thursday, Sept. 28th only. (No class Friday 29th) Week 4: Fingerprinting data. Random oracles, hash functions, the SHA family, birthday paradox, collisions, pre-image and second-preimage resistance
Oct. 5th and 6th Week 5: Authenticating data. Message authentication, message authentications codes, authenticated encryption, AES-GCM
Oct. 12th and 13th Week 6: Bootstrapping a shared secret. Public-key cryptography, public-key agreement, Diffie-Hellman, forward secrecy
Oct. 19th and 20th Week 7: Linking data to a public key. Digital signatures, forgeries, RSA signatures and padding
Wednesday, Oct. 26th Midterm. Online in OWL In-person during the tutorial session. One hour (13:30 to 14:30) in SEB 2200,
  • Midterm covers course material from Weeks 1-5 inclusive.
Oct. 26th and 28th Week 8: Linking a public key to an identity. Trust-on-first-use (SSH), Digital certificates, X.509
Nov. 2nd and 3rd Week 9: Fall reading week. No lectures.
Nov 9th and 10th Week 10: Server authentication. Public-key infrastructure, certificate authorities, revocation, pinning, trust stores
Nov. 16th and 17th Week 11: Securing the Transport Layer. Transport Layer Security (TLS), TLS handshake, ciphersuites, HTTP over TLS (HTTPS).
Nov. 23rd and 24th Week 12: Client authentication. Secure password generation and storage.
Thursday, Nov. 30th Week 13: Final lecture. Thursday is the final lecture. We'll be doing an exam review.
Wednesday, Dec. 6th Week 13: Final tutorial. Leah will take up Assignment 5.