CS255: Introduction to Cryptography

Introduction to Cryptography

Winter 2024

Cryptography is an indispensable tool for protecting information in computer systems. This course explains the inner workings of cryptographic primitives and how to use them correctly.


Course syllabus (and readings)
Course overview (grading, textbooks, coursework, exams)
Lectures: Monday, Wednesday, 3-4:20pm, nVidia Aud.
Sections: Friday, 4:30-5:20pm, Gates B12.
Questions for CAs: use Ed Discussion
Videos: cs255 online   (for video lectures and slides covering the material in class)

Final Exam

The exam will take place on Tue, March 19, 2024, beginning at 9am PT at the Knight Management Center Auditorium.

Previous final exams:

2023.pdf ,   2022.pdf ,   2019.pdf ,   2018.pdf ,   2017.pdf ,   2016.pdf ,   2015.pdf ,   2014.pdf ,   2013.pdf .

Practice work sheet

Homeworks and Projects

All homework submission is to be done via Gradescope. Please use course code 3PBEKW to sign up. Note that Gradescope requires that the solution to every problem start on a new page.

Homework #1:   [html]
Due: Jan. 16
Homework #2:   [pdf]
Due: Feb. 1
Project #1 (password manager):   pdf   starter code
Due: Tue., Feb. 13, 11:59pm
Homework #3:   [pdf]
Due: Feb. 22
Project #2 (chat client):   pdf   starter code
Due: Tue., March 5, 11:59pm
Homework #4:   [pdf]
Due: Mar. 14