Link Search Menu Expand Document

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)

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)

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)

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)

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)

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)

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

Week 8

3/27
Lecture Elliptic Curve Cryptography (Slides, Recording)
Note Note 8
Lab Lab 8
Homework Homework 8
Makeup Assignment Makeup Assignment 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)

Week 10

4/17
Lecture Homomorphic Encryption (Slides)
Note Note 10
Makeup Assignment Makeup Assignment 10
Project Final Project (Challenge Version, Open-Ended Version)

Week 11

4/24
Lecture Zero-Knowledge Proofs (Slides)
Makeup Assignment Makeup Assignment 11
Project Final Project (Challenge Version, Open-Ended Version)