Université de Paris 12 – Créteil
Master Sécurité des Sytèmes d’Informations

Emmanuel Bresson

Emmanuel(dot)Bresson(at)sgdn(dot)gouv(dot)fr

Examen: le mercredi 7 mai de 13:00 a 15:00 [ Corrigé ]

[ Introduction | Objectifs | Plan du cours | Exercices | Bibliographie ]


Introduction au cours

La cryptologie est, littéralement, la science du secret. Discipline millénaire mais longtemps réservée aux diplomates et aux militaires, elle est depuis trente ans une thématique de recherche en plein essor. L’objectif de ce module est d’en donner un aperçu global, afin d’acquérir la maîtrise des concepts fondamentaux, et d’étudier à travers plusieurs exemples comment ces concepts peuvent être mis en oeuvre pour la sécurisation des applications — la cryptologie est avant tout un outil, et non une fin.

Après un bref aperçu historique permettant de comprendre comment sont nées les notions utilisées aujourd’hui, les fonctionnalités de base (confidentialité, authentification, cryptographie à clé publique, etc) seront présentées et formalisées mathématiquement. Cette formalisation se base sur la théorie de la complexité, et fait appel à des notions d’algorithmique et de probabilités.

Les principaux cryptosystèmes (RSA, AES, Diffie-Hellman, etc.) seront également décrits en détail, et leur sécurité, analysée à la lumière de cette formalisation. On montrera comment certains systèmes sont prouvés sûrs, et comment d’autres ont pu être cassés. La description et l’analyse des systèmes à clé publique utilisent intensivement les notions d’algèbre discrète (arithmétique modulaire, corps finis, etc.)

La fin du module élargira la perspective en donnant des applications concrètes de ces protocoles: certificats, sécurisation de couches réseau (IPSEC, SSL/TLS), ou des attaques effectivement réalisées (MD5, DES)


Objectifs pédagogiques

Savoir manipuler les concepts-clés de la cryptologie :
confidentialité, authenticité, intégrité. Être capable de contribuer à l’analyse de sécurité globale d’un système pour en définir les besoins et examiner la pertinence des menaces.
Connaître les principaux algorithmes utilisés en cryptographie :
pour le chiffrement, la signature, l’authentification de données et l’identification de personnes. Savoir quelles sont les avantages et inconvénients de chacun des mécanismes et être capable de discuter de leur sécurité en fonction des propriétés que l’on souhaite obtenir. Être capable de dimensionner les paramètres de sécurité cryptographiques.
Avoir connaissance des principales applications de la cryptologie
dans les protocoles Internet et les standards d’aujourd’hui. Être sensibilisé aux problèmes d’ingénierie posés par l’implantation, le déploiement et l’utilisation d’algorithmes cryptographiques.


Plan du cours

Pour une organisation plus facile, les cours répartis sur plusieurs séances ont été numérotés avec un numéro commun et une lettre distincte pour chaque séance (2a,2b,etc). Un pdf de la séance complète sera ensuite disponible.

  1. Introduction [ P12-M1-Crypto_1.pdf ]
  2. Rappels mathématiques [ P12-M1-Crypto_2.pdf ]
  3. Le chiffrement symétrique [ P12-M1-Crypto_3.pdf ]
  4. Le chiffrement asymétrique [ P12-M1-Crypto_4.pdf ]
  5. Modes opératoires [ P12-M1-Crypto_5.pdf ]
  6. Échange de clés et authentification [ P12-M1-Crypto_6.pdf ]
  7. La signature électronique [ P12-M1-Crypto_7.pdf ]
  8. Le chiffrement par flot [ P12-M1-Crypto_8.pdf ]
  9. L’identification [ P12-M1-Crypto_9.pdf ]


Exercices corrigés


Bibliographie

Pour un aperçu général (non technique):

Sur l’histoire de la crypto:

Plus techniques (plus proches du cours):

Pour approfondir:

Sur la sécurité en général: