Since the Spring of 2026, I have been teaching a course, Modern Cryptology, intended to be the first cryptography course for master's students. The course is designed from scratch by me and is roughly divided into two halves:
Basics of cryptography: Fundamental principles of modern cryptology, provable security, symmetric and asymmetric encryption, and digital signatures.
Advanced topics: The second half of the course gives a small taste of more advanced topics in contemporary cryptography. It may include topics such as post-quantum security, lattices, zero-knowledge proofs, secure multiparty computation, blockchain, and e-voting. The exact topics may vary from year to year.
This course is meant as the first stepping stone for other, more advanced cryptography courses offered at the University of Tartu. The first half of the course partially overlaps with the Bachelor's Cryptography course, but it moves at a faster pace.
More details about the course can be found here: Modern Cryptology
In the past, I have been a TA for courses such as Elements of Discrete Mathematics, Algorithms and Data Structures, and Cryptographic Protocols.