Syllabus

The following is a tentative list of topics that will be covered. Click on each topic for further details and suggested readings. Details for later topics will be added and/or updated as the course progresses.

Feb 2: Overview of Cryptography

Feb 4: Cryptographic Definitions and Semantic Security

Feb 9: Stream Ciphers

Feb 11: Block Ciphers

Feb 16: Using Block Ciphers

Feb 18: Constructing Block Ciphers

Feb 23: Message Integrity

Feb 25: Collision-Resistant Hashing

Mar 2: HMAC and Authenticated Encryption

Mar 4: Authenticated Encryption

  • Topics (Lecture Notes)

    • Active attacks and chosen-ciphertext security (CCA-security)

    • Authenticated encryption with associated data (AEAD)

    • Carter-Wegman MAC

    • Galois counter mode (GCM)

  • References

Mar 9: No Class

Mar 11: Introduction to Prime-Order Groups

Mar 16: The Discrete Logarithm Problem

Mar 18: Public-Key Encryption

Mar 23: Introduction to Composite-Order Groups

Mar 25: Public-Key Cryptography from RSA

Mar 30: Authenticated Key Exchange

Apr 1: 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 6: Introduction to Zero-Knowledge

Apr 8: Zero-Knowledge Proofs

Apr 13: Proofs of Knowledge

Apr 15: No Class

Apr 20: Non-Interactive Proofs and ECDSA

Apr 22: Multiparty Computation

Apr 27: Two-Party Computation

Apr 29: Lattices and Learning with Errors

May 4: Short Integer Solutions

May 6: Lattice-Based Key Exchange