Learning outcomes

At the end of the course, students will have progressed in their ability to understand how Cryptography works and how it can be used to build secure systems.

- The student will be able to describe and model an adversary.
- The student will be able to discuss the security properties of the main primitives in Cryptography.
- The student will be able to describe in a rigorous way security notions derived from the properties of the main primitives in Cryptography.
- The student will be able to apply this learning in a context of securing digital communications.

Goals

This course is a gateway to the understanding of distributed and secure computer systems using modern cryptography. Particular attention will be paid to the application of the principles studied during the course.

Content

- A reminder of the concepts of probability and networks.

- Notions of encryption, definitions and progression of definitions to ensure resistance to an increasingly capable adversary.

- Attacker modelling

- Symmetric encryption: from elementary abstraction to concrete constructions and their modes: AES, Chacha. Stream ciphers & Block ciphers.

- Communication integrity: message authentication based on secret keys and hash functions.

- Asymmetric cryptography: Diffie-Hellman, key exchange techniques based on algebraic groups.

Assessment method

Assessment will take the form of an oral or written exam, or a combination of both.

Language of instruction

Français