DSA

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

Portail > Algorithmes

DSA (Digital Signature Algorithm) est un schéma de signature fondé sur le logarithme discret, normalisé par le NIST. Aujourd'hui largement supplanté par ECDSA et EdDSA, il reste important à comprendre pour son piège du nonce.

Clés

Paramètres : des premiers p, q et un générateur g.

  • Clé privée : x.
  • Clé publique : y = gˣ mod p.

Signature

Pour signer le condensé H(m), on tire un aléa k par signature et on produit un couple (r, s) :

r = (gᵏ mod p) mod q
s = k⁻¹ · (H(m) + x·r) mod q

La vérification utilise la clé publique y pour recalculer r.

Le piège du nonce k

Le k de chaque signature doit être secret, unique et imprévisible. Toute faiblesse est fatale :

  • Réutiliser k pour deux signatures permet de retrouver la clé privée x par simple algèbre.
  • Un k biaisé ou partiellement prévisible suffit également à reconstituer x.

Ce défaut a causé des compromissions réelles (clés de signature extraites de consoles, de portefeuilles…). La parade moderne est le nonce déterministe (RFC 6979), qui dérive k de la clé et du message — approche poussée plus loin par EdDSA.

Statut

  • Le DSA classique (sur log discret modulaire) est déprécié au profit des courbes elliptiques.
  • Clés plus grandes et signatures moins efficaces qu'en ECDSA/EdDSA.
  • À ne plus déployer pour de nouveaux systèmes.

Sécurité

Points clés à retenir

  • Signature fondée sur le log discret ; couple (r, s).
  • Nonce k critique : réutilisation ou biais ⇒ récupération de la clé privée.
  • Parade : nonce déterministe (RFC 6979).
  • Déprécié → préférer ECDSA ou EdDSA.

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