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.
By appointment only (Please arrange by email 2-3 days in advance)
- A Graduate Course in Applied Cryptography by D. Boneh and V. Shoup. Free! (recommend for Ph.D. students)
- Handbook of Applied Cryptography by A. Menezes, P. Van Oorschot, S. Vanstone. Free!
- Introduction to Modern Cryptography by J. Katz and Y. Lindell. (UofM library available)
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.1*CA + 0.2*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).
- 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.
- Homework 1
- Homework 2
- Presentation Schedule (anonymous)
- Presentation Evaluation Form
- Jan 20 - Lecture 1: Introduction to Cryptography and Data Security
- Jan 25 - Lecture 2: One Time Pad and Perfect Secrecy
- Jan 27 - Lecture 3: One Time Pad and Stream Cipher
- Feb 01 - Lecture 4: Semantic Security
- Feb 03 - Lecture 5: Block Cipher – The Data Encryption Standard (DES)
- Feb 08 - Lecture 6: Block Cipher – The Advanced Encryption Standard (AES)
- Feb 10 - Lecture 7: How to use Block Cipher (one-time key)
- Feb 15 - Lecture 8: How to use Block Cipher (many-time key)
- Feb 17 - Lecture 9: Basic Key Exchange
- Feb 22 - Lecture 10: Some Number Theory
- Feb 24 - Lecture 11: Hard problems and Public Key Encryption
- Mar 01 - Lecture 12: Public Key Encryption - RSA
- Mar 03 - Lecture 13: Public Key Encryption - ElGamal
- Mar 08 - Wellness Break
- Mar 10 - Lecture 14: Message Integrity - Message Authentication Codes
- Mar 15 - Lecture 15: Collision Resistance and HMAC
- Mar 17 - Lecture 16: Digital Signature
- Mar 22 - Lecture 17: Authenticated Encryption I
- Mar 24 - Lecture 18: Authenticated Encryption II
- Mar 29 - Project Start
- Mar 31 - Project
- Apr 05 - Project
- Apr 07 - Project
- Apr 12 - Project
- Apr 14 - Project
- Apr 19 - Project Submission
- Apr 21 - Review
- Apr 26 - In-class Exam