This short course presents a brief introduction to concepts and tools from modern cryptography. Based on mathematical models for reasoning about the security of information systems, the course explains basic notions like pseudorandomness, symmetric-key encryption and public-key encryption. It also introduces techniques to use cryptographic algorithms in distributed systems, such as threshold cryptography and verifiable randomness.
Structure
- Basics of cryptography and provable security
- Pseudo-random generators, pseudo-random functions and secret-key cryptosystems
- Public-key cryptography, public-key encryption and digital signatures
- Distributed cryptography
Slides and exercises