Cryptographic Computing

Lecture Notes for Cryptographic Computing

In 2013 I have started teaching ``Cryptographic Computing'' at the master level of Aarhus University. This is a course I designed based on my research experience, and the course is designed to give students all the basic tools that are needed to follow current trends of research in secure multiparty computation, homomorphic encryption, etc. The lecture notes also invite students to understand these techniques in practice, by performing simple secure two-party computation protocols (using all the different techniques covered in the course) of the ``blood-type compatibility function''. Since 2019 I have been sharing responsibility of this course with Peter Scholl.
The course builds on top of two other courses which are taught here, ``Cryptography'' and ``Cryptologic Protocol Theory'', however it should also be possible to read the lecture notes of this course without having taken the previous courses for students with enough motivation.

Week Title File
1 Introduction [PDF]
2 Secure Computation with a Trusted Dealer: Passive Security (The One-Time Truth Table and the BeDOZa protocol) [PDF]
3 Secure Computation with a Trusted Dealer: Active Security (Information Theoretic MACs) [PDF]
4 Oblivious Transfer: Passive Security [PDF]
5 Garbled Circuits [PDF]
6 Homomorphic Encryption [PDF]
7 Oblivious Transfer: Active Security (The GMW-compiler) [PDF]
8 Oblivious RAM [PDF]
9 Private Set Intersection [PDF]

Feel free to reach out with questions, comments, or corrections to these lecture notes.


During the years many members of the Cryptography and Security Group of Aarhus University have helped teaching one or more weeks of the course, or have otherwise provided useful feedback. Special thanks to all of them and in particular: Carsten Baum, Katharina Boudgoust, Sabine Oechsner, Divya Ravi, ...

Valid XHTML 1.0 Strict Valid CSS!