Comment enseigner la Cryptographie Appliquée
Rendre concret l'abstrait : démos visuelles et cassage en TP
Pourquoi enseigner ce domaine
La cryptographie est le ciment invisible de la sécurité numérique : sans elle, pas de HTTPS, pas de VPN, pas de signature numérique, pas de stockage sécurisé de mots de passe. Mais c'est aussi l'un des sujets les plus abstraits à enseigner. L'enjeu est de rendre les mathématiques tangibles par la manipulation.
Prérequis étudiants
- ✓Mathématiques de base (arithmétique modulaire est un plus)
- ✓Programmation (Python recommandé)
- ✓Notions de protocoles réseau
Progression pédagogique recommandée
Principes fondamentaux
Comprendre les propriétés essentielles (confidentialité, intégrité, authentification, non-répudiation)
Chiffrement symétrique
Du chiffrement de César à AES : comprendre clé, algorithme, mode de chiffrement
Chiffrement asymétrique
RSA, Diffie-Hellman, ECC : échange de clé, signature, certificats
Hachage et intégrité
Fonctions de hash, stockage de mots de passe (bcrypt, Argon2), HMAC
PKI et protocoles
Certificats X.509, chaîne de confiance, TLS en pratique
Erreurs courantes des formateurs
Rester trop longtemps dans la théorie mathématique sans passer à la manipulation
Ne pas montrer le chiffrement ECB vs CBC visuellement (l'image du pingouin ECB est un classique incontournable)
Dire « cryptage » au lieu de « chiffrement » : et ne pas corriger les étudiants qui font l'erreur
TP et exercices concrets
Cassage de chiffrement faible
Casser un chiffrement de César et un chiffrement par substitution par analyse fréquentielle
AES en Python et comparaison ECB/CBC
Chiffrer un fichier avec AES en mode ECB et CBC, visualiser la différence
Mini-CA avec OpenSSL
Créer une autorité de certification, signer un certificat serveur et configurer HTTPS
Outils et environnement de lab
Comment évaluer les étudiants
Projet combiné : implémenter un mini-système de chiffrement en Python (génération de clés, chiffrement/déchiffrement, signature, vérification) avec un rapport expliquant les choix cryptographiques et leurs limites.
Questions fréquentes
Comment structurer un cours de cryptographie ?
Un cours de cryptographie se structure en 5 blocs progressifs : Principes fondamentaux, Chiffrement symétrique, Chiffrement asymétrique, Hachage et intégrité, PKI et protocoles. Chaque bloc doit combiner théorie et pratique avec des exercices concrets.
Quels outils utiliser pour enseigner le cryptographie ?
Les outils recommandés incluent : Python (bibliothèque cryptography), OpenSSL, CyberChef, GPG, Hashcat/John (pour le cassage pédagogique). Privilégiez les outils open source accessibles aux étudiants.
Quelles erreurs éviter en enseignant le cryptographie ?
Rester trop longtemps dans la théorie mathématique sans passer à la manipulation