Zum Inhalt springen
ecdsa.com

Schnorr-Signatur

Ein Signaturverfahren auf Basis des diskreten Logarithmus (Claus Schnorr, 1989), dessen Antwort s = r + e·x linear im Schlüssel ist; das ermöglicht einfache Sicherheitsbeweise, Batch-Prüfung und native Multisignaturen.
Auch geschrieben alsSchnorr signaturesSchnorr signature scheme

Mit einer geheimen Nonce r, dem Commitment R = r·G, der Challenge e = H(R ‖ P ‖ m) und dem privaten Schlüssel x ist die Signatur (R, s) mit s = r + e·x mod n; der Verifizierer prüft s·G = R + e·P. Das Verfahren ist die Fiat-Shamir-Transformation eines Identifikationsprotokolls und unter der Annahme des diskreten Logarithmus im Random-Oracle-Modell beweisbar unfälschbar. Schnorrs Patent hielt es bis zu seinem Ablauf 2008 aus Standards heraus; deshalb wurden DSA und ECDSA so entworfen, dass sie es umgehen.

EdDSA ist ein Schnorr-Verfahren auf Edwards-Kurven mit deterministischen Nonces. BIP-340 von Bitcoin (mit Taproot im November 2021 aktiviert) definiert 64-Byte-Schnorr-Signaturen über secp256k1 mit öffentlichen Schlüsseln im x-only-Format (32 Byte) und Tagged Hashes; Nostr nutzt dasselbe Verfahren.

Weil sich Signaturen addieren lassen, können n Signierer eine einzige Signatur unter einem aggregierten Schlüssel erzeugen: MuSig2 (BIP-327) für n-aus-n und FROST (RFC 9591) für t-aus-n. Im Vergleich zu ECDSA gibt es keine modulare Inverse, keine Malleability über s/n − s, sobald die Kodierung festgelegt ist, und die Batch-Prüfung ist günstig. Die Regel für die Nonce bleibt gleich: Wird r für zwei Nachrichten wiederverwendet, verrät das x.

Standards und Quellen

Alle Begriffe