The midterm exam will be held on Thursday, March 13 at our regularly scheduled time and place. If you need accommodation outside this time, please let me know ASAP.
For those in the four hour section, your final project instructions have been released! See details in the Assignments section.
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 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 | Recommended Reading | ||
2/13 | Block Cipher Modes and Variable Length Messages | Slides | Recommended Reading | ||
2/18 | |||||
2/20 | |||||
2/25 | |||||
2/27 | |||||
3/4 | |||||
3/6 | |||||
3/11 | |||||
3/13 | Midterm Exam | ||||
3/18 | Spring Break – No Class | ||||
3/20 | Spring Break – No Class | ||||
3/25 | |||||
3/27 | |||||
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.