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)