0Pricing
Cryptology Academy · Leçon

Mathématiques du chiffrement et du déchiffrement RSA

Appliquez l’exponentiation modulaire pour chiffrer et déchiffrer un message.

Mathématiques du chiffrement et du déchiffrement RSA est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 3 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

Maintenant que les clés RSA sont générées, nous allons les utiliser. Le chiffrement et le déchiffrement sont tous deux des exponentiations modulaires — faciles à calculer, mais irréalisables à inverser sans la clé privée.

Chiffrement RSA théorique

Chiffrez le message M (sous forme d'entier) avec la clé publique (e, n) : C = M^e mod n Exemple : M=42, e=17, n=3233 C = 42^17 mod 3233 Python: C = pow(42, 17, 3233) = 2557

Déchiffrement RSA théorique

Déchiffrez le texte chiffré C avec la clé privée (d, n) : M = C^d mod n C=2557, d=2753, n=3233 M = 2557^2753 mod 3233 Python: M = pow(2557, 2753, 3233) = 42 ✓

Pourquoi cela fonctionne : le théorème d'Euler

C^d mod n = (M^e)^d mod n = M^(ed) mod n. Since ed ≡ 1 (mod φ(n)), M^(ed) = M^(1+k×φ(n)) = M × (M^φ(n))^k ≡ M × 1^k = M.

Algorithme carré-et-multiplication

Un calcul naïf de M^e nécessiterait e multiplications. La méthode carré-et-multiplication réduit ce nombre à O(log e) multiplications : pow(base, exp, mod) in Python uses this automatically.

Limitation de la taille des messages

Le RSA théorique exige M < n. Avec RSA-2048, M peut mesurer au maximum 256 octets. Cela convient pour chiffrer une courte clé AES, mais pas pour chiffrer directement de gros fichiers.

Pourquoi le RSA théorique n'est pas sûr

Problèmes du RSA brut : 1. Même M toujours → même C (déterministe) 2. Petite valeur de M avec petit e : C = M^e littéralement (aucune réduction modulaire) 3. Multiplicatif : Enc(M1)×Enc(M2) = Enc(M1×M2) Les schémas de remplissage résolvent tous ces problèmes.

Chiffrement RSA en Python (OAEP)

from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives import hashes ciphertext = public_key.encrypt( b'Secret message', padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) )

Déchiffrement RSA en Python

plaintext = private_key.decrypt( ciphertext, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) print(plaintext) # b'Secret message'

Modèle hybride RSA + AES

# Real-world pattern: aes_key = os.urandom(32) # Random 256-bit AES key encrypted_key = rsa_encrypt(aes_key, recipient_pub) # RSA ciphertext = aes_gcm_encrypt(aes_key, plaintext) # AES # Send: encrypted_key + ciphertext

Performances de RSA

Chiffrement RSA-2048 (public) : environ 0,1 ms. Déchiffrement RSA-2048 (privé) : environ 1 ms. AES-256-GCM : environ 100 MB/s. Le chiffrement hybride combine la vitesse d'échange de clés de RSA avec le débit de traitement des données d'AES.

Vérification rapide

Avec le RSA théorique et e=3, n=33, quel est le chiffrement de M=5 ?

Récapitulatif

Les mathématiques du chiffrement et du déchiffrement RSA sont maintenant claires. Nous allons ensuite voir comment RSA protège HTTPS, SSH et la signature de code dans le monde réel.

Questions Fréquemment Posées

La leçon « Mathématiques du chiffrement et du déchiffrement RSA » est-elle gratuite ?

Oui — le texte complet de « Mathématiques du chiffrement et du déchiffrement RSA » 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 « Mathématiques du chiffrement et du déchiffrement RSA » ?

Appliquez l’exponentiation modulaire pour chiffrer et déchiffrer un message. 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 3 sur 4.

Combien de temps prend la leçon « Mathématiques du chiffrement et du déchiffrement RSA » ?

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. Concepts de la cryptographie à clé publique
  2. Génération d’une clé RSA étape par étape
  3. Mathématiques du chiffrement et du déchiffrement RSA
  4. Cas d’utilisation réels de RSA et tailles de clés
← Retour à Cryptology Academy