CSE 490C: Cryptography (Autumn 2020)

General Information

Topic: Cryptography provides important tools for ensuring the confidentiality and integrity of sensitive digital data. This course covers the design and application of important cryptographic objects, including basic cryptographic tools, 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 and CSE 332. The class will be self-contained. But students are expected to be ready to understand mathematical definitions and proofs, and write simple ones. Exposure to basic probability / algebra / number theory, and theory of computing is also expected.


  • Class: Monday/Wednesday/Friday 3:30pm-4:20pm remote
  • Session 1: Thursday 1:30-2:20pm, remote
  • Session 2: Thursday 2:30-3:20pm, remote

Class mailing list: cse490c_au20@uw.edu


Instructor: Huijia (Rachel) Lin, rachel(at)cs, Office hour: Tue 8:00pm - 9:00pm

TA: Ji Luo luoji@cs.washington.edu, Office hour: Fri 12:30pm - 1:30pm

TA: Chengda Xu xuc7@uw.edu, Office hour: Mon 2:00pm - 3:00pm

TA: Kyle Yan kyleyan@cs.washington.edu, Office hour: Wed 10:00am - 11:00am

Email to all staff: cse490c-staff@cs.washington.edu

Online technologies

Due to the spread of coronavirus, instruction of CSE490C is online. We will use the following tools

Lectures, Sections, Office hours: We are going to use Zoom for live lectures, sections, and office hours. The links to them can be found in your Canvas Calendar and on Edstem. Lectures will be recorded and will be available for viewing on Canvas.

Discussion board: We are going to use edstem for all announcements, discussions, Q&A, and for posting all course material including lecture slides, section notes, reading materials, etc.

Homework: We are going to use Gradescope for homework submission and grading.


Accommodations: We will follow UW policies for disability accommodations and religious accommodations.

Policy: Please also refer to UW policies on conduct and academic integerity


There is no specific textbook. Notes and reading material will be posted on Piazza. The textbook by Katz and Lindell would be a good resource, Introduction to Modern Cryptography. Below is a list of additional lecture notes and textbooks.


  • Homework 60% (collaborative, submit in teams of 1 or 2)
  • Quizzes 20% (independent, no discussion allowed)
  • Final 20% (independent, no discussion allowed)
  • Syllabus (Tentative)

    1 Sep 30, Oct 2nd
  • Introduction
    • Classical Cipher and Attacks
    • Perfect Secrecy and One-Time Pad
    • Computational Security
    2 Oct 5, 7, 9
  • PRF, Block-Cipher
    • PRF definition
    • Modern block cipher, AES
    • Attacks
    Homework 1
    3 Oct 12, 14, 16
  • Secret Key Encryption
    • IND-CPA security
    • SKE from PRF
    Homework 2
    4 Oct 19, 21, 23
  • Secret Key Encryption
    • Modes of Operation
    • Stream Cipher
  • Review
  • Homework 3

    Quiz 1

    5 Oct 26, 28, 30
  • Introduction to integrity
    • Padding Oracle Attack
  • Hash Function
    • Hash function from Discrete Logarithm
    • Merkel Damgard domain extension
    • Random Oracle Model
  • Message Authentication Code (MAC)
    • Unforgibility
    • PRF implies MAC
    • Domain Extension
    • HMAC
    • Authenticated Encryption
    Homework 4
    6 Nov 2, 4, 6
  • Review
  • Computational Number Theory
    • Finite groups
    • Modular arithmetic: Multiplicative inverses and Z^*_P
    • Cyclic groups
    • The Discrete Logarithm problem
    • Elliptic curves
  • Homework 5

    Quiz 2

    7 Nov 9, 11, 13
  • Public Key Cryptography
    • IND-CPA security
    • Diffie-Hellman Key Exchange
    • El Gamal Public Key Encryption
  • No class on Nov. 11th, Veterans Day
  • 8 Nov 16, 18, 20
  • Public Key Crypto
    • RSA Encryption
    • RSA OAEP & CCA2
  • Review
  • Homework 6

    Quiz 3

    9 Nov 23, 25, 27
  • Signature
    • Definition of Signature
    • RSA Signature
    • Full Domain Hash
  • Advanced Crypto
  • Homomorphic Encryption (HE)
  • No class on Nov 27th, No section on Nov 26th, Thanksgiving!!
  • Homework 7
    10 Nov 30, Dec 2, 4
  • Advanced Crypto
  • Homomorphic Encryption cont'd
  • Secure Multiparty Computation
  • Homework 8
    11 Dec 7, 9, 11
  • Secure Multiparty Computation cont'd
    • Multi-party Computation. Semi-honest and malicious security.
    • Yao's garbled circuits. 2-party computation.
    • Secret sharing. General multiparty computation.
  • Review
  • Take home final