Course Information

Course Description

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.

Textbook

Introduction to Modern Cryptography, 3rd edition, Jonathan Katz and and Yehuda Lindell.

Additional references:

Prerequisites

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 chapter 0 of The Joy of Cryptography and make sure you understand the concepts within.

Slides and files: https://canvas.illinois.edu/

Assignment submission and Grading: https://www.gradescope.com/

Annoucements and discussions: Piazza https://piazza.com/class/m0bh0wniqb54o3

Grading

Class Participation: 10%. Please show up to class, and participate in discussions in class and on Piazza. We will sometimes take formal attendance in class. You can miss up to 2 lectures without excuse; after that, each unexcused absence will deduct of your participation grade.

Homework: 50%. The course will include five homework assignments. 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. Late homework will not be accepted without valid excuses and approval of the instructor.

Midterm Exam: 20%. It will be a combination of multiple choice and free response problems. 5:00-6:20pm, Tuesday, October 15, in class

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.

(4 credit hours only) Project and presentation: 20%. In teams of 2, you will read papers on advanced topics in the cryptography literature, and write a technical report. 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.)

Grading: [93-100] A, [90-92] A-, [87-89] B+, [83-86] B, [80-82] B-, [77-79] C+, [73-76] C, [70-72] C-, [67-69] D+, [63-66] D, [60-62] D-, [0-59] F.

Schedule (tentative)

Week Date Topic Readings
Week 1 8/27 Introduction and background on Cryptography
8/29 Ancient ciphers Chapter 1.1-1.3, Introduction to Morden Cryptography
Week 2 9/3 Perfect secrecy, one-time pad Chapter 1.4, 2
9/5 Computational Security, Pseudorandomness Chapter 3.1-3.3
Week 3 9/10 Chosen plaintext attack, stream cipher Chapter 3.4, 3.6, 7.1
9/12 Pseudorandom Function and Block cipher Chapter 3.5
Week 4 9/17 DES and AES Chapter 7.2
9/19 Modes of Operation Chapter 3.6
Week 5 9/24 Padding oracle attacks Chapter 5.1
9/26 Message Authentication Codes Chapter 4
Week 6 10/1 CCA security and Authenticated Encryption Chapter 5.1.2, 5.2-5.3
10/3 Cryptographic Hash functions and SHA Chapter 6.1, 6.4, 7.3
Week 7 10/8 Merkle-Damgard Transformation, Merkle hash tree Chapter 6.2, 6.6.2
10/10 HMAC, Midterm review Chapter 6.3
Week 8 10/15 Midterm Exam
10/17 Number Theory Chapter 9.1, 9.3
Week 9 10/22 Diffie-Hellman key exchange Chapter 11.3, 12.4
10/24 Public key encryption, ElGamal encryption Chapter 9.4, 12.3
Week 10 10/29 Factoring assumptions and RSA encryption Chapter 9.2, Chapter 12.5
10/31 RSA with CCA security Chapter 12.5
Week 11 11/5 Random Oracle, Digital Signature Chapter 6.5
11/7 RSA Signature Chapter 13.1-13.4
Week 12 11/12 Schnorr Signature and PKI Chapter 13.5, 13.6
11/14 Elliptic curve Chapter 9.3.4
Week 13 11/19 Bilinear pairing and BLS signature Chapter 15.4 and 15.5 in A Graduate Course in Applied Cryptography
11/21 No class due to travelling
Week 14 Fall Break No Class
Week 15 12/3 Blockchain and Cryptocurrency
12/5 Zero-knowledge proofs
Week 16 12/10 Final Exam Review session

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.