RSA

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche

Portail > Algorithmes

RSA (Rivest-Shamir-Adleman, 1977) est le premier algorithme à clé publique largement déployé. Il assure chiffrement et signature, et repose sur la difficulté de la factorisation des grands entiers.

Génération des clés

  1. Choisir deux grands premiers p et q.
  2. Calculer le module n = p·q et φ(n) = (p−1)(q−1).
  3. Choisir un exposant public e (typiquement 65537).
  4. Calculer l'exposant privé d = e⁻¹ mod φ(n).

Clé publique : (n, e). Clé privée : (n, d). La sécurité tient au fait que retrouver d exige de factoriser n.

Chiffrement et signature

  • Chiffrement : c = mᵉ mod n ; déchiffrement : m = cᵈ mod n.
  • Signature : on applique d au condensé du message ; vérification avec e.

Les deux opérations sont inverses l'une de l'autre, mais répondent à des usages distincts.

Remplissage : indispensable

Ne jamais utiliser RSA « brut » (textbook). Sans remplissage, RSA est déterministe et attaquable. Il faut un schéma sûr :

Usage Schéma Remarque
Chiffrement OAEP Recommandé.
Chiffrement PKCS#1 v1.5 Hérité, sensible aux attaques (Bleichenbacher).
Signature PSS Recommandé (probabiliste).
Signature PKCS#1 v1.5 Encore courant, mais PSS préférable.

Tailles de clés

RSA produit des clés et des signatures volumineuses et des calculs lents, surtout en signature/déchiffrement — d'où la tendance à lui préférer l'ECDSA/EdDSA sur courbes elliptiques.

Usage pratique

RSA chiffre rarement des données directement : il sert à protéger une clé de session (chiffrement hybride) ou à signer (certificats).

openssl genrsa -out key.pem 3072
openssl rsa -in key.pem -pubout -out pub.pem
# Signature PSS
openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sign key.pem -out sig fichier

Sécurité

Points clés à retenir

  • Fondé sur la factorisation ; clé publique (n,e), privée (n,d), e souvent 65537.
  • Chiffrement et signature, mais jamais sans remplissage (OAEP / PSS).
  • ≥ 2048 bits ; lent et volumineux → souvent remplacé par l'ECC.
  • Sert surtout à protéger une clé de session ou à signer.

Voir aussi

Cryptographie asymétrique — Portail
Fondamentaux Principe · Problèmes difficiles · Usages
Algorithmes RSA · Diffie-Hellman et ECDH · ElGamal · DSA · ECDSA · EdDSA
Sécurité Tailles de clés · Attaques · Post-quantique