The following gives a day-by-day breakdown of topics covered, readings assigned, and assignment handouts/due dates. Each topic includes required readings that students should read before the topic is discussed in class – always look ahead a few days to see what readings you should be doing. Unless otherwise indicated, we will skip all starred sections in the textbook.
The schedule in this class is flexible, and past dates will be updated to reflect what was actually covered. Future dates are always tentative and subject to change.
Topics: Class overview and syllabus review; introduction to modern cryptography
Reference: Syllabus and Sections 1.1–1.2
Handout: Syllabus
Topics: Some historical ciphers, and principles of modern cryptography
Reading: Sections 1.3-1.4
Topics: Vigenere cipher and classic cipher weaknesses; Start math review (proofs and asymptotic notation)
Reading: Sections A.1-A.2
Topics: More math review (probability theory) and start of formal models for perfect secrecy
Reading: Sections A.3 and 2.1
Due: Assignment 1
Topics: Bitwise operations; Perfect secrecy: One-time pad and limitations of perfect secrecy
Reading: Sections 2.2-2.3
Note: Bitwise operation review is not covered by readings
Topics: Bitwise one-time pad; necessary conditions for perfect secrecy
Topics: Private-key encryption: Computational security and definitions; concrete security; asymptotic security ideas and working with polynomials and negligible functions
Reading: Sections 3.1-3.2
Topics: Private-key encryption: Attacker vs adversary power; pseudo-random number generation; and start on constructing secure schemes
Reading: Section 3.3
Due: Assignment 2
Topics: Private-key encryption: Finish secure construction from PRNG, and start on stronger security notions and CPA-secure schemes
Reading: Sections 3.4-3.5
Topics: Private-key encryption: Modes of operation and CCA-security
Reading: Sections 3.6-3.7
Topics: Message Authentication Codes: Basics and definitions
Reading: Sections 4.1-4.2
Topics: Message Authentication Codes: Constructing MACs
Reading: Sections 4.3-4.4
Due: Assignment 3
Topics: More on Message Authentication Codes
Topics: Mid-term review day
Topics: Mid-term exam
Topics: Hash functions – Definitions, Merkle-Damgard, making MACs, and Attacks
Reading: Sections 5.1-5.4
Topics: Hash function applications – Random-Oracle Model, Fingerprinting, Merkle Trees, Password Hashing, etc.
Reading: Sections 5.5-5.6
Topics: Basic group theory, number theory, and prime number properties
Reading: Sections 8.1-8.2; Sections B.1-B.2
Due: Assignment 4
Topics: Factoring and the RSA assumption; cyclic groups
Reading: Section 8.3
Topics: Subgroups and elliptic curves
Reading: Sections 8.3.3-8.3.4
Topics: Key Management and the Public-Key Revolution
Reading: Chapter 10
Topics: Public-Key Encryption - Overview, definition, and hybrid encryption idea
Reading: Sections 11.1-11.3
Due: Assignment 5
Topics: Public-Key Encryption - CDH/DDH-Based Encryption and start RSA
Reading: Section 11.4, 11.5
Topics: Public-Key Encryption - RSA in practice (padding, etc.); hybrid encryption proof via plaintext randomization
Reading: Section 11.5 and plaintext randomization paper (sections 1-4)
Topics: Digital Signature Schemes - Overview, definitions, hash-and-sign, and Discrete-Log-based signatures
Reading: Sections 12.1-12.3 and 12.5
Topics: Digital Signature Schemes - More on Discrete-Log-based signatures and RSA
Reading: Section 12.4
Due: Assignment 6
Topics: Secret sharing and threshold cryptography
Reading: Section 13.3
Topics: Zero-knowledge proofs
Reading:
Topics: Review for Final Exam
Friday, May 3, 7:00-10:00