UltrafastSecp256k1 3.50.0
Ultra high-performance secp256k1 elliptic curve cryptography library
Loading...
Searching...
No Matches
musig2.hpp File Reference
#include <array>
#include <cstddef>
#include <cstdint>
#include <vector>
#include "secp256k1/scalar.hpp"
#include "secp256k1/point.hpp"

Go to the source code of this file.

Classes

struct  secp256k1::MuSig2KeyAggCtx
 
struct  secp256k1::MuSig2SecNonce
 
struct  secp256k1::MuSig2PubNonce
 
struct  secp256k1::MuSig2AggNonce
 
struct  secp256k1::MuSig2Session
 

Namespaces

namespace  secp256k1
 

Functions

MuSig2KeyAggCtx secp256k1::musig2_key_agg (const std::vector< std::array< std::uint8_t, 32 > > &pubkeys)
 
std::pair< MuSig2SecNonce, MuSig2PubNoncesecp256k1::musig2_nonce_gen (const fast::Scalar &secret_key, const std::array< std::uint8_t, 32 > &pub_key, const std::array< std::uint8_t, 32 > &agg_pub_key, const std::array< std::uint8_t, 32 > &msg, const std::uint8_t *extra_input=nullptr)
 
MuSig2AggNonce secp256k1::musig2_nonce_agg (const std::vector< MuSig2PubNonce > &pub_nonces)
 
MuSig2Session secp256k1::musig2_start_sign_session (const MuSig2AggNonce &agg_nonce, const MuSig2KeyAggCtx &key_agg_ctx, const std::array< std::uint8_t, 32 > &msg)
 
fast::Scalar secp256k1::musig2_partial_sign (MuSig2SecNonce &sec_nonce, const fast::Scalar &secret_key, const MuSig2KeyAggCtx &key_agg_ctx, const MuSig2Session &session, std::size_t signer_index)
 
bool secp256k1::musig2_partial_verify (const fast::Scalar &partial_sig, const MuSig2PubNonce &pub_nonce, const std::array< std::uint8_t, 32 > &pubkey, const MuSig2KeyAggCtx &key_agg_ctx, const MuSig2Session &session, std::size_t signer_index)
 
std::array< std::uint8_t, 64 > secp256k1::musig2_partial_sig_agg (const std::vector< fast::Scalar > &partial_sigs, const MuSig2Session &session)