CSC 495/680 - Spring 2019 - Schedule

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.

Day 1: Monday, January 14

Topics: Class overview and syllabus review; introduction to modern cryptography
Reference: Syllabus and Sections 1.1–1.2
Handout: Syllabus

Day 2: Wednesday, January 16

Topics: Some historical ciphers, and principles of modern cryptography
Reading: Sections 1.3-1.4

Note: No class on Monday, January 21 (Martin Luther King, Jr. Holiday)
Day 3: Wednesday, January 23

Topics: Vigenere cipher and classic cipher weaknesses; Start math review (proofs and asymptotic notation)
Reading: Sections A.1-A.2

Day 4: Monday, January 28

Topics: More math review (probability theory) and start of formal models for perfect secrecy
Reading: Sections A.3 and 2.1

Day 5: Wednesday, January 30

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

Day 6: Monday, February 4

Topics: Bitwise one-time pad; necessary conditions for perfect secrecy

Day 7: Wednesday, February 6

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

Day 8: Monday, February 11

Topics: Private-key encryption: Attacker vs adversary power; pseudo-random number generation; and start on constructing secure schemes
Reading: Section 3.3

Day 9: Wednesday, February 13

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

Day 10: Monday, February 18

Topics: Private-key encryption: Modes of operation and CCA-security
Reading: Sections 3.6-3.7

Day 11: Wednesday, February 20

Topics: Message Authentication Codes: Basics and definitions
Reading: Sections 4.1-4.2

Day 12: Monday, February 25

Topics: Message Authentication Codes: Constructing MACs
Reading: Sections 4.3-4.4

Day 13: Wednesday, February 27

Due: Assignment 3
Topics: More on Message Authentication Codes

Note: No class on March 4 – 8 (Spring Break)
Day 14: Monday, March 11

Topics: Mid-term review day

Day 15: Wednesday, March 13

Topics: Mid-term exam

Day 16: Monday, March 18

Topics: Hash functions – Definitions, Merkle-Damgard, making MACs, and Attacks
Reading: Sections 5.1-5.4

Day 17: Wednesday, March 20

Topics: Hash function applications – Random-Oracle Model, Fingerprinting, Merkle Trees, Password Hashing, etc.
Reading: Sections 5.5-5.6

Day 18: Monday, March 25

Topics: Basic group theory, number theory, and prime number properties
Reading: Sections 8.1-8.2; Sections B.1-B.2

Day 19: Wednesday, March 27

Due: Assignment 4
Topics: Factoring and the RSA assumption; cyclic groups
Reading: Section 8.3

Day 20: Monday, April 1

Topics: Subgroups and elliptic curves
Reading: Sections 8.3.3-8.3.4

Day 21: Wednesday, April 3

Topics: Key Management and the Public-Key Revolution
Reading: Chapter 10

Day 22: Monday, April 8

Topics: Public-Key Encryption - Overview, definition, and hybrid encryption idea
Reading: Sections 11.1-11.3

Day 23: Wednesday, April 10

Due: Assignment 5
Topics: Public-Key Encryption - CDH/DDH-Based Encryption and start RSA
Reading: Section 11.4, 11.5

Day 24: Monday, April 15

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)

Day 25: Wednesday, April 17

Topics: Digital Signature Schemes - Overview, definitions, hash-and-sign, and Discrete-Log-based signatures
Reading: Sections 12.1-12.3 and 12.5

Day 26: Monday, April 22

Topics: Digital Signature Schemes - More on Discrete-Log-based signatures and RSA
Reading: Section 12.4

Day 27: Wednesday, April 24

Due: Assignment 6
Topics: Secret sharing and threshold cryptography
Reading: Section 13.3

Day 28: Monday, April 29

Topics: Zero-knowledge proofs
Reading:

Day 27: Wednesday, May 1

Topics: Review for Final Exam

Final Exam

Friday, May 3, 7:00-10:00