CS/ECE 407: Cryptography
Fall 2023

Professor David Heath
4322 Siebel Center

Purvansh Bal


For those taking the class for four credit hours: The final project instructions are available. Your due-date to choose a final


Cryptography uses mathematical algorithms and protocols to ensure the confidentiality, integrity, and authenticity of information. Today, cryptographic principles and systems form an integral part of almost all online activity. This course is an introduction to the fundamentals of modern cryptography. You will learn about cryptograhy’s formal approach to security. You will learn about cryptographic primitives, and you will learn how those primitives can be used.

This webpage serves as the course syllabus, and it will be edited throughout the semester to release resources.

Class Times

We will meet Mondays, Wednesdays, and Fridays from 4:00pm – 4:50pm in the Electrical and Computer Engineering (ECE) Building room 2013. Lectures will be recorded and made available online.



The following courses are required:

Prerequisite overrides will be considered on a case-by-case basis.

We expect that you are familiar with basic probability, modular arithmetic, and logarithms. Take the time to read this chapter of The Joy of Cryptography and make sure you understand the concepts within.

Grade Distribution

Scribe Notes

You will provide high quality scribe notes for at least one course lecture. Scribe notes are a complete, polished write-up of a lecture, with references and technical details filled in. Scribe notes are a primary course material, and you will be graded accordingly. Good scribe notes will include 7–10 pages of carefully transcribed details. You can see some examples of scribe notes from a previous semester here.

Your scribe notes are due before midnight, one week after the scribed lecture. Scribe notes will be written in LaTeX starting from the Overleaf template here. Make a new editable copy of the Overleaf link, and make changes there. To submit your notes, turn on link sharing and email a link to the instructor and TA by the submission deadline. Your email should have the subject line “CS/ECE 407 Scribe Notes”.


The course will include four to six (depending on the pace of the course) homework assignments. Homework makes up half of your grade!

Each homework will include careful instructions. Homework problems will include (1) long-form problem write-ups and proofs as well as (2) C++ programming assignments. For programming assignments, follow instructions carefully to receive full credit.

Homeworks are to be submitted via Gradescope. Unless otherwise stated, homeworks will be due by the start of lecture on Friday, two weeks after the assignment is given. Homework materials follow:


Homeworks are to be submitted individually. However, you may collaborate with up to one other student on homework assignments. On each homework submission, declare your collaborator (if any). In your collaboration you are expected to discuss the homework, not merely copy answers. Plagiarism will not be tolerated (see Academic Integrity).

Course Schedule

Date Topic Slides Video Resources Scribe Notes
8/21 Course Overview and Introduction Slides Video
8/23 Perfect Secrecy; One-Time Pads Slides Video Reading Notes
8/25 Pseudorandom Generators Slides Video Reading 1, Reading 2 Notes
8/28 Pseudorandom Generators and Indistinguishability Slides Video Reading 1, Reading 2 Notes
8/30 Pseudorandom Functions Slides Video Reading Notes
9/1 Block Ciphers and CPA Security Slides Video Reading 1, Reading 2 Notes
9/4 Labor Day, no class
9/6 Block Ciphers and Modes of Operation Slides Video Reading 1, Reading 2 Notes, Notes
9/8 Review Session Slides Video
9/11 Message Authentication Codes Slides Video Reading Notes, Notes
9/13 Message Authentication Codes Slides Video Reading Notes, Notes
9/15 CCA Security Slides Video Reading 1 Reading 2 Notes, Notes
9/18 Hash Functions Slides Video Reading 1 Reading 2, see Chapter 4.6
9/20 Hash Functions Slides Video Reading 1 Reading 2, see Chapter 4.6
9/22 Authenticated Encryption Slides Video Reading
9/25 Number Theory Slides Video Reading, see Chapter 7.1
9/27 Diffie Hellman Key Exchange and ElGamal Encryption Slides Video Reading, see Chapters 7.3, 10.5
9/29 RSA Slides Video Reading, see Chapter 7.2
10/02 CCA Security and Random Oracles Slides Reading, see Chapters 10.6 and 13.2
10/04 Digital Signatures Slides Reading, see Chapter 12.5

Course Topics

Topics covered in the course include – but are not limited to – the following:

Academic Integrity

Academic dishonesty is a serious offense. The University of Illinois Urbana-Champaign Student Code (https://studentcode.illinois.edu) is considered a part of this syllabus. If you are ever in doubt of what constitutes plagiarism or cheating, do not hesitate to ask me.

Disability Accommodations

To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES you may visit 1207 S. Oak St., Champaign, call 333-4603 (V/TTY), or e-mail a message to disability@illinois.edu.