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 in C.

The course is validated by a written examination. Moreover, many topics can be at the heart of a 3rd year project.

*Table of lectures:*

- History
- Classical Cryptanalysis
- Symmetric cryptology I
- Symmetric cryptology II
- Arithmetic
- Discrete logs and integer factorization
- Asymmetric cryptography
- Signature
- Protocols in theory and in the real world

**Language: **english.

- Teaching coordinator: François Morain