Course Goals
- Understand the mathematical underpinnings of cryptographic systems and be able to analyze their security.
- See how a problem-centric approach brings many different ideas and fields of math together to solve problems.
- Practice communicating mathematical ideas in writing and in oral communication, and translating technical mathematical ideas for a lay audience.
- Relate your mathematical knowledge of cryptographic systems to newsworthy events and policy issues.
You can find a link to the syllabus here.
Notes
- Week 1: Intro to Cryptography
- Week 2: Cryptanalysis
- Week 3: Block Ciphers
- Week 4: Information Theory
- Week 5: Discrete Logarithms
- Week 6: Public Key Encryption
- Week 7: Elliptic Curves
- Week 8: Elliptic Curve Cryptography
- Week 9: Knapsack Encryption
- Week 10: Ring Learning with Errors
- Week 11: Homomorphic Encryption
Homework
- Week 1, due Thursday September 5
- Week 2, due Thursday September 12
- Week 3, due Thursday September 19
- Week 4, due Thursday September 26
- Week 5, due Thursday October 3
- Week 6, due Thursday October 10
- Week 7, due Thursday October 17
- Week 8, due Thursday October 24
- Week 9, due Thursday October 31
- Week 10, due Thursday November 7
- Week 11, Optional, due Tuesday December 3
Final Presentation
Schedule
- November 14
- Patrick Bender (Collision Attacks)
- Jan Yan (Error Correcting Codes)
- Andrew Porter
- Jenny Yu (Digital Signatures)
- November 21
- Daniel Hermosillo (Zero-knowledge proofs)
- Dan Huth (Pseudorandom Number Generators)
- Summer Li (Enigma machine)
- Jane Bellamy (Man in the Middle)
Potential topics:
- Pseudorandom number generators (Dan Huth)
- Hashing functions
- Coding theory
- Collision attacks (Patrick)
- Sources of real-world vulnerabilities
- Pick a specific recent hack and explain how it works
- DES block cipher
- Primality testing
- More on elliptic curves
- More on lattice-based cryptography
- Digital signatures (Jenny Yu)
- Zero-knowledge proofs (Daniel Hermosillo)
- Man-in-the-middle attacks (Jane Bellamy)
- Cryptocurrencies
- Error-correcting codes (Jan Yan)
- Coppersmith attacks on RSA
- Other