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.)

- There will be six homework assignments, to be
solved
*individually*. Solutions are to be submitted over Gradescope. - With the exception of Homework 6, Homeworks are posted on Wednesday night, by midnight, and due one week later.
- We strongly encourage you to type solutions up using LaTeX. Alternatively, you can use any other tool that properly displays equations (e.g., Word's equation editor).
- You
*must*show your work; at a minimum 1-2 sentences per question, but ideally as much as you would need to explain to a fellow classmate who had not solved the problem before. Be concise. A correct answer with no work is worth nothing, less than a wrong answer with sufficient explanations explaining your reasoning. - It is okay to discuss with other students in coming up with the homework solutions, but you must list all your collaborators at the top of each homework. Moreover, you have to write up your own solution and be able to explain your answer if asked to do so. If there are any doubts, we plan to do some spot checks in which we ask students to explain one of their solutions (or solve a slight variant of the problem they solved on the homework) in person.
- You have a total of six late days during the quarter, but can only use up to three late days on any one assignment. Please plan ahead, as we will not be willing to add any additional late days except in absolute, verifiable emergencies.
- Regrade requests are to be submitted within one week of the graded homework assignment being released.