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.
You have to obtain at least 50% of all points in the homework in order to be admitted to the final exam.
The exam will either be a written exam (90 minutes) or an oral exam (30 minutes), depending on the number of participants.
In the exam, you may use an analog language dictionary without any annotations and without loose pages. No other tools are allowed.
Both the lecture and the exercise are held in English.