Codebreaking at Cal Fall 2022 Archive
This is an archive of the Fall 2022 offering of the course. Note that many of these materials are now changed in the current iteration.
Week 0
- 8/30
- Lecture 0 Introduction (Slides)
- Lab 0 Setup (Due 9/4)
- Note 0 Math Notation
- Lab 0 Setup (Due 9/4)
Week 1
- 9/6
- Lecture 1 Substitution Ciphers - Part 1 (Slides)
- Lab 1 Polyalphabetic Substitution (Due 9/11)
- Note 1 Substitution Ciphers
- Lab 1 Polyalphabetic Substitution (Due 9/11)
Week 2
- 9/13
- Lecture 2 Substitution Ciphers - Part 2 (Slides)
- Lab 2 Information Theory (Due 9/18)
- Note 2 OTP and XOR
- Lab 2 Information Theory (Due 9/18)
Week 3
- 9/20
- Lecture 3 Asymmetric Encryption - Part 1 (Slides)
- Lab 3 RSA, Diffie-Hellman
- Note 3.1 Modular Arithmetic
- Note 3.2 RSA, Diffie-Hellman
- Lab 3 RSA, Diffie-Hellman
Week 4
- 9/27
- Lecture 4 Asymmetric Encryption - Part 2 (Slides)
- Lab 4 Discrete Logarithm and Pollard’s Rho Algorithm
- Note 4 Factorization and Discrete Logarithm
- Lab 4 Discrete Logarithm and Pollard’s Rho Algorithm
Week 5
- 10/4
- Lecture 5 Hashing (Slides)
- Lab 5 Hashing and Length-Extension Attacks
- Note 5 Hashing, Birthday Paradox
- Lab 5 Hashing and Length-Extension Attacks
Week 6
- 10/11
- Lecture 6 Message Authentication Codes, Signatures (Slides)
- Lab 6 MACs and Digital Signatures
- Note 6 MACs and Digital Signatures
- Lab 6 MACs and Digital Signatures
Week 7
- 10/18
- Lecture 7 Randomness (Slides)
- Lab 7 Exploiting Weak Randomness
- Note 7 Random Number Generation
- Lab 7 Exploiting Weak Randomness
Week 8
- 10/25
- Lecture 8 Steganography (Slides)
- Lab 8 Steganography
- Note 8 Steganography
- Lab 8 Steganography
Week 9
- 11/1
- Lecture 9 Modern Encryption - Part 1 (Slides)
- Lab 9 Block and Stream Ciphers
- Note 9 Block and Stream Ciphers
- Lab 9 Block and Stream Ciphers
Week 10
- 11/8
- Lecture 10 Modern Encryption - Part 2 (Slides)
- Lab 10 Elliptic Curve Cryptography
- Note 10 Elliptic Curve Cryptography
- Lab 10 Elliptic Curve Cryptography
Week 11
- 11/15
- Lecture 11 Cryptography in Network Security (Slides)
- Project Final Project Part 1 (Spec)
Project Final Project Part 2 (Spec)
- Project Final Project Part 1 (Spec)
Week 12
- 11/22
- Lecture 12 Zero-Knowledge Proofs (Slides)
- Project Final Project Part 1 (Spec)
Project Final Project Part 2 (Spec)
- Project Final Project Part 1 (Spec)
Week 13
- 11/29
- Lecture 13 Post-Quantum Cryptography (Slides)
Project Final Project Part 2 (Spec)