btcd/btcec/schnorr/musig2
Olaoluwa Osuntokun 743cbc8403
btcec/schnorr/musig2: add safer signing API with Session+Context
In this commit, we introduce an easier to use API for musig2 signing in
the Session and Context structs.

The Context struct represents a particular musig2 signing context which
is defined by the set of signers. The struct can be serialized to disk
as it contains no volatile information. A given context can be kept for
each signer in the final set.

The Session struct represents an ephemeral musig2 signing session. It
handles nonce generation, key aggregation, nonce combination, signature
combination, and final sig verification all in one API. The API also
protects against nonce generation by not exposing nonces to the end user
and also attempting to catch nonce re-use (assuming no process forking)
across sessions.
2022-04-28 16:19:53 -07:00
..
bench_test.go btcec/schnorr/musig2: add safer signing API with Session+Context 2022-04-28 16:19:53 -07:00
context.go btcec/schnorr/musig2: add safer signing API with Session+Context 2022-04-28 16:19:53 -07:00
keys.go btcec/schnorr/musig2: add safer signing API with Session+Context 2022-04-28 16:19:53 -07:00
musig2_test.go btcec/schnorr/musig2: add safer signing API with Session+Context 2022-04-28 16:19:53 -07:00
nonces.go btcec/schnorr/musig2: add safer signing API with Session+Context 2022-04-28 16:19:53 -07:00
sign.go btcec/schnorr/musig2: add safer signing API with Session+Context 2022-04-28 16:19:53 -07:00