CS255: Introduction to Cryptography

Introduction to Cryptography

Winter 2025

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.

Administrative

Course syllabus (and readings)
Course overview (grading, textbooks, coursework, exams)
Lectures: Monday, Wednesday, 3-4:20pm, Gates B01.
Sections: Friday, 4:30-5:20pm, Hewlett 102
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 18, 2025 as a remote exam using Gradescope over a 24 hour period. The exam window will open at 12:01am and close at 11:59pm PT. The format will be the same as in previous years.

Previous final exams:

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

Practice work sheet

Homeworks and Projects

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

--
Homework #1:   [html]
Due: Jan. 15
--
Homework #2:   [pdf]
Due: Jan. 30
--
Project #1 (password manager):   pdf   starter code
Due: Wed., Feb. 12, 11:59pm
--
Homework #3:   [pdf]
Due: Feb. 20
--
Project #2 (chat client):   pdf   starter code
Due: Tue., March 4, 11:59pm
--
Homework #4:   Not out yet
Due: Thu., Mar. 13

Calendar