Zum Inhalt springen
ecdsa.com

Nonce (k bei ECDSA)

Eine nur einmal verwendete Zahl; bei ECDSA-, DSA- und Schnorr-Signaturen das geheime k jeder Signatur, das außerdem unvorhersagbar und gleichverteilt sein muss.
Auch geschrieben alsECDSA noncek valueper-message secret numberephemeral key k

Bei ECDSA wählt der Signierer k im Bereich 1…n−1, berechnet den Punkt kG und nimmt dessen x-Koordinate modulo n als r; dann ist s = k⁻¹·(z + r·d) mod n, wobei z der gekürzte Hash der Nachricht und d der private Schlüssel ist (FIPS 186-5 §6.4.1). Weil s sowohl in k als auch in d linear ist, genügt es, k einer einzigen Signatur zu kennen, um nach dem privaten Schlüssel aufzulösen: d = (s·k − z)·r⁻¹ mod n. FIPS 186-5 §6.3 verlangt deshalb für jede Signatur ein frisches k, das so geschützt wird wie der Schlüssel selbst.

Eine Wiederverwendung ist ebenso fatal und leicht zu erkennen: Zwei Signaturen unter demselben Schlüssel mit gleichem r ergeben k = (z₁ − z₂)·(s₁ − s₂)⁻¹ mod n und daraus d. So wurde 2010 der Signaturschlüssel der PlayStation 3 extrahiert, und so wurden viele Blockchain-Wallets geleert. Die Nonce muss sich nicht einmal wiederholen: Schon wenige Bits Verzerrung (Bias) oder Leckage pro Signatur, gesammelt über genügend Signaturen, reichen aus, damit Gitterreduktion das Hidden Number Problem löst und den Schlüssel rekonstruiert.

Moderne Bibliotheken leiten k deterministisch aus dem privaten Schlüssel und dem Hash der Nachricht ab (RFC 6979, zulässig nach FIPS 186-5 §6.3.2) oder nutzen eine Hedged-Variante, die frischen Zufall in dieselbe Ableitung einmischt. EdDSA baut die Idee in den Algorithmus ein: Die Nonce von Ed25519 ist SHA-512 über eine Hälfte des geheimen Schlüssels und die Nachricht (RFC 8032 §5.1.6). Der Nonce-Wiederverwendungs-Checker sucht in einer Menge von Signaturen nach wiederholten Werten von r.

Außerhalb von Signaturen bezeichnet „Nonce“ jeden Wert, der nur einmal verwendet wird: den 96-Bit-IV von AES-GCM, den Claim nonce von OpenID Connect, den Header Replay-Nonce von ACME. Diese Werte müssen eindeutig und frisch sein, aber nicht geheim; die Signatur-Nonce ist insofern ungewöhnlich, als sie beides braucht.

Standards und Quellen

Alle Begriffe