Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
c_bind.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
10#include "multisig.hpp"
11
12extern "C" {
13
14using namespace bb;
17
20
21WASM_EXPORT void schnorr_construct_signature(uint8_t const* message, fr::in_buf private_key, out_buf32 s, out_buf32 e);
22
24 uint8_t const* message, affine_element::in_buf pub_key, in_buf32 sig_s, in_buf32 sig_e, bool* result);
25
27 multisig::MultiSigPublicKey::out_buf multisig_pubkey_buf);
28
30 multisig::MultiSigPublicKey::vec_in_buf signer_pubkey_buf, affine_element::out_buf combined_key_buf, bool* success);
31
33 multisig::RoundOnePublicOutput::out_buf round_one_public_output_buf,
34 multisig::RoundOnePrivateOutput::out_buf round_one_private_output_buf);
35
37 uint8_t const* message,
38 fq::in_buf private_key,
39 multisig::RoundOnePrivateOutput::in_buf signer_round_one_private_buf,
40 multisig::MultiSigPublicKey::vec_in_buf signer_pubkeys_buf,
41 multisig::RoundOnePublicOutput::vec_in_buf round_one_public_buf,
42 fq::out_buf round_two_buf,
43 bool* success);
44
46 multisig::MultiSigPublicKey::vec_in_buf signer_pubkeys_buf,
47 multisig::RoundOnePublicOutput::vec_in_buf round_one_buf,
48 fq::vec_in_buf round_two_buf,
49 out_buf32 s,
50 out_buf32 e,
51 bool* success);
52}
Implements the SpeedyMuSig protocol; a secure 2-round interactive multisignature scheme whose signatu...
Definition multisig.hpp:34
group_elements::affine_element< Fq, Fr, Params > affine_element
Definition group.hpp:42
WASM_EXPORT void schnorr_multisig_construct_signature_round_2(uint8_t const *message, fq::in_buf private_key, multisig::RoundOnePrivateOutput::in_buf signer_round_one_private_buf, multisig::MultiSigPublicKey::vec_in_buf signer_pubkeys_buf, multisig::RoundOnePublicOutput::vec_in_buf round_one_public_buf, fq::out_buf round_two_buf, bool *success)
WASM_EXPORT void schnorr_multisig_create_multisig_public_key(fq::in_buf private_key, multisig::MultiSigPublicKey::out_buf multisig_pubkey_buf)
WASM_EXPORT void schnorr_negate_public_key(affine_element::in_buf public_key_buffer, affine_element::out_buf output)
Definition c_bind.cpp:25
WASM_EXPORT void schnorr_multisig_combine_signatures(uint8_t const *message, multisig::MultiSigPublicKey::vec_in_buf signer_pubkeys_buf, multisig::RoundOnePublicOutput::vec_in_buf round_one_buf, fq::vec_in_buf round_two_buf, out_buf32 s, out_buf32 e, bool *success)
WASM_EXPORT void schnorr_construct_signature(uint8_t const *message, fr::in_buf private_key, out_buf32 s, out_buf32 e)
Definition c_bind.cpp:33
WASM_EXPORT void schnorr_multisig_validate_and_combine_signer_pubkeys(multisig::MultiSigPublicKey::vec_in_buf signer_pubkey_buf, affine_element::out_buf combined_key_buf, bool *success)
WASM_EXPORT void schnorr_multisig_construct_signature_round_1(multisig::RoundOnePublicOutput::out_buf round_one_public_output_buf, multisig::RoundOnePrivateOutput::out_buf round_one_private_output_buf)
WASM_EXPORT void schnorr_compute_public_key(fr::in_buf private_key, affine_element::out_buf public_key_buf)
Definition c_bind.cpp:18
WASM_EXPORT void schnorr_verify_signature(uint8_t const *message, affine_element::in_buf pub_key, in_buf32 sig_s, in_buf32 sig_e, bool *result)
Entry point for Barretenberg command-line interface.
uint8_t * out_buf32
uint8_t const * in_buf32
const uint8_t * in_buf
#define WASM_EXPORT