barretenberg
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
crypto::schnorr::multisig< G1, HashRegNon, HashSig >::MultiSigPublicKey Struct Reference

MultiSigPublicKey wraps a signer's public key g1::affine_element along with a proof of posession: a signature whose message is the public key, signed by the corresponding private key. More...

#include <multisig.hpp>

Public Types

typedef uint8_t const * in_buf
 
typedef uint8_t const * vec_in_buf
 
typedef uint8_t * out_buf
 
typedef uint8_t ** vec_out_buf
 

Public Member Functions

 MSGPACK_FIELDS (public_key, proof_of_possession)
 
 MultiSigPublicKey (const key_pair &account)
 
 MultiSigPublicKey (const affine_element &public_key, const ProofOfPossession< G1, HashRegNon > &proof_of_possession)
 

Public Attributes

affine_element public_key = G1::affine_point_at_infinity
 
ProofOfPossession< G1, HashRegNon > proof_of_possession
 

Detailed Description

template<typename G1, typename HashRegNon, typename HashSig = Blake2sHasher>
struct crypto::schnorr::multisig< G1, HashRegNon, HashSig >::MultiSigPublicKey

MultiSigPublicKey wraps a signer's public key g1::affine_element along with a proof of posession: a signature whose message is the public key, signed by the corresponding private key.

This is to prevent attacks where an attacker presents a key that they do not know the secret to (e.g. the attacker public key is a linear combination of other public keys)


The documentation for this struct was generated from the following file: