HTTPS et le chiffrement RSA
Comment HTTPS combine chiffrement asymétrique et symétrique — et un aperçu des mathématiques qui rendent RSA quasiment incassable.
Objectifs de la séance
Décrire l'échange d'une clé symétrique via un protocole asymétrique pour sécuriser HTTPS, et (approfondissement) comprendre les grandes lignes mathématiques de RSA.
Le protocole HTTPS
HTTPS = HTTP + une couche de sécurité (le protocole TLS). Pourquoi ne pas tout chiffrer en asymétrique ? Parce qu'il est très gourmand en ressources — trop lent pour de gros volumes de données.
La négociation HTTPS, étape par étape
- Le client se connecte au serveur et demande une communication sécurisée.
- Le serveur envoie sa clé publique (dans un certificat) au client.
- Le client génère une clé symétrique, la chiffre avec la clé publique du serveur, puis l'envoie.
- Le serveur déchiffre la clé symétrique reçue avec sa clé privée.
- Le client et le serveur communiquent ensuite en chiffrement symétrique, avec la clé échangée.
Les mathématiques de RSA
RSA repose sur l'arithmétique modulaire (les congruences).
N = p × q
e, premier avec n = (p−1)(q−1)
d, l'unique entier tel que
e × d ≡ 1 (mod n)
Un exemple complet de RSA
p = 5, q = 11, e = 23, d = 7.
Calculer N et n
Vérifier que e × d ≡ 1 (mod n)
Chiffrer m = 8 : calculer 8²³ mod 55
Déchiffrer : calculer 17⁷ mod 55
À toi de jouer
1. Pourquoi RSA utilise-t-il de très grands nombres premiers en pratique ?
2. Pourquoi connaître N ne permet pas de retrouver p et q facilement ?
Exercices gradués
Dans HTTPS, à quel moment utilise-t-on l'asymétrique ? Et le symétrique ?
Avec p=3 et q=11, calcule N et n.
Voir la correction
Recherche ce qu'est un certificat SSL/TLS et à quoi il sert en plus de transporter la clé publique.