Codebreaking at Cal
Welcome to the Spring 2023 iteration of Codebreaking At Cal! This course is designed as an upper-division introduction to the field of cryptography, which is the science of secure communication (secret messages, encryption, digital signatures, and much more).
Lectures are once weekly on Monday 6:30 - 8 PM in Soda 306. Zoom link
Assignment Extension Request Form: https://bit.ly/codebreaking-extension
Week 1
- 1/23
- Lecture Intro to Classical Cryptography (Slides, Recording)
- Note Note 1
- Lab Lab 1
- Homework Homework 1 (Solutions)
- Makeup Assignment Makeup Assignment 1 (Solutions)
- Note Note 1
Week 2
- 1/30
- Lecture Information Theory and Randomness (Slides, Recording)
- Note Note 2
- Lab Lab 2
- Homework Homework 2 (Solutions)
- Makeup Assignment Makeup Assignment 2 (Solutions)
- Note Note 2
Week 3
- 2/6
- Lecture Block and Stream Ciphers (Slides, Recording)
- Note Note 3
- Lab Lab 3
- Homework Homework 3 (Solutions)
- Makeup Assignment Makeup Assignment 3 (Solutions)
- Note Note 3
Week 4
- 2/13
- Lecture Hashing and Message Authentication Codes (Slides, Recording)
- Note Note 4
- Lab Lab 4
- Homework Homework 4 (Solutions)
- Makeup Assignment Makeup Assignment 4 (Solutions)
- Note Note 4
Week 5
- 2/27
- Lecture Introduction to Asymmetric Cryptography (Slides, Recording)
- Note Note 5
- Lab Lab 5
- Homework Homework 5 (Solutions)
Makeup Assignment Makeup Assignment 5 (Solutions)
- Note Note 5
Week 6
- 3/6
- Lecture Discrete Log, Factorization, and Hardness Assumptions (Slides, Recording)
- Note Note 6
- Lab Lab 6
- Homework Homework 6 (Solutions)
- Makeup Assignment Makeup Assignment 6 (Solutions)
- Note Note 6
Week 7
- 3/20
- Lecture Digital Signatures, Public Key Infrastructure (Slides, Recording)
- Note Note 7
- Lab Lab 7
- Homework Homework 7
- Makeup Assignment Makeup Assignment 7
- Note Note 7
Week 8
- 3/27
- Lecture Elliptic Curve Cryptography (Slides, Recording)
- Note Note 8
- Lab Lab 8
- Homework Homework 8
- Makeup Assignment Makeup Assignment 8
- Note Note 8
Week 9
- 4/10
- Lecture Post-Quantum Cryptography (Slides, Recording)
- Note Note 9
- Lab Lab 9
- Homework Homework 9
- Makeup Assignment Makeup Assignment 9
- Project Final Project (Challenge Version, Open-Ended Version)
- Note Note 9
Week 10
- 4/17
- Lecture Homomorphic Encryption (Slides)
- Note Note 10
- Makeup Assignment Makeup Assignment 10
- Project Final Project (Challenge Version, Open-Ended Version)
- Note Note 10
Week 11
- 4/24
- Lecture Zero-Knowledge Proofs (Slides)
- Makeup Assignment Makeup Assignment 11
- Project Final Project (Challenge Version, Open-Ended Version)
- Makeup Assignment Makeup Assignment 11