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.
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.
Homeworks will be made available here and submitted via Gradescope. You can use code E7ZJ8Z to sign up.
A discussion board is available on Campuswire. You can use code \(5079\) to sign up for the class board.
Books (optional):
Mike Rosulek’s The Joy of Cryptography is an excellent, albeit unfinished, free resource.
Jonathan Katz’s and and Yehuda Lindell’s “Introduction to Modern Cryptography” is a more complete reference.
Dan Boneh’s and Victor Shoup’s A Graduate Course in Applied Cryptography is an additional resource.
Office Hours are tentatively scheduled for 2:00-3:00 on Mondays and 1:00-2:00 on Wednesdays in 4322 Siebel Center.
The following courses are required:
CS 225: Introduction to Data Structures and Algorithms
CS/ECE 374: Introduction to Algorithms and Models of Computation
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.
Participation (\(10\%\)). Please show up to class, and participate in discussions in class and on Campuswire. We will sometimes take formal attendance in class. You can miss up to three lectures without excuse; after that, each unexcused absence will deduct \(30\%\) of your participation grade.
Scribe Notes (\(10\%\)). See below.
Four to Six homework assignments (\(50\%\)). Written homeworks are the bulk of your grade! See Below.
Final Exam (\(30\%\)). The final exam will be a cumulative test on all course topics. It will be a combination of multiple choice and free response problems.
Some extra credit opportunities will be made available throughout the semester. Your first opportunity is to visit office hours within the first four weeks of class for \(1\%\) extra credit. Promoting exceptional discussion on Campuswire can earn up to \(2\%\) extra credit.
(4 credit hours only) Final project (\(20\%\)). In teams of 1–2, you will read papers in the cryptography literature, then write a long-form review. You must propose your project topic to me by Friday, October 13. Come talk to me about potential topics! (If you are registered for four credit hours, your final grade will be out of \(120\%\), and it will be normalized to out of \(100\%\). E.g., if you earn \(110\%\) in the class, your final grade will be a \(92\).)
See more details on the final project here.
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:
Homework 3. Coming soon!
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).
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 |
Topics covered in the course include – but are not limited to – the following:
Perfect Secrecy and One-Time Pads
Pseudorandom Generators
Pseudorandom Functions
Block Ciphers
Message Authentication
Authenticated Encryption
Key Exchange
Public Key Encryption
Digital Signatures
Zero Knowledge Proofs
Oblivious Transfer
Secret Sharing
Secure Multiparty Computation
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.
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.