CS 442 - Introduction to Cryptography (Spring 2026)

Course Overview

Cryptography has evolved from the art of writing and solving codes into the study of mathematical techniques for securing digital information, systems, and distributed computations in untrusted environments. Today, it forms the backbone of modern digital security.

This course will introduce the fundamental principles of modern cryptography. We will begin with core cryptographic primitives such as encryption and message authentication, and then progress to advanced primitives including zero-knowledge proofs and secure multiparty computation. We will analyze the security properties that are desirable for each of these primitives and learn how to formally define them. We will also discuss constructions of these primitives and rigorously prove that they meet the defined security requirements.

By the end of the course, you will be able to use these primitives in the design of secure systems and analyze real-world cryptosystems.

Basic Information


Pre-Requisites

CS 206 or an equivalent course on Discrete Mathematics is required. Familiarity with basic probability theory, computational complexity, and mathematical proof techniques is also expected.

Grading Policy

All homeworks must be submitted via Gradescope (on Canvas).

Late Submission: Homework submitted upto 24 hours late will incur a penalty of 50%. Homework submitted more than 24 hours late will receive no credit.

Collaboration: You are encouraged to collaborate with your classmates on homework problems, however, your final write-up must be your own. Be sure to explicitly acknowledge everyone with whom you collaborated. You may also refer to books or online resources listed on this website to aid in solving homework problems. However, you must properly credit all such sources in your submission, and under no circumstances should you copy material verbatim. The use of AI tools is NOT allowed.

Academic Dishonesty: In general, any instance of academic dishonesty will result in a significant penalty to your overall course grade and will be referred to the Office of the Dean of Students for further action.

Homework Schedule

Homework Release (6:00 PM) Due (11:59 PM)
Homework 1 Jan 29 Feb 7
Homework 2 Feb 12 Feb 22
Homework 3 Mar 26 Apr 5
Homework 4 Apr 9 Apr 19
Homework 5 Apr 23 May 3

Class Schedule

Date Topics Slides Other References
Jan 20 Introduction Lecture 1
Jan 22 Pre-Requisites Refresher Lecture 2
Jan 27 Groups/Fields and One-Time Pads Lecture 3 Chapter 1 in The Joy of Cryptography
Jan 29 Perfect Secrecy - I Lecture 4 Chapter 2 in Introduction to Modern Cryptography
Feb 3 Perfect Secrecy - II Lecture 5 Chapter 2 in Introduction to Modern Cryptography
Feb 5 Computational Security Lecture 6 Chapter 3 in Introduction to Modern Cryptography
Feb 10 Computational Indistinguishability and Pseudorandom Generators Lecture 7 Chapter 3 in Introduction to Modern Cryptography
Feb 12 Proofs by Reduction Lecture 8 Chapter 3 in Introduction to Modern Cryptography
Feb 17 Example Problems on PRGs Lecture 9
Feb 19 Pseudorandom Functions - I Lecture 10 Chapter 3 in Introduction to Modern Cryptography
Feb 24 Snow Day
Feb 26 Pseudorandom Functions - II Lecture 11 Chapters 3 and 7.5 in Introduction to Modern Cryptography
Mar 3 Pseudorandom Functions - III Lecture 12 Chapter 7.5 in Introduction to Modern Cryptography
Mar 5 Midterm
Mar 10
Mar 12
Mar 24
Mar 26
Mar 31
Apr 2
Apr 7
Apr 9
Apr 14
Apr 16
Apr 21
Apr 23
Apr 28
Apr 30 Review Class

References

Useful Books

Useful Lecture Notes