Grand oral 23 avril 2026 20 min de lecture

Cryptographie RSA au Grand oral : l'arithmétique qui protège Internet

Comment deux nombres premiers sécurisent chaque cadenas HTTPS

Sommaire12 sections

Chaque fois qu’apparaît un cadenas dans la barre d’adresse de ton navigateur, ton ordinateur fait de la cryptographie. Et la plupart du temps, une partie du travail repose sur un algorithme que trois chercheurs du MIT, Rivest, Shamir et Adleman, ont publié il y a près de cinquante ans : RSA.

Ce qui rend RSA remarquable, ce n’est pas qu’il chiffre des messages. Vigenère le faisait déjà, et des siècles avant lui, César. Ce qui rend RSA remarquable, c’est qu’il résout un problème que ces chiffres classiques n’ont jamais su résoudre : comment Alice et Bob peuvent-ils communiquer secrètement s’ils ne se sont jamais rencontrés ?

La réponse tient entièrement sur de l’arithmétique modulaire et sur un théorème vieux de 350 ans : le petit théorème de Fermat.

Le problème qu’on veut résoudre

Avec Vigenère ou César, Alice et Bob doivent partager une clé avant de pouvoir communiquer. Ils doivent s’être rencontrés, ou avoir utilisé un canal sûr pour échanger cette clé. Si tu veux comprendre pourquoi ces chiffres classiques finissent tous par céder, va lire l’article sur la cryptanalyse du chiffre de Vigenère : c’est la première moitié de l’histoire.

Le problème, c’est que dans la vraie vie, tu fais un achat sur un site que tu n’as jamais visité. Tu n’as jamais rencontré le vendeur, vous n’avez aucun canal sûr préalable. Pourtant, ton navigateur parvient à établir une communication chiffrée avec lui en quelques millisecondes. Comment ?

En 1976, Whitfield Diffie et Martin Hellman démontrent qu’une communication sécurisée sans échange préalable de clé est théoriquement possible. Ils posent les principes, mais pas la méthode concrète. Deux ans plus tard, Ronald Rivest, Adi Shamir et Leonard Adleman publient la première construction qui fonctionne. C’est RSA.

L’idée asymétrique

RSA repose sur une asymétrie volontaire. Chaque destinataire possède deux clés :

  • Une clé publique que tout le monde peut connaître. Elle sert à chiffrer les messages qu’on veut lui envoyer.
  • Une clé privée qu’il est seul à connaître. Elle sert à déchiffrer les messages qu’on lui a envoyés.

Les deux clés sont liées mathématiquement : ce que l’une chiffre, l’autre le déchiffre. Mais connaître la clé publique ne permet pas de retrouver la clé privée. C’est toute l’astuce.

Concrètement, Alice publie sa clé publique dans un annuaire. Bob, qui ne connaît pas Alice, récupère cette clé, chiffre son message avec, et envoie le résultat. Seule Alice, qui garde sa clé privée pour elle, peut déchiffrer. Même Eve, qui connaît la clé publique d’Alice aussi bien que Bob, ne peut rien tirer du message intercepté.

Sur le terrain mathématique, l’échange ressemble à ceci.

ANNUAIRE PUBLIC (n, e) Alice PUBLIQUE (n, e) PRIVÉE d 🔒 m = cd mod n Bob Message clair : m chiffre avec (n, e) : c = me mod n publie récupère c Eve intercepte (n, e) · c écoute, ne peut rien
L'échange RSA. Alice publie sa clé publique (n, e) dans un annuaire. Bob la récupère pour chiffrer son message m en c = me mod n. Alice seule peut déchiffrer, grâce à d qu'elle garde secrète. Eve voit transiter (n, e) et c mais ne peut pas calculer d sans factoriser n.

La construction de RSA, pas à pas

Voici la recette complète.

Étape 1 : deux grands nombres premiers. Alice choisit deux grands nombres premiers, notés pp et qq. Dans les applications réelles, ils font chacun environ 1000 bits, soit 300 chiffres décimaux. Pour raisonner proprement, on va utiliser des premiers minuscules comme p=11p = 11 et q=13q = 13.

Étape 2 : le module. Alice calcule n=p×qn = p \times q. Avec nos valeurs, n=143n = 143. Elle rendra ce nombre public.

Étape 3 : l’indicatrice d’Euler. Elle calcule φ(n)=(p1)(q1)\varphi(n) = (p-1)(q-1). Ici, φ(143)=10×12=120\varphi(143) = 10 \times 12 = 120. L’indicatrice d’Euler φ(n)\varphi(n) compte les entiers entre 1 et nn qui sont premiers avec nn. Quand n=pqn = pq avec pp et qq premiers distincts, cette formule se démontre facilement.

Étape 4 : l’exposant public. Elle choisit un entier ee premier avec φ(n)\varphi(n). Pour φ(n)=120=23×3×5\varphi(n) = 120 = 2^3 \times 3 \times 5, n’importe quel entier impair non divisible par 3 ni 5 fait l’affaire. Prenons e=7e = 7. Dans les implémentations réelles, on prend souvent e=65537e = 65537, pour des raisons d’efficacité du calcul.

Étape 5 : l’exposant privé. C’est l’étape la plus mathématique. Alice cherche dd tel que

e×d1(modφ(n))\displaystyle e \times d \equiv 1 \pmod{\varphi(n)}

Comme ee et φ(n)\varphi(n) sont premiers entre eux, le théorème de Bézout garantit l’existence d’un couple d’entiers (d,k)(d, k) vérifiant ed+kφ(n)=1e \cdot d + k \cdot \varphi(n) = 1. Autrement dit, dd est l’inverse modulaire de ee modulo φ(n)\varphi(n). L’algorithme d’Euclide étendu le calcule en quelques étapes. Pour e=7e = 7 et φ(n)=120\varphi(n) = 120, on trouve d=103d = 103 (vérification : 7×103=721=6×120+17 \times 103 = 721 = 6 \times 120 + 1).

  • Clé publique : le couple (n,e)=(143,7)(n, e) = (143, 7).
  • Clé privée : l’entier d=103d = 103 (Alice connaît aussi nn, qu’elle vient de calculer).

Alice publie (n,e)(n, e). Elle garde dd pour elle. Et surtout, elle détruit pp, qq et φ(n)\varphi(n) : si Eve les récupérait, toute la sécurité s’effondrerait.

Module n = p × q =
Indicatrice d'Euler φ(n) = (p−1)(q−1) =
Exposant privé d tel que e · d ≡ 1 (mod φ(n)), trouvé par Bézout
Clé publique (—, —)
Clé privée

Construction concrète d'une paire de clés RSA. Choisis deux premiers distincts pour p et q, puis un exposant public e premier avec φ(n). Le composant calcule automatiquement l'exposant privé d par l'algorithme d'Euclide étendu (théorème de Bézout).

Chiffrer et déchiffrer

Une fois les clés construites, les deux opérations sont d’une simplicité surprenante.

Chiffrement. Bob a un message qu’il veut envoyer à Alice. Pour simplifier, ce message est un entier mm strictement plus petit que nn. Bob récupère la clé publique (n,e)(n, e) et calcule

c=memodn\displaystyle c = m^e \bmod n

Il envoie cc à Alice.

Déchiffrement. Alice reçoit cc. Elle applique sa clé privée :

m=cdmodn\displaystyle m = c^d \bmod n

et elle retrouve le message original. Rien de plus.

Prenons notre triplet (n,e,d)=(143,7,103)(n, e, d) = (143, 7, 103) et un message m=9m = 9.

  • Chiffrement : c=97mod143=4782969mod143=48c = 9^7 \bmod 143 = 4\,782\,969 \bmod 143 = 48.
  • Déchiffrement : m=48103mod143=9m = 48^{103} \bmod 143 = 9. ✓

On retrouve bien le message original. Amuse-toi à essayer d’autres valeurs dans le composant ci-dessous.

Paire de clés utilisée : n = 143 · e = 7 · d = 103 (construite à partir de p = 11, q = 13 dans le composant ci-dessus)
Chiffrement
c = me mod n = 97 mod 143 =
Déchiffrement
m' = cd mod n = 103 mod 143 =
Voir les étapes de l'exponentiation rapide (carré-multiplication)

Chiffrement et déchiffrement RSA avec la paire (n=143, e=7, d=103). Le chiffrement est accessible à tout le monde, le déchiffrement n'est possible qu'avec d. Change la valeur de m pour expérimenter : dans tous les cas, le déchiffrement restitue le message original.

Pourquoi ça marche

Pourquoi (me)dm(modn)(m^e)^d \equiv m \pmod{n} ? Tout découle du petit théorème de Fermat, généralisé par Euler.

Le petit théorème de Fermat

Pour tout nombre premier pp et tout entier aa non divisible par pp,

ap11(modp)\displaystyle a^{p-1} \equiv 1 \pmod{p}

Ce théorème date de 1640. Il se démontre proprement en quelques lignes : on remarque que les entiers a,2a,3a,,(p1)aa, 2a, 3a, \dots, (p-1)a sont, modulo pp, une permutation de 1,2,,p11, 2, \dots, p-1 (parce que aa est inversible modulo pp). Le produit des deux listes donne donc la même valeur modulo pp, ce qui mène à ap1(p1)!(p1)!(modp)a^{p-1} \cdot (p-1)! \equiv (p-1)! \pmod p, puis à ap11a^{p-1} \equiv 1.

ap−1 mod p
Ordre de a
Divise p−1 ?

Le petit théorème de Fermat affirme que ap−1 ≡ 1 (mod p) dès que p est premier et que a n'est pas divisible par p. La ligne ci-dessus montre les puissances successives : la dernière case est toujours 1, quelle que soit la valeur de a. L'ordre de a est le plus petit exposant pour lequel on retombe sur 1 ; il divise toujours p−1 (théorème de Lagrange).

L’extension d’Euler

Euler généralise ce résultat à n’importe quel entier nn. Pour tout entier aa premier avec nn,

aφ(n)1(modn)\displaystyle a^{\varphi(n)} \equiv 1 \pmod{n}

Quand n=pqn = pq est un produit de deux premiers distincts, φ(n)=(p1)(q1)\varphi(n) = (p-1)(q-1), et on retrouve la formule qui apparaît dans la construction de RSA. Cette généralisation se démontre, mais la preuve dépasse le cadre d’un exposé de Grand oral. On l’admet, quitte à en esquisser l’idée si le jury la demande.

La preuve que RSA est correct

Par construction, ed1(modφ(n))e \cdot d \equiv 1 \pmod{\varphi(n)}. Il existe donc un entier kk tel que ed=1+kφ(n)e \cdot d = 1 + k \cdot \varphi(n). Alors

med=m1+kφ(n)=m(mφ(n))km1km(modn)\displaystyle m^{ed} = m^{1 + k\varphi(n)} = m \cdot \left(m^{\varphi(n)}\right)^k \equiv m \cdot 1^k \equiv m \pmod{n}

par le théorème d’Euler, à condition que mm soit premier avec nn. En pratique, c’est presque toujours le cas : les seuls mm qui posent problème sont les multiples de pp ou de qq, et ils représentent une proportion négligeable des messages possibles. Le cas pathologique se traite par le théorème des restes chinois et ne remet pas en cause le résultat.

Pourquoi c’est sûr : la difficulté de factoriser

Plaçons-nous à la place d’Eve. Elle intercepte cc, et elle connaît (n,e)(n, e) qui sont publics. Pour déchiffrer, il lui faut dd. Pour calculer dd, il lui faut φ(n)\varphi(n). Pour calculer φ(n)=(p1)(q1)\varphi(n) = (p-1)(q-1), il lui faut pp et qq. Pour trouver pp et qq, il lui faut factoriser nn.

C’est là que tient toute la sécurité de RSA : la factorisation des grands entiers est considérée comme un problème difficile. Si nn fait 2048 bits (environ 617 chiffres décimaux), tous les algorithmes classiques connus mettent un temps prohibitif à le factoriser.

Le graphique suivant résume trente ans de records de factorisation et les compare au seuil utilisé aujourd’hui pour HTTPS.

256 512 768 1024 2048 1990 1995 2000 2005 2010 2015 2020 2025 BITS (échelle log) ANNÉE RSA-2048 · sécurité actuelle RSA-100 330 bits RSA-129 429 bits RSA-155 512 bits RSA-200 663 bits RSA-768 768 bits RSA-250 829 bits ← marge de sécurité restante
Historique des records de factorisation RSA publiquement annoncés. En 2020, un effort colossal (2700 cœur-années de calcul) a permis de factoriser un nombre de 829 bits. Le seuil utilisé aujourd'hui pour sécuriser Internet, RSA-2048, reste bien au-dessus de tous les records connus. La marge entre la courbe bleue et la ligne verte en pointillé mesure la sécurité dont dispose encore RSA.

Aujourd’hui, les clés RSA utilisées pour sécuriser Internet font 2048 bits, parfois 3072 ou 4096 pour les applications les plus sensibles. La marge de sécurité reste confortable, mais elle s’érode à chaque record.

Factorise ce nombre
Temps écoulé : 0 s

La menace quantique

Depuis 1994, une menace précise pèse sur RSA. Cette année-là, Peter Shor publie un algorithme qui factorise les grands entiers en temps polynomial, à condition de disposer d’un ordinateur quantique suffisamment grand.

Personne ne possède encore une telle machine, capable de s’attaquer à des clés RSA réelles. Il faudrait plusieurs milliers de qubits logiques stables, et on plafonne aujourd’hui à quelques dizaines. Mais le jour où ces ordinateurs existeront, toute la cryptographie asymétrique actuelle s’effondrera d’un coup. Non seulement RSA, mais aussi les courbes elliptiques et Diffie-Hellman.

La communauté s’est préparée. En août 2024, le NIST publie les premiers standards de cryptographie post-quantique : CRYSTALS-Kyber pour l’échange de clés, CRYSTALS-Dilithium pour les signatures. Ces algorithmes reposent sur la difficulté supposée de problèmes de réseaux euclidiens, et non sur la factorisation. L’idée est de bâtir une cryptographie qui résistera à Shor, avant même que les ordinateurs quantiques correspondants ne deviennent réalité.

Une inquiétude persiste, derrière toute cette préparation : le scénario dit « harvest now, decrypt later », que l’on peut traduire par « récolter aujourd’hui, déchiffrer plus tard ». Certains acteurs enregistrent dès maintenant des communications chiffrées en RSA, en attendant d’avoir la machine qui leur permettra de les lire, dans quelques années ou quelques décennies. Si tes données doivent rester secrètes pendant trente ans, ne te repose pas uniquement sur RSA.

Pour prendre la mesure des ordres de grandeur, voici les tailles de clés des différents systèmes cryptographiques rencontrés dans cet article et dans la vraie vie :

16 64 128 256 512 1024 2048 4096 8192 BITS (ÉCHELLE LOGARITHMIQUE) Vigenère (clé-mot de 5 lettres) Tombe en une heure par analyse statistique. 23 bits AES-128 (chiffrement symétrique moderne) 2^128 clés possibles, force brute impraticable. 128 bits AES-256 Seuil recommandé pour données sensibles long terme. 256 bits RSA-2048 (HTTPS actuel) Le standard qui protège tes paiements en ligne. 2048 bits RSA-4096 (haute sécurité) Utilisé pour les applications les plus sensibles. 4096 bits One-time pad Clé aussi longue que le message, jamais réutilisée. ∞ (longueur du message)
Tailles des clés rencontrées dans les chiffrements historiques et modernes, en bits. L'échelle est logarithmique pour pouvoir comparer Vigenère (23 bits) et RSA-2048 (2048 bits) sur la même figure. Le one-time pad est un cas particulier : sa clé doit faire exactement la longueur du message et ne jamais être réutilisée, ce qui le rend théoriquement incassable mais impraticable à grande échelle.

Ton plan Grand oral, minute par minute

L’épreuve du Grand oral se déroule en deux temps de 10 minutes : un exposé en monologue, puis un échange avec le jury. Voici un plan calibré pour la phase d’exposé. RSA est un sujet ambitieux, dense en arithmétique, qui demande de tenir un rythme soutenu sans jamais bâcler une étape.

Petite frise chronologique

Ta checklist avant le passage

Vérifie que tu maîtrises

  • Tu sais définir chiffrement symétrique vs asymétrique, et dire pourquoi Vigenère est symétrique et RSA asymétrique
  • Tu sais énoncer le petit théorème de Fermat et comprendre son argument (permutation des a, 2a, ..., (p-1)a modulo p)
  • Tu sais énoncer la généralisation d'Euler : a^φ(n) ≡ 1 (mod n) quand a et n sont premiers entre eux
  • Tu sais construire une paire de clés RSA à partir de deux premiers : p, q, n, φ(n), e, d
  • Tu sais justifier l'existence de d par le théorème de Bézout
  • Tu sais démontrer la correction du déchiffrement : m^(ed) ≡ m (mod n)
  • Tu sais expliquer pourquoi la sécurité de RSA tient sur la difficulté de factoriser n
  • Tu connais un ordre de grandeur : RSA-2048 aujourd'hui, RSA-250 factorisé en 2020
  • Tu sais ce qu'est l'algorithme de Shor et pourquoi il menace RSA à long terme
  • Tu sais que la cryptographie post-quantique existe (standards NIST 2024)

Pour conclure

RSA est l’un des plus beaux ponts entre mathématiques pures et applications concrètes. Ce que Fermat découvre en 1640 en observant des propriétés des nombres premiers sert, près de 350 ans plus tard, à sécuriser des milliards de transactions financières chaque jour. Sans Fermat, pas d’Euler. Sans Euler, pas de RSA. Sans RSA, pas de commerce en ligne tel qu’on le connaît.

La leçon dépasse le Grand oral. Les mathématiques pures ont cette habitude déconcertante de devenir utiles bien longtemps après que leurs inventeurs les ont abandonnées. Quand Fermat jouait avec les congruences modulo un premier, il ne pouvait pas imaginer que ses observations deviendraient un jour l’infrastructure invisible du commerce mondial.

Si tu maîtrises la construction de RSA, la preuve appuyée sur Fermat généralisé par Euler, et la nuance sur la sécurité conjecturale, tu tiens un Grand oral de très bon niveau. Ambitieux, solidement arithmétique, et porteur d’une vraie leçon sur le rapport entre les mathématiques et le monde. C’est exactement ce qu’un jury espère sur un sujet de cette envergure.

Sources

  • Rivest, R. L., Shamir, A., Adleman, L. (1978). “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems”. Communications of the ACM, 21(2), pp. 120-126. (L’article fondateur.)
  • Diffie, W., Hellman, M. E. (1976). “New Directions in Cryptography”. IEEE Transactions on Information Theory, 22(6), pp. 644-654. (L’article qui pose l’idée de la cryptographie asymétrique sans en donner la construction.)
  • Shor, P. W. (1997). “Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer”. SIAM Journal on Computing, 26(5), pp. 1484-1509. (L’algorithme quantique qui menace RSA.)
  • NIST (2024). FIPS 203, FIPS 204, FIPS 205 : premiers standards post-quantiques. (Disponibles sur nist.gov.)
  • Stern, J. (1998). La science du secret. Odile Jacob. (Vulgarisation de référence en français, par un cryptographe français de premier plan.)
  • Singh, S. (1999). The Code Book. Anchor Books. (Vulgarisation grand public, excellent chapitre sur RSA.)