Learning outcomes

A the end of the course, the student should have progressed in its ability to understand the field of Modern Cryptography and what type of guarantee it can bring to build secure systems

- The student should learn how to model adversaries.

- The student should be able to discuss the main security properties and cryptography primitives.

- The student should be able to describe with rigor notions of security obtained from the main cryptography primitives.

- The student should be able to apply its acquired knowledge in contexts of secure communications.

- The student should have acquired advance understanding of anonymous communication technologies.

 

Goals

This course opens the door to understanding modern and secure distributed systems using modern cryptography. A particular attention would be put on applying the theory covered in the course.

Content

- Reminder of probability notions and networking notions.

- A brief history of cryptography techniques.

- Adversary and threat modeling.

- Symetric Cryptography: from elementary designs towards generic abastractions, and concrete instantiations such as AES and Chacha

- Stream ciphers & Block ciphers

- Message integrity

- Public-key Cryptography: Diffie-Hellman, Elgamal

- Anonymous communication notions, based on symetric cryptography, message integrity and public-key cryptography.

Exercices

The course integrates an important practical part that puts the students in actual concrete situations

Assessment method

Assessment will be a written or oral examination

Sources, references and any support material

Free syllabus on https://toc.cryptobook.us/

Language of instruction

English