Homework 2 solutions have been released.
Homework 3 has been released.
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 cryptography’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 Tuesdays and Thursdays from 10:30am – 11:50am in the Electrical and Computer Engineering (ECE) Building room 3013. Lectures will be recorded and made available online.
Tuesdays from 12:15-1:15 in Siebel Center 4322
Fridays from 4:00-5:00 in Siebel Center Basement
Homeworks will be made available here and submitted via Gradescope. You can use code J7YKVB to sign up.
A discussion board is available on Piazza.
Books:
Jonathan Katz’s and Yehuda Lindell’s Introduction to Modern Cryptography is our main textbook.
Mike Rosulek’s The Joy of Cryptography is an excellent, albeit unfinished, free resource.
Dan Boneh’s and Victor Shoup’s A Graduate Course in Applied Cryptography is an additional resource.
The following courses are required:
CS 225: Introduction to Data Structures and Algorithms
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 (
Four to Six homework assignments (
Midterm Exam (
Final Exam (
A small number of extra credit opportunities will be made
available throughout the semester. Your first opportunity is to visit
office hours within the first three weeks of class for
(4 credit hours only) Final project (
Your letter grade will be assigned as follows: A: 93-100, A-: 90-92, B+: 87-89, B: 83-86, B-: 80-82, C+: 77-79, C: 73-76, C-: 70-72, D+: 67-69, D: 63-66, D-: 60-62, F: 0-59.
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. Homework materials follow:
Homeworks submitted late will be deducted 20 points, plus 20 additional points for each subsequent 24 hours that pass after the assigned datetime.
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 | Lecture Slides | Resources | ||
---|---|---|---|---|---|
1/21 | Course Overview and Introduction | Slides | Video | ||
1/23 | Perfect Secrecy and One-Time Pads | Slides | Video | ||
1/28 | Pseudorandom Generators | Slides | Video, Recommended Reading | ||
1/30 | Pseudorandom Generators Continued | Slides | Video, Recommended Reading | ||
2/4 | One-time Semantic Security and PRFs | Slides | Video, Recommended Reading | ||
2/6 | Block Ciphers and CPA Security | Slides | Video, Recommended Reading | ||
2/11 | CPA Security | Slides | Video, Recommended Reading | ||
2/13 | Block Cipher Modes and Variable Length Messages | Slides | Video, Recommended Reading | ||
2/18 | CCA Security | Slides | Video, Recommended Reading | ||
2/20 | Message Authentication Codes | Slides | Video, Recommended Reading | ||
2/25 | MACs and Authenticated Encryption | Slides | Video, Recommended Reading, Chapter 4.9 | ||
2/27 | Hash Functions and Random Oracles | Slides | Video, Recommended Reading, Chapter 13.1 | ||
3/4 | Hash Functions Continued | Slides | |||
3/6 | Concrete Properties of Hashes | Slides | |||
3/11 | Midterm Review | Slides | |||
3/13 | Midterm Exam | ||||
3/18 | Spring Break – No Class | ||||
3/20 | Spring Break – No Class | ||||
3/25 | Intro to Public Key Crypto | Slides | |||
3/27 | Public Key Encryption | Slides | |||
4/1 | |||||
4/3 | |||||
4/8 | |||||
4/10 | |||||
4/15 | |||||
4/17 | |||||
4/22 | |||||
4/24 | |||||
4/29 | |||||
5/1 | |||||
5/6 |
The final exam is currently scheduled for Thursday, May 15 at 8:00am.
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
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.