La première partie du cours a une orientation algorithmique dans la présentation des cryptosystèmes et leurs principaux développements, particulièrement dans les schémas de signature. Elle s'accompagne de l'énoncé des bases mathématiques sur lesquelles ces cryptosystèmes sont construits pour donner une réelle compréhension des détails algorithmiques. De graves failles de sécurité étant dues à leur mauvaise implémentation, le but principal de cette partie est de rendre les étudiants capables de lire et d'écrire de tels algorithmes cryptographiques.
La deuxième partie a une orientation protocolaire et s'attache dans un premier temps, à travers des exemples, à montrer les difficultés de l'authentification dans les réseaux informatiques. Elle amène aux définitions subtiles des types et degrés d'authentification et a pour but d'entraîner les étudiants à construire logiquement des attaques de protocoles dans des cas simples.
Thèmes abordés :
– Outils mathématiques. Calcul modulaire et cyclicité. Ordre d'un élément dans un groupe. Corps fini. Algèbre des registres en longueur fixe.
– Cryptosystème symétrique, asymétrique. Exemples classiques.
– Test de primalité : Fermat, Euler. Génération pseudo-aléatoire d'entier premier : Solovay-Strassen.
– Signature, hachage. Propriétés. Exemples classiques.
– Protocoles de partage de secret et d’authentification. Objectif des protocoles. Types et degrés d’authentification : authentification de clef, authentification d’identité. Typologie d’attaques. Exemples classiques.
Références de base
– Revue française bimensuelle "MISC", Diamond
– Handbook of Applied Cryptography, A. Menezes, P. van Oorschot, S. Vanstone, CRC Press, 1997.
– Introduction to Network Security,Douglas Jacobson, Iowa State University, Ames, Iowa, USA, Chapman & Hall/CRC Computer & Information Science Series, 2009