🔐 Le problème impossible (jusqu'en 1976)
Imagine que tu veuilles envoyer un message secret à quelqu'un que tu n'as jamais rencontré. Aucun moyen d'échanger une clé en personne. Ton message peut être intercepté par n'importe qui sur le chemin. Comment garantir qu'il restera lisible uniquement par le destinataire ?
Pendant 4 000 ans, la réponse a été : « impossible sans échange préalable d'une clé secrète ». La cryptographie classique exigeait toujours que les deux parties partagent un secret commun avant de pouvoir communiquer.
En 1976, Whitfield Diffie et Martin Hellman posent les bases théoriques d'une révolution : la cryptographie à clé publique. En 1977, Rivest, Shamir et Adleman concrétisent l'idée avec le premier algorithme pratique : RSA.
🎛️ RSA en action (petits nombres)
Voici une démo avec de petits premiers (la vraie RSA en utilise de 600 chiffres). Saisis un message numérique, chiffre-le avec la clé publique, déchiffre-le avec la clé privée.
🎛️ Démo RSA
p = 11, q = 13 → n = 143. Petits premiers pour la démo. La vraie RSA utilise des nombres de 600 chiffres.
Clé publique (n, e)
n = 143, e = 7
Tout le monde peut la voir.
Clé privée (n, d)
n = 143, d = 103
Connu UNIQUEMENT du destinataire.
Chiffré c = mᵉ mod n
?
Déchiffré cᵈ mod n
?
Saisis un nombre m, on calcule c = m⁷ mod 143 (chiffrement avec clé publique).
📐 Comment RSA fonctionne (recette)
Construction de la paire de clés :
- Choisir 2 grands nombres premiers p et q. Calculer n = p × q.
- Calculer φ(n) = (p − 1)(q − 1) (indicatrice d'Euler).
- Choisir un entier e premier avec φ(n) (souvent e = 65537 en pratique).
- Calculer d tel que e × d ≡ 1 [φ(n)] (inverse modulaire, via Euclide étendu).
- Clé publique = (n, e). Clé privée = (n, d).
Chiffrer un message m : c = mᵉ mod n.
Déchiffrer c : m = cᵈ mod n.
L'opération « élever à une puissance modulo n » est facile pour un ordinateur. Mais retrouver d à partir de e et n est virtuellement impossible sans connaître p et q. Et factoriser n en p×q (quand n a 600 chiffres) est computationnellement infaisable.
🧮 Pourquoi ça marche (théorème d'Euler)
La preuve que m = (mᵉ)ᵈ mod n repose sur le théorème d'Euler :
(si pgcd(m, n) = 1)
Comme e × d ≡ 1 [φ(n)], on a ed = 1 + k·φ(n) pour un certain entier k. Donc :
(mᵉ)ᵈ = med = m1+k·φ(n) = m × (mφ(n))k ≡ m × 1k ≡ m [n] ∎
🌍 Pourquoi tout Internet en dépend
⚠️ Le futur : l'ordinateur quantique
RSA repose sur la difficulté de factoriser de grands nombres. En 1994, le mathématicien Peter Shor démontre qu'un ordinateur quantique pourrait factoriser un nombre à 2 048 bits en quelques heures, contre des milliards d'années pour un ordinateur classique.
Les ordinateurs quantiques actuels (2026) ne sont pas encore assez puissants pour casser RSA-2048. Mais ce sera probablement le cas dans 10-20 ans. C'est pourquoi le monde travaille déjà sur la cryptographie post-quantique, qui résiste aux ordinateurs quantiques.
🎓 Lien avec le programme BAC SM
RSA n'est pas démontré en détail au BAC SM, mais tous ses ingrédients y sont :
- Nombres premiers (concept Atlas « Nombres premiers »)
- Congruences : a ≡ b [n] signifie n divise (a − b)
- Algorithme d'Euclide et théorème de Bezout (concept Atlas « Euclide »)
- Inverse modulaire : calculer d à partir de e et φ(n)
- Petit théorème de Fermat : aᵖ⁻¹ ≡ 1 [p] si p premier
- Théorème d'Euler : aᵠ⁽ⁿ⁾ ≡ 1 [n] (généralisation)
- Indicatrice d'Euler φ(n) : nombre d'entiers premiers avec n et ≤ n
🧠 Réflexion finale
RSA est l'une des plus belles applications des mathématiques pures à un problème concret. Les théorèmes d'Euler et de Fermat, étudiés depuis des siècles comme curiosités arithmétiques, sont devenus dans les années 1970 le fondement de la sécurité d'Internet.
C'est aussi un rappel important pour ta génération : les maths qu'on apprend aujourd'hui peuvent devenir critiques pour la civilisation demain. Personne au début du XXᵉ siècle n'aurait imaginé que des résultats sur les nombres premiers protégeraient un jour chaque transaction bancaire de la planète.