Introduction
Cryptology is concerned with realising the impossible, namely securing information in open networks. This includes ensuring
- confidentiality of messages,
- integrity of messages,
- authenticity of principals.
The course gives an introduction to cryptology, from its history to its use in modern computer systems. While the lectures are self-contained, some familiarity with basic algebra (Z/NZ, finite fields, cf. MAT552), networking (cf. INF557) and information theory (cf. INF558) is highly recommended.
To each lecture corresponds a TD, in which you apply the learnt concepts by implementing them on your laptop, e.g. in Python, C/C++, or Java.
The course is validated by carrying out a project, involving some programming based on a scientific article, and an oral examination.
