0Pricing
Cryptology Academy · Leçon

RSA théorique et raisons de son insécurité

Démontrez la malléabilité, les attaques à petit exposant et les vulnérabilités liées à e=3.

RSA théorique et raisons de son insécurité est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Bienvenue

Le RSA brut (exponentiation modulaire brute) présente plusieurs vulnérabilités critiques. Dans cette leçon, nous étudions chaque attaque et comprenons pourquoi le bourrage est indispensable.

Attaque par déterminisme

Le RSA brut est déterministe : Enc(M) produit toujours le même C. Un attaquant peut chiffrer des messages candidats et les comparer au texte chiffré cible. Cela compromet la confidentialité lorsque l’espace des messages est restreint.

Malléabilité

RSA est malléable par multiplication : Enc(M1) × Enc(M2) = Enc(M1×M2) mod n. Un attaquant peut multiplier un texte chiffré par Enc(2) = 2^e, forçant le texte en clair à doubler sans connaître la clé.

Attaque des petits messages (e=3)

Si e=3 et M < n^(1/3) : C = M^3 mod n = M^3 (aucune réduction modulaire). Extraire la racine cubique de C donne directement M. Utilisez toujours RSA avec bourrage et vérifiez que M est suffisamment grand.

Attaque de Coppersmith

Coppersmith a montré que si e=3 et que l’attaquant connaît une grande partie de M (par exemple, M = YYYY-MM-DD...[unknown portion]), la factorisation polynomiale peut retrouver les bits inconnus. Les textes en clair courts et remplis de manière insuffisante sont vulnérables.

Attaque par diffusion de Håstad

Si le même M est envoyé à 3 destinataires utilisant chacun e=3, alors, grâce au CRT, C1,C2,C3 déterminent M^3 mod (n1×n2×n3). Extraire directement la racine cubique donne M. Ne chiffrez jamais le même texte en clair avec e=3 pour plusieurs destinataires.

Attaque de Franklin-Reiter par messages liés

Si deux messages M1 et M2 sont liés linéairement (M2 = aM1+b) et sont tous deux chiffrés avec la même clé, cette relation peut être exploitée pour retrouver M1 et M2. Le bourrage avec des octets aléatoires empêche cette attaque.

Attaque du module commun

Si deux serveurs partagent n, mais utilisent des valeurs différentes e1,e2 avec GCD(e1,e2)=1, et chiffrent tous deux le même M, alors M peut être retrouvé à l’aide de l’algorithme d’Euclide étendu. Ne partagez jamais de modules entre plusieurs entités.

Attaque temporelle contre le déchiffrement RSA

La durée du déchiffrement RSA dépend des bits de la clé privée (l’exponentiation par élévations au carré et multiplications varie selon chaque bit). L’attaque temporelle de Kocher, en 1996, mesurait les durées de déchiffrement pour retrouver les clés privées. Solution : l’aveuglement.

Défense par aveuglement RSA

Avant le déchiffrement : C' = C × r^e mod n (multiplication par le facteur d’aveuglement aléatoire r^e). Calculez M' = C'^d mod n. M = M' × r^(-1) mod n. La durée dépend alors de r, et non de M : l’attaquant n’observe que des mesures bruitées.

La correction fondamentale : le bourrage aléatoire

Toutes les attaques contre le RSA brut ont une correction commune : le bourrage aléatoire. PKCS#1 v1.5 a ajouté de l’aléa. OAEP a apporté une sécurité démontrable. Avec un bourrage correct, aucune des attaques précédentes ne fonctionne.

Vérification rapide

Quelle propriété du RSA brut permet à un attaquant de vérifier si un texte chiffré contient un message précis ?

Récapitulatif

Le RSA brut est dangereusement peu sûr. Nous étudions ensuite le bourrage PKCS#1 v1.5 : sa conception, son utilisation et l’attaque de Bleichenbacher qui l’a compromis.

Questions Fréquemment Posées

La leçon « RSA théorique et raisons de son insécurité » est-elle gratuite ?

Oui — le texte complet de « RSA théorique et raisons de son insécurité » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « RSA théorique et raisons de son insécurité » ?

Démontrez la malléabilité, les attaques à petit exposant et les vulnérabilités liées à e=3. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « RSA théorique et raisons de son insécurité » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. RSA théorique et raisons de son insécurité
  2. Bourrage PKCS#1 v1.5 et Bleichenbacher
  3. OAEP : bourrage optimal pour le chiffrement asymétrique
  4. RSA-PSS pour les signatures numériques
← Retour à Cryptology Academy