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
Makeup Assignment Makeup Assignment 6

Week 7

3/20
Lecture Digital Signatures, Public Key Infrastructure (Slides)
Note Note 7
Lab Lab 7
Homework Homework 7
Makeup Assignment Makeup Assignment 7

Week 8

3/27
Lecture Elliptic Curve Cryptography
Note Note 8
Lab Lab 8
Homework Homework 8

Week 9

4/10
Lecture Post-Quantum Cryptography
Note Note 9
Project Final Project

Week 10-13

4/17 - 4/24
Lecture Special Topics (TBD)
Project Final Project