Introduction to Cryptography
Winter 2020
Cryptography is an indispensable tool for protecting information in computer systems. This course explains the inner workings of cryptographic primitives and how to correctly use them.
Administrative
Course
syllabus (and readings)
Course
overview (grading, textbooks, coursework, exams)
Lectures: | Monday, Wednesday, 1:30-2:50pm, Gates B01 |
Sections: | Friday, 4:30-5:20pm, Thornton 102 |
Questions for CAs: | cs255ta@cs.stanford.edu or use Piazza |
Videos: | cs255 online (for video lectures and slides covering the material in class) |
Final Exam
In lieu of the final exam, students are invited to complete the following voluntary worksheet.
Previous final exams:
2019.pdf ,
2018.pdf ,
2017.pdf ,
2016.pdf ,
2015.pdf ,
2014.pdf ,
2013.pdf ,
2012.pdf ,
2011.pdf ,
2010.pdf.
Homework
All homework submission is to be done via Gradescope. Please use course code 93662W to sign up. Note that Gradescope requires that the solution to every problem start on a new page.
Homework #0: [html]
Due: Jan. 13
|
|
Homework #1:
[pdf]
Due: Jan. 27
|
|
Homework #2:
[pdf]
Due: Feb. 17
|
|
Homework #3:
[pdf]
Due: Mar. 9
|
|
Optional worksheet:
[pdf]
|
Projects
Project #1 (password manager):
pdf
starter code
Due: Mon., Feb. 3, 11:59pm
|
|
Project #2 (chat client):
pdf
starter code
Due: Mon., March 2, 11:59pm
|