RSA : chiffrement jouet
Choisis deux nombres premiers, saisis un message et observe RSA le chiffrer puis le déchiffrer.
Arithmétique modulaire et factorisation première 🖖
Le chiffrement RSA repose sur la difficulté asymétrique de la factorisation en facteurs premiers. Il génère des clés en utilisant l'indicateur d'Euler φ(n) = (p-1)(q-1) et l'arithmétique modulaire : c = m^e mod n. Le déchiffrement nécessite d, où e * d ≡ 1 mod φ(n), impossible à trouver sans factoriser n.
Le cadenas que vous seul ouvrez 🖖
RSA donne à chacun un cadenas ouvert (votre clé publique) que l'on peut refermer autour d'un message, mais seule votre clé privée peut le rouvrir. Comme fermer et ouvrir utilisent des clés différentes, vous pouvez publier la clé publique au vu de tous sans révéler comment déchiffrer. Cet outil vous laisse parcourir tout le cycle avec de minuscules nombres premiers ; les vrais systèmes suivent les mêmes étapes avec des nombres de centaines de chiffres.
Le chiffrement à l'envers est une signature 🖖
La même opération RSA, exécutée dans l'autre sens, prouve qui a envoyé un message au lieu de le cacher. Si vous « déchiffrez » un message avec votre clé privée, n'importe qui peut le « chiffrer » à nouveau avec votre clé publique pour vérifier qu'il vient bien de vous : c'est une signature numérique. Ainsi un seul calcul assure à la fois la confidentialité et l'authentification, rien qu'en échangeant quelle clé passe en premier.
Exemples de problèmes
- p=61, q=53 - p=61, q=53 : exemple classique de RSA pédagogique
- Petits nombres premiers - p=7, q=11 : petits nombres premiers, faciles à suivre pas à pas
- Nombres premiers plus grands - p=101, q=103 : espace de clés plus grand
- Exemple de manuel - p=17, q=19 : exercice de manuel