Cryptology Academy · Leçon

Signatures RSA : signer et vérifier

Suivez les étapes mathématiques de la signature d’une empreinte de document avec une clé privée.

Leçon 2 sur 413 étapes

Signatures RSA : signer et vérifier est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 2 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

Les signatures RSA inversent le rôle des clés : la clé privée signe et la clé publique vérifie. Ainsi, toute personne peut vérifier votre identité à l'aide de votre clé publique.

Mathématiques de la signature RSA

Pour signer le message M avec la clé privée (d, n) : 1. H = SHA256(M) 2. sig = H^d mod n La signature est un nombre dont la longueur en bits est identique à celle de n.

Mathématiques de la vérification RSA

Pour vérifier la signature sig avec la clé publique (e, n) : 1. H' = sig^e mod n 2. H = SHA256(M) 3. Valide si H == H' Toute personne possédant la clé publique peut vérifier la signature ; aucun secret n'est nécessaire.

Bourrage des signatures PKCS#1 v1.5

Les signatures RSA brutes sont malléables. PKCS#1 v1.5 ajoute un bourrage au hachage avant la signature : 0x00 0x01 [0xFF padding] 0x00 [DigestInfo] [Hash] La vérification contrôle la structure exacte du bourrage.

RSA-PSS : un meilleur bourrage

RSA-PSS (schéma de signature probabiliste) utilise un sel aléatoire, ce qui rend chaque signature différente, même pour un même message. Sa sécurité est démontrable dans le modèle de l'oracle aléatoire. Il est préférable à PKCS#1 v1.5.

Signature RSA en Python (PSS)

from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives import hashes signature = private_key.sign( message, padding.PSS( mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH ), hashes.SHA256() )

Vérification RSA en Python

try: public_key.verify( signature, message, padding.PSS( mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH ), hashes.SHA256() ) print('Valid!') except InvalidSignature: print('Invalid!')

Longueur des signatures

Signature RSA-2048 : 256 octets. RSA-4096 : 512 octets. Signature ECDSA-256 : environ 71 octets (codage DER de longueur variable). La signature contient le résultat complet de l'exponentiation modulaire.

Signatures aveugles

Une signature aveugle permet au signataire de signer un message sans en voir le contenu. Elle est utilisée pour le vote électronique et la monnaie électronique : la banque signe un jeton masqué, puis l'utilisateur le démasque, produisant une monnaie non traçable.

Signature RSA dans une chaîne de certificats

Let's Encrypt signe le certificat de votre serveur avec la clé privée RSA de sa CA intermédiaire. La clé publique de votre serveur figure dans le corps du certificat. Les clients TLS vérifient automatiquement cette chaîne.

Transparence des certificats

Certificate Transparency enregistre tous les certificats délivrés dans un arbre de Merkle vérifiable cryptographiquement. Les horodatages de certificat signés (SCT) prouvent l'inclusion dans le journal avant la délivrance.

Vérification rapide

Lors de la vérification d'une signature RSA, quelle clé est utilisée pour vérifier la signature ?

Récapitulatif

Les signatures RSA sont sûres lorsqu'un bourrage approprié est utilisé. Nous allons maintenant comparer les schémas de signature RSA, DSA et ECDSA.
Gratuit pour commencer

Apprends Cryptology Academy avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
67
Leçons
261

Questions Fréquemment Posées

La leçon « Signatures RSA : signer et vérifier » est-elle gratuite ?

Oui — le texte complet de « Signatures RSA : signer et vérifier » 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 « Signatures RSA : signer et vérifier » ?

Suivez les étapes mathématiques de la signature d’une empreinte de document avec une clé privée. 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 2 sur 4.

Combien de temps prend la leçon « Signatures RSA : signer et vérifier » ?

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. Qu’est-ce qu’une signature numérique ?
  2. Signatures RSA : signer et vérifier
  3. Schémas de signature DSA et ECDSA
  4. Les signatures en pratique : signature de code et e-mails
← Retour à Cryptology Academy