lab ⚗️

RSALab

Chiffrement RSA — comment deux nombres premiers protègent l'internet

① Choisir deux nombres premiers p et q
Clique sur deux nombres premiers différents :
p =
q =
② Calculer n et φ(n)
n   = p × q  =
φ(n) = (p−1)(q−1) =
n est la clé publique de base — tout le monde peut le voir.
φ(n) est secret — il permet de calculer la clé privée.
③ Choisir e — exposant public
e doit être premier avec φ(n) :
e choisi =
pgcd(e, φ(n)) =
④ Calculer d — exposant privé
d × e ≡ 1 mod φ(n)
d =
Comment fonctionne RSA
1. On choisit deux nombres premiers p et q.

2. On calcule n = p×q (clé publique) et φ(n) (secret).

3. On choisit e (exposant public) et on calcule d (exposant privé) tel que e×d ≡ 1 mod φ(n).

4. Pour chiffrer : C = Mᵉ mod n
Pour déchiffrer : M = Cᵈ mod n

La sécurité repose sur le fait que factoriser n est impossible en pratique pour de grands nombres.
Clé publique utilisée pour chiffrer
🔓 Clé publique
n =   e =
Message à chiffrer
Formule de chiffrement
Pour chaque lettre M :
C = Me mod n
A=65, B=66 ... Z=90
La clé publique (n, e) est connue de tous.

N'importe qui peut chiffrer un message avec elle.

Mais seul le détenteur de d peut le déchiffrer.
Clé privée utilisée pour déchiffrer
🔒 Clé privée
n =   d =
Message chiffré reçu
Formule de déchiffrement
Pour chaque nombre C :
M = Cd mod n
Puis M → lettre ASCII
Le miracle mathématique : appliquer deux fois la même transformation (mod n) avec e puis d redonne le message original.

C'est la propriété fondamentale de RSA : (Mᵉ)ᵈ ≡ M mod n
Pourquoi RSA est sûr ?
Clé publique connue de tous : n=, e=
Pour casser RSA, il faut factoriser n :
=
Simulation d'attaque par force brute
On essaie tous les diviseurs jusqu'à trouver p et q...
RSA dans le monde réel
Dans cet exercice on utilise des nombres premiers petits (< 100) pour rendre les calculs visibles.

En vrai, RSA-2048 utilise des nombres premiers de ~300 chiffres. n a ~600 chiffres.

Les meilleurs ordinateurs du monde mettraient plus que l'âge de l'univers pour factoriser un tel n.
128 bits
RSA utilisé ici
2048 bits
RSA standard (HTTPS)
Tes clés (rappel)
🔓 Clé publique
n =
e =
🔒 Clé privée
d =
HTTPS et RSA
Quand tu vois 🔒 dans ton navigateur, c'est RSA (ou son successeur ECC) qui a échangé une clé symétrique de façon sécurisée.

Ton navigateur et le serveur n'ont jamais eu besoin de se rencontrer pour partager un secret — c'est ça la magie de la cryptographie asymétrique.