Intermédiaire20-30h

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

1

Principes fondamentaux

Comprendre les propriétés essentielles (confidentialité, intégrité, authentification, non-répudiation)

2

Chiffrement symétrique

Du chiffrement de César à AES : comprendre clé, algorithme, mode de chiffrement

3

Chiffrement asymétrique

RSA, Diffie-Hellman, ECC : échange de clé, signature, certificats

4

Hachage et intégrité

Fonctions de hash, stockage de mots de passe (bcrypt, Argon2), HMAC

5

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

1h30📄 Texte clair retrouvé avec explication de la méthode🔧 Python, CyberChef

AES en Python et comparaison ECB/CBC

Chiffrer un fichier avec AES en mode ECB et CBC, visualiser la différence

2h📄 Script Python + images comparatives ECB vs CBC🔧 Python (cryptography), éditeur d'image

Mini-CA avec OpenSSL

Créer une autorité de certification, signer un certificat serveur et configurer HTTPS

3h📄 CA fonctionnelle avec certificat serveur installé🔧 OpenSSL, navigateur, serveur web

Outils et environnement de lab

Python (bibliothèque cryptography)OpenSSLCyberChefGPGHashcat/John (pour le cassage pédagogique)

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

Cyber Teachers