etscrivner / rbsecp256k1

Compiled Ruby wrapper around libsecp256k1 for secp256k1 ECDSA.
The Unlicense
19 stars 13 forks source link

Support for Schnorr Signatures #44

Closed etscrivner closed 1 year ago

etscrivner commented 5 years ago

It should be possible to integrate with libsecp256k1-zkp in order to provide Schnorr signature support from within this library.

Should investigate what this might entail and how it might change the structure and contents of the library.

etscrivner commented 5 years ago

It appears that the only new header file relevant to a basic implementation of schnorr signatures is secp256k1_schnorrsig.h. Which contains 5 methods overall as well as a new signature storage data structure.

Initially, the easiest way to support this would be to add a new module, Secp256k1::Schnorr that can largely reuse keys from the base package (e.g. Secp256k1::PublicKey and Secp256k1::PrivateKey). It would need its own Signature class and would require the addition of new methods to the Context interface to support signing and verification.

etscrivner commented 1 year ago

Support for this is merged and will be added to the 6.0.0 release.