Licence Professionnelle en Cyber et Cybercriminalité (CYB) › Licence 2 › CYB · S3 · UE1 — Cryptanalyse
Gestion de clés et algorithmes cryptographiques
👤 Aminoulaye Mounkaila Midou — Master Informatique
Présentation
Ce cours prolonge « Principes de la cryptographie et cryptanalyse » (PCC2311), qui a présenté l’histoire des chiffres, le vocabulaire (chiffrement, clé, vecteur d’initialisation), les principes de Kerckhoffs et de Shannon, les chiffrements symétriques (DES, 3DES, AES, modes ECB, CBC, CFB, CTR) et asymétriques (RSA, ElGamal, Diffie-Hellman). Il se concentre sur les algorithmes qui garantissent l’intégrité et l’authenticité (fonctions de hachage, MAC, signatures) et sur ce qui fait la sécurité réelle d’un système : la gestion des clés et les infrastructures à clés publiques. Les manipulations se font dans le laboratoire personnel de l’étudiant avec OpenSSL, Apache, GnuPG et la bibliothèque standard Python (hashlib, hmac, secrets), sur des cas inspirés d’organisations nigériennes (école, banque, PME, paiement mobile).
Objectifs d’apprentissage
- Expliquer les propriétés des fonctions de hachage, le paradoxe des anniversaires et l’état de MD5, SHA-1, SHA-2 et SHA-3 ; stocker correctement des mots de passe.
- Choisir entre MAC (HMAC, CMAC) et signature (RSA, DSA, ECDSA) et calculer des exemples sur de petits nombres.
- Définir une politique de gestion des clés couvrant tout le cycle de vie, avec les standards PKCS et les recommandations NIST/ANSSI.
- Expliquer l’attaque de l’homme du milieu contre Diffie-Hellman et les moyens de l’empêcher.
- Lire et valider des certificats X.509, créer une petite PKI de test et mettre en place HTTPS sur Apache.
- Échanger des messages chiffrés et signés avec GnuPG et vérifier correctement un jeton JWT.
Prérequis
Cours PCC2311 (arithmétique modulaire, AES, RSA, Diffie-Hellman), administration Linux de base (paquets, droits, services), notions de réseau (HTTP, DNS, TCP) et de programmation Python.
Plan du cours
- Leçon 1 — Fonctions de hachage cryptographiques
- Leçon 2 — Intégrité et authentification : MAC, HMAC et signatures numériques
- Leçon 3 — Gestion des clés : cycle de vie, échange Diffie-Hellman, homme du milieu et standards PKCS
- Leçon 4 — Infrastructures à clés publiques (PKI), certificats X.509 et cas pratiques : OpenSSL, HTTPS, GnuPG, JWT
Modalités d’évaluation
Volume horaire : 13 h de cours magistral, 7 h de travaux dirigés, 0 h de TP encadré, 20 h de travail personnel de l’étudiant (TPE), 2 crédits. Les manipulations guidées (OpenSSL, Apache, GnuPG, Python) sont réalisées en TPE sur les machines virtuelles de l’étudiant. Évaluation : contrôle continu (40 % : quiz en ligne, exercices de TD, compte rendu de la mise en place d’HTTPS ou de l’échange GnuPG) et examen terminal écrit (60 %).
Bibliographie
- A. Menezes, P. van Oorschot, S. Vanstone, Handbook of Applied Cryptography, CRC Press, 1996.
- N. Ferguson, B. Schneier, T. Kohno, Cryptography Engineering: Design Principles and Practical Applications, Wiley, 2010.
- W. Stallings, Cryptography and Network Security: Principles and Practice, Pearson.
- NIST SP 800-57 Part 1 Recommendation for Key Management ; FIPS 180-4 (SHS), FIPS 186-5 (signatures), FIPS 198-1 (HMAC).
- IETF : RFC 5280 (certificats X.509 et CRL), RFC 2104 (HMAC), RFC 8017 (PKCS#1), RFC 7519 (JWT).
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
Programme
- 🔒 Leçon 1 — Fonctions de hachage cryptographiques · 90 min
- 🔒 Leçon 2 — Intégrité et authentification : MAC, HMAC et signatures numériques · 90 min
- 🔒 Leçon 3 — Gestion des clés : cycle de vie, échange Diffie-Hellman, homme du milieu et standards PKCS · 90 min
- 🔒 Leçon 4 — Infrastructures à clés publiques (PKI), certificats X.509 et cas pratiques : OpenSSL, HTTPS, GnuPG, JWT · 90 min
- 🔒 Quiz — Gestion de clés et algorithmes cryptographiques · quiz
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
