0Pricing
Cryptology Academy · Leçon

Schémas de signature DSA et ECDSA

Comparez les signatures RSA à DSA et à sa variante à courbes elliptiques.

Schémas de signature DSA et ECDSA 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

DSA et ECDSA sont des schémas de signature alternatifs reposant sur la difficulté du logarithme discret. ECDSA domine les systèmes modernes grâce à ses clés plus petites et à ses opérations plus rapides.

Présentation de DSA

DSA (NIST, 1994) utilise un groupe cyclique d'ordre premier q dans Z*p. Génération des clés : clé privée x ; clé publique y = g^x mod p. Norme : p sur 2048 bits, q sur 256 bits.

Algorithme de signature DSA

1. Générez une valeur aléatoire à usage unique k (1 < k < q) 2. r = (g^k mod p) mod q 3. s = k^(-1) × (Hash(M) + x×r) mod q 4. Signature : (r, s)

Vérification DSA

1. u1 = Hash(M) × s^(-1) mod q 2. u2 = r × s^(-1) mod q 3. v = (g^u1 × y^u2 mod p) mod q 4. Valide si v == r

Vulnérabilité liée à la valeur unique DSA

Si la même valeur k est utilisée deux fois, les deux signatures partagent r. À partir de deux paires (r,s1) et (r,s2), la clé privée x peut être calculée directement. Cela a détruit la sécurité de la PlayStation 3 (k=1 était utilisé à chaque fois).

Présentation d'ECDSA

ECDSA est une instanciation de DSA sur un groupe de courbe elliptique plutôt que sur Z*p. La courbe fournit une sécurité équivalente avec des paramètres beaucoup plus petits : ECDSA-256 ≈ DSA-3072 en matière de sécurité.

ECDSA en Python

from cryptography.hazmat.primitives.asymmetric import ec from cryptography.hazmat.primitives import hashes private_key = ec.generate_private_key(ec.SECP256R1()) sig = private_key.sign(message, ec.ECDSA(hashes.SHA256())) public_key = private_key.public_key() public_key.verify(sig, message, ec.ECDSA(hashes.SHA256()))

ECDSA déterministe (RFC 6979)

RFC 6979 dérive k de manière déterministe à partir de la clé privée et du hachage du message. Cela élimine la dépendance à un générateur aléatoire et rend impossible la réutilisation d'une valeur unique. Toutes les implémentations modernes utilisent RFC 6979.

EdDSA : Ed25519

Ed25519 (DSA sur courbe d'Edwards) utilise la forme tordue d'Edwards de Curve25519. Déterministe par conception. À temps constant. Plus rapide qu'ECDSA. Recommandé pour les nouveaux protocoles (clés SSH, TLS 1.3, Signal).

Comparaison de la taille des clés

Signature RSA-2048 : 256 octets. Signature ECDSA-256 : environ 71 octets. Signature Ed25519 : 64 octets. Clé publique Ed25519 : 32 octets. Cette différence de taille est importante pour les appareils aux ressources limitées.

Courbes normalisées

NIST P-256 (secp256r1) : TLS, conformité FIPS. secp256k1 : Bitcoin, Ethereum. Curve25519/Ed25519 : Signal, WireGuard, versions récentes de SSH. Brainpool : certaines normes européennes.

Vérification rapide

Quelle vulnérabilité catastrophique est introduite si une valeur unique k de DSA/ECDSA est réutilisée ?

Récapitulatif

Vous comprenez maintenant DSA, ECDSA et Ed25519. Nous allons ensuite étudier comment les signatures numériques protègent les applications réelles : signature de code et courrier électronique.

Questions Fréquemment Posées

La leçon « Schémas de signature DSA et ECDSA » est-elle gratuite ?

Oui — le texte complet de « Schémas de signature DSA et ECDSA » 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 « Schémas de signature DSA et ECDSA » ?

Comparez les signatures RSA à DSA et à sa variante à courbes elliptiques. 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 « Schémas de signature DSA et ECDSA » ?

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