CS 489/698: Foundations of Modern Cryptography (Fall 2023)


Course Overview:

This course provides an introduction to basic principles and tools of modern cryptography. The course’s main focus is on theoretical foundations of cryptography. Students completing this course will learn about basic cryptographic primitives, how to reason about their security, and how to use them as part of larger protocols in a provably sound way.

For the most part, we will follow the textbook Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell, 3rd edition. 

==== Syllabus ===

Topics include:

-- Symmetric cryptography: one-way functions, pseudorandom generators/functions and private-key encryption.

-- Hardness amplification: strong one-way functions/hardcore bits from weak one-way functions/hardcore bits.

-- Commitment schemes

-- Cryptographic assumptions: number-theoretic (discrete log, factoring, pairings) and post-quantum secure assumptions (lattices and learning with errors)

-- Signature schemes

-- Public-key encryption

-- Advanced public-key encryption schemes: identity-based encryption, attribute-based encryption and fully-homomorphic encryption

-- Zero-knowledge proofs

-- Introduction to Multi-Party Secure (MPC) Computation


==== Relations to CO 487/687 ====

This course CS 489/698 gives a modern treatment of the foundations of cryptography: how to use hardness assumptions (e.g., hardness of factoring) in order to build secure cryptosystems and protocols. A main focus of the course is on security reductions: rigorously showing that to reduce purported attacks against a constructed scheme into an attack against the hardness assumption. We will also cover topics (e.g., zero knowledge proofs) that aren't covered in any other courses. The course CS 487/687 is on mathematical tools behind cryptography. For example, when building a cryptosystem from the discrete-log assumptions, we simply assume such groups exist and use those groups generically in our constructions. Whereas CO 487/687 discusses how to build such groups in practice and what are the mathematical reasons behind the belief that those groups are deemed secure.


 ==== Grading policy =====

(1) Homework: There will be four assignments, each worth 15% of your final grade, for a total of 60%. For graduate studewnts, this component is worth 40%. You must use Latex to typeset your homework, using a template that I will provide later. 

(2) Two take-home exam: 40%

(3) Grad students: 20% paper surveys and presentations.


Course Information:

Time: T/Th 10-11:20 am
Location: MC 4040
Instructor: Mohammad Hajiabadi
Office hours: TBA