Syllabus

The following is a tentative list of topics that will be covered. Topics may be added, removed, or updated during the course of the semester. Click on each topic for links to lecture notes and suggested readings. Lecture notes will be available after the lecture.

Jan 10: Overview of Cryptography

Jan 12: The One-Time Pad and Stream Ciphers

Jan 17: PRGs and Security Reductions

Jan 19: Stream Cipher Constructions

Jan 24: Pseudorandom Functions

Jan 26: Block Cipher Modes of Operation

Jan 31: University Closure (No Class)

Feb 2: University Closure (No Class)

Feb 7: Block Cipher Constructions

Feb 9: Message Integrity

Feb 14: Collision-Resistant Hash Functions

Feb 16: HMAC and Key Derivation

Feb 21: Authenticated Encryption and CCA Security

Feb 23: Exam 1 (In Class)

Feb 28: Key Agreement and Prime-Order Groups

Mar 2: Diffie-Hellman Key Exchange

Mar 7: Public-Key Encryption

Mar 9: ElGamal Encryption and CCA-Security

Mar 14: Spring Break (No Class)

Mar 16: Spring Break (No Class)

Mar 21: The RSA Problem and Digital Signatures

Mar 23: Public-Key Cryptography from RSA

Mar 28: Authenticated Key Exchange

Mar 30: Identification Protocols

  • Topics (Lecture Notes)

    • Identification protocols and threat models

    • Password storage and management

    • One-time passwords (SecurID, TOTP, S/Key)

    • Challenge-response authentication and active security

  • References

Apr 4: Zero-Knowledge Proofs

Apr 6: Zero Knowledge for NP

Apr 11: Proofs of Knowledge

Apr 13: Non-Interactive Proofs and ECDSA

Apr 18: Post-Quantum Cryptography

Apr 20: Exam 2 (In Class)