General description

Cryptography provides tools for ensuring the confidentiality and integrity of sensitive digital data. This course covers the design and application of cryptographic objects such as encryption, message authentication, and digital signatures, as well as advanced cryptographic objects and protocols, such as zero-knowledge proofs, secure multi-party computation, and fully homomorphic encryption. For each cryptographic object, we formalize its security goal, show schemes that achieve the desired security, and study security attacks or security proofs that establish the insecurity or security of the scheme at hand. Through this course, we aim to give an overview of the discipline of cryptography, the proper usage and application of important cryptographic tools, and methodologies that modern cryptography offers for developing cryptographic solutions to natural security problems.

Pre-req: CSE 312. The class will be self-contained. But students are expected to understand mathematical definitions and proofs, and write simple ones. Exposure to basic probability / algebra / number theory, and theory of computing is also expected. (Contact the instructor if in doubt.)


Accommodations: We will follow UW policies for disability accommodations and religious accommodations.
Academic conduct: Please also refer to UW policies on student conduct and academic integerity
DRS accommodations: If you want DRS accommodations, you should email DRS as soon as possible. DRS will contact us directly to get these accomodations set up for you.
Homework policy: Exams policy: All exams (midterm and final) will take place in the classroom. The final exam will be cumulative. The exams will be closed book, but you will be allowed to use a cheatsheet (more information will be provided at due time).
Final grade: The final grade will be computed as follows: Homework (50-55%); Midterm (15-20%); Final (30-35%)