COMP 7120/8120 Cryptography and Data Security
Course Description
This course is an introduction to the basic concepts and mechanisms of applied cryptography and data security. It will cover both cryptographic primitives (secret key encryption, public key encryption, digital signatures) and security protocols (user authentication). It also emphasizes on discussing the challenges when applying cryptographic building blocks to solve practical security problems, including cloud computing, mobile crowdsourcing networks, and distributed systems. (The content and syllabus are subject to adjustment during the semester.)
Prerequisites: The course is self-contained, however a basic understanding of probability theory and modular arithmetic will be helpful.
Lecture
Monday/Wednesday, 2:20 pm - 3:45 pm, Dunn Hall 109
Office Hours
By appointment only (Please arrange by email 2-3 days in advance)
Recommended Textbook
- A Graduate Course in Applied Cryptography by D. Boneh and V. Shoup. Free!
- Handbook of Applied Cryptography by A. Menezes, P. Van Oorschot, S. Vanstone. Free!
- Introduction to Modern Cryptography by J. Katz and Y. Lindell.
Evaluation
Grading: Your final grade will come from the following sources: class attendance (CA), homework assignments (HA), in-class presentations (IP), and one in-class exam (IE). Here is the grading formula:
Grade = 0.05*CA + 0.25*HA + 0.3*IP + 0.4*IE
Grading Scale: A: 85 – 100, B: 70 – 84, C: 60 – 69, D: 50 – 59, F: 49 and below. (Plus/minus grading will be used).
Course Policy
- Late Policy: Without prior request, no late work will be accepted. All late submission maybe accepted at a penalty of 15% per day for no more than THREE days.
- Testing Policy: The exam given is closed book/note/laptop/neighbor. But students are allowed to bring one cheat sheet (letter-sized 8.5-by-11) for quick reference. There will NOT be any makeup exams unless there is a documented emergency.
- Homework Assignment and Project Report Policy: It is recommended that students use a word processing software (e.g., Word or LaTeX) to type their homework solutions or project report, then submit well-formatted PDF files.
Course Schedule
-
Week 1:
- JAN 18 - Lecture 1: Introduction (slides 1)
-
Week 2:
- JAN 23 - Lecture 2: Brief History of Cryptography
- JAN 25 - Lecture 3: One Time Pad and Stream Cipher
-
Week 3:
- JAN 30 - Lecture 4: Attacks on One Time Pad and Stream Cipher
- Feb 01 - Lecture 5: Block Cipher – The Data Encryption Standard (DES)
-
Week 4:
- Feb 06 - Lecture 6: Block Cipher – The Advanced Encryption Standard (AES)
- Feb 08 - Lecture 7: Semantic Security
-
Week 5:
- Feb 13 - Lecture 8: How to use Block Cipher: one-time key
- Feb 15 - Lecture 9: How to use Block Cipher: many-time key
-
Week 6:
- Feb 20 - Lecture 10: Basic Key Exchange
- Feb 22 - Lecture 11: Some Number Theory
-
Week 7:
- Feb 27 - Lecture 12: Hard problems and Public Key Encryption
- Mar 01 - Lecture 13: Public Key Encryption: RSA
-
Week 8:
- Spring Break
-
Week 9:
- Mar 13 - Lecture 14: Public Key Encryption: ElGamal
- Mar 15 - Lecture 15: Message Integrity
-
Week 10:
- Mar 20 - Lecture 16: Collision Resistance and HMAC
- Mar 22 - Lecture 17: Digital Signature
-
Week 11:
- Mar 27 - Lecture 18: Authenticated Encryption I
- Mar 29 - Lecture 19: Authenticated Encryption II
-
Week 12:
- April 03 - Presentation 1
- April 05 - Presentation 2
-
Week 13:
- April 10 – Presentation 3
- April 12 – Presentation 4
-
Week 14:
- April 17 – Presentation 5
- April 19 – Presentation 6
-
Week 15:
- April 24 – Review
- April 26 – In-class Exam