Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bbapi_schnorr.cpp
Go to the documentation of this file.
1
6
7namespace bb::bbapi {
8
10{
11 return { grumpkin::g1::element(grumpkin::g1::one).mul_const_time(private_key).to_affine_const_time() };
12}
13
15{
17 grumpkin::g1::element(grumpkin::g1::one).mul_const_time(private_key).to_affine_const_time();
18 crypto::schnorr_key_pair<grumpkin::fr, grumpkin::g1> key_pair = { private_key, pub_key };
19
20 auto sig = crypto::schnorr_construct_signature<grumpkin::fr, grumpkin::g1>(message_field, key_pair);
21 crypto::secure_erase_bytes(&key_pair.private_key, sizeof(key_pair.private_key));
22
23 return { sig.s, sig.e };
24}
25
27{
28 crypto::schnorr_signature sig = { s, e };
29
30 bool result = crypto::schnorr_verify_signature<grumpkin::fr, grumpkin::g1>(message_field, public_key, sig);
31
32 return { result };
33}
34
35} // namespace bb::bbapi
Schnorr signature command definitions for the Barretenberg RPC API.
static constexpr element one
Definition group.hpp:48
group_elements::element< Fq, Fr, Params > element
Definition group.hpp:43
#define BB_UNUSED
void secure_erase_bytes(void *ptr, size_t size)
Definition hmac.hpp:18
Response execute(BBApiRequest &request) &&
Response execute(BBApiRequest &request) &&
Response execute(BBApiRequest &request) &&