CSEP 590: Applied Cryptography (Autumn '20)
[Annnouncements] [General Info] [Team] [Weekly Schedule] [Resources] [Interaction / Q&A] [Grading Policy] [Schedule and Homework]
Announcements
 October 1: Make sure to activate your edstem account  we will be using edstem for most announcemetns as the class start.
 September 28: The zoom meeting ID is available on canvas. Contact the lecturer/TA if unable to find it.
 September 28: Firstversion of homepage is live.
General information
 Topics: Basic cryptographic
primitives (block ciphers, secret and publickey
encryption, authenticated encryption, message
authentication, signatures, ...), cryptographic protocols
(e.g. TLS), attack vectors (paddingoracle attacks,
sidechannel attacks, etc). Also, advanced
cryptographic techniques (zeroknowledge proofs,
multiparty computation,...).
The class will adopt rigorous security definitions and statements, but mostly replace proofs with attackdriven intuition.  Prerequisites: No formal prerequisites, except for basic mathematical proficiency as expected in an undergraduate CS program, as well as a certain affinity to rigorous thinking. Basic programming skills (we will mostly use Python).
Team
Instructor: Stefano Tessaro, tessaro(at)cs(dot)washington(dot)edu
Teaching assistant
 Ansh Nagda (ansh@cs)
 Xihu Zhang (xihu@cs)
Weekly schedule
 Class time and location
Tue & Thu 6:307:50pm (On zoom  link available via Canvas)  Office hours
ST: Mo 56pm or by appointment
TA Office Hours: Wed 56pm
Resources
No mandatory textbook. Slides will be made available (password protected).
The following are lecture notes/textbooks on cryptography (all but one free), which (often) adopt a more formal approach than the one from this class.
 D. Boneh and V. Shoup, A Graduate Course in Applied Cryptography. (Great overlap with class, just with more proofs.)
 M. Bellare and P. Rogaway, Introduction to Modern Cryptography. (An excellent reference for a concrete security treatment, albeit somewhat incomplete.)
 M. Rosulek, The Joy of Cryptography. (Undergraduatelevel introduction to cryptography.)
 J. Katz and Y. Lindell, Introduction to Modern Cryptography. (An actual textbook.)
Grading
 Homework: There will be 56 problem
sets distributed over the quarter. Problem sets are generally
posted online on Monday, by 11:59pm PST, and are due on
Thursday, 11:59pm PST, the following week. Homework will be graded and you are required to
hand in your own solution for each homework. (Refer to the "Academic
Integrity" paragraph below for further details.) You are allowed 5
late days overall throughout the quarter.
Homework submissions will be online via Gradescope (instructions will be provided soon).  Project: An important component of this class
will be a project, to be undertaken by teams of two
students. (Exceptions can be made but are not the norm.) The
final outcome of the project is a report (we will likely
dispense with presentations, due to the projected high number
of students).
Examples of projects include (but are not limited to):
 Reading a research paper and/or a cryptographic standard/RFC (either existing, or a current proposal), and writing a summary.
 Studying a realworld application or implementation of cryptography (either a wellknown one, or something specific to your personal experience) and documenting it (or formalizing the underlying threat model).
 Some cryptographyspecific implementation problem.
 Anything else really, just let your creativity flow.
 Final grade: The final grade will be distributed as follows: Homework (60%), project (40%). The lowest homework score will be dropped. Participation (in class and online) will be taken into account for partial bonus credit in borderline cases.
 Academic Integrity: Homework assignments are meant to be solved individually, whereas collaboration with a teammate is required for the project component of the class. Please refer to the Allen School's Academic Misconduct webpage for a detailed description of what is allowable and what is not.
 Religious Accommodation Policy: See here for the current policy.
Schedule and Homework
The following is a tentative schedule, and is intended to give a rough idea about what I hope to cover in the class and in which order. There will be (slight) shifts depending on the pace of the class, and more information will appear on the schedule as lectures are completed. (Initially, contents will be vague for later lectures.)
Week  Date  Lecture contents  Notes / slides / assignments 

0  20201001 
Introduction


1  20201006 
Introduction to symmetric encryption
 
20201008 
Block Ciphers
 
2  20201013 
Modes of operation


20201015 
Wrapping Up Encryption
 
3  20201020 
Integrity


20201022 
Authenticated Encryption
 
4  20201027 
Publickey crypto foundations


20201029 
Publickey Cryptography
 
5  20201103 
Election Day (Class is canceled)


20201105 
RSA Encryption
 
6  20201110 
Certificates, PKIs, and authenticated key exchange


20201112 
Authenticated Key Exchange (AKE)
 
7  20201117 
Identification protocols


20201119 
Randomnumber generation
 
8  20201124 
Case study: Secure Messaging


20201126  Thanksgiving (Class Canceled)  
9  20201201 
Multiparty computation


20201203 
Multiparty computation
 
10  20201208  Zeroknowldge proofs I  
20201210  Zeroknowldge proofs II 