Teaching
Courses
- 6.S976 Cryptography and Machine Learning: Foundations and Frontiers
Spring 2026
- 6.5630 Advanced Topics in Cryptography: From Lattices to Program Obfuscation Fall 2024
- 6.S895 Quantum Cryptography Spring 2024
- CS 294-168 Lattices, Learning with Errors and Post-Quantum Cryptography Spring 2020 (Berkeley)
- 6.892: Computing on Encrypted Data Fall 2013
- 6.5630 (formerly 6.876): Advanced Topics in Cryptography Fall 2024 Spring 2020 (MIT+Berkeley) Fall 2018 Fall 2017 Fall 2015
- 6.5620 (formerly 6.875): Foundations of Cryptography Fall 2023 Fall 2022 Fall 2021 Fall 2020 (MIT+Berkeley) Spring 2018 Spring 2017
- 6.046: Design and Analysis of Algorithms Spring 2022 Fall 2016 Spring 2016
- 6.006: Introduction to Algorithms Spring 2019 Fall 2014 Spring 2014
- 6.1200 (formerly 6.042): Mathematics for Computer Science Spring 2023 Spring 2025
- MAT 302: Algebraic Cryptography Spring 2013 (Toronto) Spring 2012 (Toronto)
- CSC 2419: Advanced Topics in Cryptography Spring 2013 (Toronto)
- CSC 2414: Topics in Applied Discrete Math (Lattices in Cryptography and Cryptanalysis) Fall 2011 (Toronto)