Introduction to Modern Cryptography 2015/16

University of Amsterdam course, February/March 2016
part of Master of Logic
Lecturer: Christian Schaffner (UvA / CWI; email)
Teaching assistant: Malvin Gattinger (


26 Jan 2016: Get started by signing up for the course Moodle site!
16 Dec 2015: The course will take place!
9 October 2015: Here's a great site for picking secure passwords (in your favourite Language): Diceware!
5 March 2015: website online

Getting started

Create an account on this Moodle site and enrol yourself in the crypto course. Leave a welcome message in the course forum. Create an account on coursera and enrol yourself in Jonathan Katz’s crypto course and Dan Boneh's crypto course. Please send an email to Malvin in case of difficulties.

Contents of the course

Cryptography has a very long and exciting history. For centuries, political leaders and military forces have used cryptographic techniques, primarily to communicate securely. Modern cryptography is concerned with an enormous variety of scenarios where the involved parties do not fully trust each other such as internet banking, electronic voting, integrity of data, security of computer networks and many more.

This course offers an introduction to this fascinating subject. After a quick treatment of historic cryptographic schemes, we will set out the formal definitions to be able to investigate perfectly-secret and computationally-secure encryption, pseudorandomness, hash functions, and message authentication codes and block ciphers. While these primitives are referred to as symmetric-key primitives (because the involved parties use the same keys), another important class are public-key (or asymmetric) primitives which allow for public-key encryption and digital signatures. The most well-known example is the widely-used RSA system.

If time allows, we will cover more advanced cryptographic notions such as secret sharing, bit commitment, bitcoin, zero-knowledge and multi-party computation.

Over the last years, cryptography has been transformed from an ad-hoc collection of mysterious tricks into a rigorous science based on firm mathematical grounds. Our treatment will therefore be rather formal and precise in the mathematical definitions. In particular, this is NOT a course in computer security. You will not learn how to break or hack systems. We will not teach you "how to secure your system"; cryptography is only one aspect of security.

Intended learning outcomes

At the end of the course, you will be able to:



Katz-Lindell book We will mainly follow the following book: You can order it from or for approximately 50 EUR. The authors' web site has some minor errata and samples.

There will be material and research articles to read which are not in the book. Here is a useful list of other text books and references by Jon Katz.


please check Datanose for the definite locations.

starting February 2016

Homework, exam, and grading

This is a 6 ECTS course, which comes to roughly 20 hours of work per week. For further details, check the Moodle course site.

Questions about the material are always welcome and can be addressed to Christian or Malvin.

Course schedule 2016

will be similar to last edition.

Life after "Introduction to Modern Cryptography"

If you got hooked on the world of Alice, Bob and Eve, you have several options after the course: