Aller au contenu
ecdsa.com

Signature Schnorr

Un schéma de signature fondé sur le logarithme discret (Claus Schnorr, 1989), dont la réponse s = r + e·x est linéaire en la clé, ce qui permet des preuves de sécurité simples, la vérification par lots et des multisignatures natives.
Autres graphiesSchnorr signaturesSchnorr signature scheme

Avec un nonce secret r, l’engagement R = r·G, le challenge e = H(R ‖ P ‖ m) et la clé privée x, la signature est (R, s) avec s = r + e·x mod n ; le vérificateur contrôle que s·G = R + e·P. C’est la transformée de Fiat–Shamir d’un protocole d’identification, et elle est prouvée infalsifiable sous l’hypothèse du logarithme discret dans le modèle de l’oracle aléatoire. Le brevet de Schnorr l’a tenue à l’écart des normes jusqu’à son expiration en 2008, ce qui explique pourquoi DSA et ECDSA ont été conçus pour le contourner.

EdDSA est un schéma Schnorr sur courbes d’Edwards à nonces déterministes. BIP-340 de Bitcoin (activé avec Taproot en novembre 2021) définit des signatures Schnorr de 64 octets sur secp256k1, avec des clés publiques x-only de 32 octets et des hachages étiquetés ; Nostr utilise le même schéma.

Comme les signatures s’additionnent, n signataires peuvent produire une seule signature pour une seule clé agrégée : MuSig2 (BIP-327) pour un schéma n sur n et FROST (RFC 9591) pour t sur n. Par rapport à ECDSA, il n’y a pas d’inverse modulaire, pas de malléabilité s/n − s une fois l’encodage fixé, et la vérification par lots est peu coûteuse. La règle du nonce est la même : réutiliser r pour deux messages révèle x.

Normes et références

Tous les termes