Commit Graph

6 Commits

Author SHA1 Message Date
Ava Chow
258db93889 sign: Add CreateMuSig2AggregateSig 2025-09-30 11:06:43 -07:00
Ava Chow
512b17fc56 sign: Add CreateMuSig2Nonce 2025-09-30 11:06:43 -07:00
Ava Chow
82ea67c607 musig: Add MuSig2AggregatePubkeys variant that validates the aggregate
A common pattern that MuSig2 functions will use is to aggregate the
pubkeys to get the keyagg_cache and then validate the aggregated pubkey
against a provided aggregate pubkey. A variant of MuSig2AggregatePubkeys
is added which does that.

The functionality of GetMuSig2KeyAggCache and GetCPubKeyFromMuSig2KeyAggCache
are included in MuSig2AggregatePubkeys (and used internally) so there is
no expectation that callers will need these so they are made static.
2025-09-30 11:06:43 -07:00
Ava Chow
c06a1dc86f Add MuSig2SecNonce class for secure allocation of musig nonces 2025-09-30 11:06:43 -07:00
Ava Chow
f14876213a musig: Move synthetic xpub construction to its own function 2025-09-16 16:09:31 -07:00
Ava Chow
d00d95437d Add MuSig2 Keyagg Cache helper functions
secp256k1 provides us secp256k1_musig_keyagg_cache objects which we are
used as part of session info and to get the aggregate pubkey. These
helper functions help us convert to/from the secp256k1 C objects into
the Bitcoin Core C++ objects.
2025-06-11 11:11:48 -07:00