CS255: Introduction to Cryptography

Introduction to Cryptography

Winter 2017

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, 2:30-3:20pm, Thornton 102
Questions for CAs: cs255ta@cs.stanford.edu or use Piazza
Videos: cs255 online   (for video lectures covering the material in class)

Homework

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

--
Homework #0:   [html]
Due: Jan. 17
--
Homework #1:   [pdf]
Due: Jan. 30
--
Homework #2:   not out yet
Due: Feb. 20
--
Homework #3:   not out yet
Due: Mar. 13

Projects

--
Project #1 (secure CDN):   not out yet
Due: Monday, Feb. 13, 11:59pm
--
Project #2 (using TLS):   not out yet
Due: Wed., March 8, 11:59pm

Handouts

  • Psuedorandom functions and block ciphers:   [pdf]