CS255: Introduction to Cryptography

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)

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:   not out yet
Due: Feb. 17
--
Homework #3:   not out yet
Due: Mar. 9

Projects

--
Project #1 (password manager):   pdf   starter code
Due: Mon., Feb. 3, 11:59pm
--
Project #2 (chat client):   not out yet
Due: Mon., March 2, 11:59pm

Final Exam

Students may take the final at either one of the following two dates:

  • Option 1: (scheduled)   Wednesday, 3/18,  3:30-6:00pm, Location: CEMEX Aud. (587 seats)
  • Option 2: (alternate)   Tuesday, 3/17,  3:30-6:00pm, Location: Shriram 104 (125 seats)

Previous final exams:

2019.pdf ,   2018.pdf ,   2017.pdf ,   2016.pdf ,   2015.pdf ,   2014.pdf ,   2013.pdf ,   2012.pdf ,   2011.pdf ,   2010.pdf.

For remote SCPD students: Please email cs255ta@cs with your email address, the email address of your SCPD monitor if you have one, and which day you would like to take the exam. We will email a pdf to you which you should print, complete, and email back to us. We will email you with confirmation of receipt so hold on to your exam until you receive confirmation. Note that if you are local to the bay area, you must come to one of two exam slots unless you contact us in advance.

Calendar

Handouts

  • Basic number theory fact sheet I, primes:   [pdf]
  • Basic number theory fact sheet II, composites:   [pdf]
  • A Primer on number theory for computer scientists: [pdf]