Cryptography is everywhere! We heavily rely on cryptography in our everyday life when we do, for example, online shopping and online banking, pay with credit or debit card, open doors with electronic keys, or when we use social networks, instant messengers, online games, WiFi, mobile networks, or electronic currencies. Here, cryptography is essential in order to guarantee various central security properties such as secrecy and integrity of messages as well as authenticity of the communication partners.
This course provides an introduction to modern cryptography. In the traditional approach to cryptography, cryptographers proposed, for example, encryption algorithms, and then others, cryptanalysts, tried to break them. In modern cryptography, cryptographers try to prove that their cryptographic constructions are secure under certain assumptions, even when attacked by powerful adversaries. Hence, cryptography turned from pure art to science.
The course covers several fundamental cryptographic primitives, including (symmetric and asymmetric) encryption, hash functions, digital signatures, and message authentication codes. These primitives are important building blocks for other cryptographic constructions and for cryptographic protocols (TLS, SSH, WPA2, etc.), used by billions of people every day. The course presents common cryptographic constructions as used in practice, such as AES with various encryption modes (e.g., CBC, CTR), RSA, ElGamal, HMAC, PKCS#1, DSA. It also discusses public-key infrastructures and cryptographic protocols.
In the spirit of modern cryptography, we ask the following questions: What does it mean for an encryption algorithm, digital signature, etc. to be secure? Under which assumptions can we prove security? For several cryptographic constructions used in practice, including those mentioned above, we prove security or present attacks. This provides a deep understanding of the security/insecurity of the cryptography that surrounds us.
The lectures and exercises are held in a 3:1 mode, i.e., one of the lectures is replaced by an exercise every other week.
Mon 14:00-15:30, Room V38.02
Thu 17:30-19:00, Room V38.03
You have to get at least 50% of all points in the exercises in order to be admitted to the final exam.
This course will be held in English.
If you have any questions (regarding, e.g., lecture contents, past/current exercises, session times, exam admittance, …) please contact the teaching assistant Daniel Rausch, M.Sc..
“Moderne Kryptographie - Eine Einführung”, Küsters, Wilke (book, german)
“Introduction to Modern Cryptography”, Katz, Lindell (book, english)
“Probability and Random Processes”, Grimmett (book, english)
"A Primer on Algebra and Number Theory for Computer Scientists", Shoup (web resource, english)