Homework 1 submission date is now Thursday, 2/5
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 3:30pm to 4:50pm in the Electrical and Computer Engineering (ECE) Building room 2013. Lectures will be recorded and made available online.
Wednesdays from 12:00pm-1:00pm in Siebel Center 4322
Thursdays from 1:00pm-2:00pm in Siebel Center Basement.
Homework problem sets will be made available here and submitted via Gradescope. You can use code 2DDNRX to sign up.
A discussion board is available on Piazza.
Reading materials connected with the lectures will be linked on this page.
Jonathan Katz’s and Yehuda Lindell’s Introduction to Modern Cryptography will be a main resource.
Mike Rosulek’s The Joy of Cryptography is an excellent resource and Dan Boneh’s and Victor Shoup’s A Graduate Course in Applied Cryptography are excellent 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 the concepts of polynomial-time algorithms, basic probability, modular arithmetic, and logarithms.
Participation (\(10\%\)). Please show up to class, and participate in discussions in class and on Piazza. We may sometimes take formal attendance in class. You can miss up to three lectures without excuse; after that, each unexcused absence deduct from your participation grade.
Homework assignments (\(50\%\)). Written homeworks are the bulk of your grade! See Below.
Midterm Exam (\(20\%\)). The midterm exam will be a cumulative test on all course topics covered prior to the midterm. It will be a combination of multiple choice and free response problems. The midterm is not yet formally scheduled, but we tentatively plan to have it prior to Spring Break.
Final Exam (\(20\%\)). The final exam will be a cumulative test on all course topics. It will be a combination of multiple choice and free response problems.
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 \(1\%\) extra credit on your class grade. Just come to office hours so that you know where to go, and explain you are there for the extra credit opportunity.
(4 credit hours only) Final project (\(15\%\)). 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 Thursday, March 12. Come talk to me about potential topics! (If you are registered for four credit hours, your final grade will be out of \(115\%\), and it will be normalized to out of \(100\%\).)
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 homework problem sets. 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 40 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 | Notes | Resources | ||
|---|---|---|---|---|---|
| 1/20 | Course Overview and Introduction | Slides | Video | ||
| 1/22 | Perfect Secrecy and One-Time Pads | Slides | Chapter 2, Video | ||
| 1/27 | Pseudorandom Generators | Slides | Chapter 3.1-3.3, Video | ||
| 1/30 | Pseudorandom Generators Continued | Slides | Chapter 3.1-3.3 |
The final exam is currently scheduled for Wednesday, May 13 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
CPA-secure Encryption
Message Authentication
Authenticated Encryption
Cryptographic Hash Functions
Key Exchange
Public Key Encryption
Digital Signatures
Certificates and Public-Key Infrastructure
Proof Systems and Zero Knowledge Proofs
Multiparty Computation
Homomorphic Encryption
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.