Schnorr
Schnorr is one of signature schemes supported natively in Plutus, together with ed25519 and ECDSA. In particular, the natively supported ECDSA algorithm works over curve SECP256k1, enabling support for Bitcoin's and Ethereum's native signatures. Schnorr signature scheme is also adopted by MuSig2 (Simple Two-Round Schnorr Multisignatures) which will be integrated to Hydra.
Implementation and binding
We currently relly in Bitcoin's implementation available in secp256k1. We have analysed, and recommend, bindings in the following languages:
- Haskell: Available in cardano-base
MuSig2
This API also relies on secp256k1 that is compatible with BIP-340 producing 64-byte Schnorr signatures.
- C: Available in musig2. Note that this API is still in progress.