Warum wurde Schnorr der secp256k1-Bibliothek anstelle einer separaten Bibliothek hinzugefügt?

Schnorr-Signaturen werden oft als den Elliptic-Curve-Signaturen überlegen verglichen. Warum haben die Entwickler dann Schnorr zur Bibliothek hinzugefügtlibsecp256k1 , die, wie der Name schon sagt, eine Bibliothek für elliptische Kurven ist ?

Warum nicht eine separate C-Bibliothek erstellen? Oder ist die Schnorr-Signatur Teil der Elliptic-Curve-Signaturgruppe?

Danke

Antworten (1)

Ja, das BIP340-Signaturschema, das zu libsecp256k1 hinzugefügt wurde, ist eine auf Elliptic Curve basierende Variante von Schnorr-Signaturen. Traditionell verwenden Schnorr-Signaturen eine Gruppe ganzzahliger Multiplikationen modulo einer großen Primzahl, aber das wird hier nicht verwendet. Es ist in libsecp256k1 integriert, da es sich um ein Schnorr-Schema über der Gruppe secp256k1 handelt, sodass viel Code zwischen ECDSA und Schnorr geteilt wird.

Halten alle Vorteile von Schnorr auch dann noch, wenn es eine nicht traditionelle Elliptic Curve-Implementierung verwendet?
"Schnorr-Signaturen" ist kein vollständig spezifiziertes Schema; Es handelt sich um eine allgemeine Klasse von Algorithmen für digitale Signaturen mit vielen möglichen Variationen. Alle Vorteile des BIP340-Schemas gegenüber ECDSA gelten offensichtlich – das Schema wurde speziell dafür entwickelt!
@PieterWuille, was sind die Vorteile gegenüber secp256k1 anstelle der normalen großen Primzahl?
@Ron Du meinst, Schnorr über eine ganzzahlige Multiplikationsgruppe zu verwenden? Das hat alle Nachteile, die solche Gruppen haben: Sie benötigen etwa 3000-Bit-Schlüssel und -Signaturen für ein ähnliches Sicherheitsniveau, sie sind viel langsamer und sie benötigen eine ganz andere Sicherheitsannahme als die, auf die sich Bitcoin bereits stützt (DL-Härte von secp256k1). .