Introduction to Modern Cryptography 2015/16
part of Master of Logic
News: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 startedCreate 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 outcomesAt the end of the course, you will be able to:
- distinguish modern-day cryptography from ancient cryptography
- compare different security notions for private- and public-key encryption
- apply security notions for private- and public-key authentication
- produce/carry out cryptographic security proofs by reduction
- recognize the discrepancy between theoretically secure and practically used cryptography
- recognize and explain aspects of number theory which are relevant to cryptography
- combine number theory and cryptography
- select, summarize and defend a research topic in cryptography
- relate and compare that research topic with material in the course
- Ability to understand and write formal mathematical definitions and proofs
- familiarity with the basics of probability theory (independence, conditional probabilities, expectation, Bayes' Law), and basic number theory (modular arithmetic)
- It's helpful but not necessary to have some familiarity with the Chinese Remainder Theorem, algorithms (analyzing running time) and complexity theory (NP-completeness, reductions)
MaterialWe will mainly follow the following book:
- [KL] Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, Chapman & Hall / CRC, 2nd edition 2008
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 2016will 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:
- Talk to Christian about the possibilities of doing a semester project or master project in cryptography. He can also hook you up with other cryptographers, at CWI or in the rest of the Netherlands (and the world), working in all kind of different areas (crypto & algebraic geometry, elliptic curves, public-key crypto, information-security aspects etc.).
- Follow Ronald de Wolf's course about quantum computing at the university of Amsterdam, starting Spring 2015.
- Follow this mastermath course about crypology by Marc Stevens and Tanja Lange, starting in Spring 2015.
- Follow various excellent online classes such as Dan Boneh's crypto, crypto II, Jon Katz's crypto class or Umesh Vazirani's course about quantum computing.