CRY - Applications cryptographiques et transactions sécurisées
Appartient à l'UE Applications cryptographiques et transactions
Personnes enseignantes
Description générale du cours
La cryptographie est présente à de nombreux endroits dans les applications liées à la sécurité. La maîtrise de leur utilisation est donc importante dans le cadre de la spécification ou du développement d’applications de sécurité.
Objectifs
L’objectif principal de ce cours est de permettre à l’étudiant d’être capable de choisir le type d’algorithme ou de protocole cryptographique en fonction du but recherché ou de ce qui doit être protégé. Pour y arriver, le cours exposera les différentes techniques existantes et indiquera leurs fonctionnalités (ce que une technique donnée permet de faire) et leurs limitations (ce qui ne fonctionne pas ou n’est pas recommandé de faire avec une technique donnée). Les techniques cryptographiques seront exposées d’une manière suffisamment détaillée pour arriver à cet objectif et pour donner une certaine intuition aux étudiants, mais sans entrer dans un niveau de détails mathématiques trop important.
Plan du cours
Principes généraux
- techniques historiques et leur cryptanalyse
- principes de Kerckhoffs
- chiffrement idéal: code de Vernam
- clé secrète versus clé privée
Chiffrement à clé secrète
- chiffrement par flux
-
chiffrement par bloc
- DES
- AES
- modes opératoires
Authentification à clé secrète
- “message authentication code” (MAC)
Fonctions de hachage
- principes
- famille SHA
- fonctions éponges
Chiffrement à clé publique
- introduction à l’arithmétique modulaire
- chiffrement avec RSA
Signatures à clé publique
- signature avec RSA
- autres types de signatures
Gestion des clés
- gestion symétrique des clés
- échange de clés secrètes avec Diffie-Hellman
- gestion des clés publiques et des certificats (PKI)
Protocoles pratiques
- utilisation de techniques cryptographiques dans quelques exemples (SSL, TLS, SSH, PGP)