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, its history and 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) is highly recommended. This course is part of the Cybersecurity track and a prerequisite for INF568.
To each lecture corresponds a TD, in which you apply the learnt concepts by implementing them on your laptop in Python.
The course is validated by an oral examination. Moreover, many topics can be at the heart of a 3rd year project.
Table of lectures:
- Classical Cryptanalysis
- Symmetric cryptology I
- Symmetric cryptology II
- Discrete logs and integer factorization
- Asymmetric cryptography
- Protocols in theory and in the real world
- Teaching coordinator: François Morain