CS276: Cryptography (F2017)


Instructor(s): Alessandro Chiesa
Teaching Assistant(s): TBA
Time: TR 12.30-14.00
Location: 320 Soda Hall
Office Hours: TBA

Course Description

This course offers a graduate introduction to cryptography, the science of securing data and computation against various adversarial behaviors. Topics covered include fundamental tools (such as encryption, pseudorandomness, digital signatures, zero knowledge, and secure computation) as well as a selection of tools with more advanced security properties (options include fully-homomorphic encryption, obfuscation, delegation protocols, and others).

The Piazza website is here.


The official prerequisite is CS 170 (or equivalent). All students with "mathematical maturity" (ease with proofs, algorithms, elementary number theory, and discrete probability) and curiosity about cryptography are welcome.


Completing the course requires completing four (4) homework assignments and a final project; in addition, students will rotate in producing scribe notes for the lectures. Grading will be based 60% on the problem sets, 30% on the final project, and 10% on class attendance and participation.

The TeX template for homework assigments is here, and the that for scribe notes is here.

Reading and Resources

This course has no required textbook, but essentially all the material covered in class can be found online. For example, the following references could be useful.


Lecture notes:

Also useful:



Collaboration policy: You are free to collaborate with other students on the assignments, but you must turn in your individually written up solution, specifying the names of any collaborators. Additionally, you may make use of published material, provided that you acknowledge all sources used.


# Date Topic Reading
1 2017.08.24
2 2017.08.29
3 2017.08.31
4 2017.09.05
5 2017.09.07
6 2017.09.12
7 2017.09.14
8 2017.09.19
9 2017.09.21
10 2017.09.26
11 2017.09.28
12 2017.10.03
13 2017.10.05
14 2017.10.10
15 2017.10.12
16 2017.10.17
17 2017.10.19
18 2017.10.24
19 2017.10.26
20 2017.10.31
21 2017.11.02
22 2017.11.07
23 2017.11.09
24 2017.11.14
25 2017.11.16
26 2017.11.21
X 2017.11.23

No class.

No class.

27 2017.11.28

Class project presentations.

28 2017.11.30

Class project presentations.