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.