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
13
15{
16 grumpkin::g1::affine_element pub_key = grumpkin::g1::one * private_key;
17 crypto::schnorr_key_pair<grumpkin::fr, grumpkin::g1> key_pair = { private_key, pub_key };
18
19 std::string message_str(reinterpret_cast<const char*>(message.data()), message.size());
20 auto sig = crypto::schnorr_construct_signature<crypto::Blake2sHasher, grumpkin::fq>(message_str, key_pair);
21
22 return { sig.s, sig.e };
23}
24
26{
27 std::string message_str(reinterpret_cast<const char*>(message.data()), message.size());
28 crypto::schnorr_signature sig = { s, e };
29
30 bool result = crypto::schnorr_verify_signature<crypto::Blake2sHasher, grumpkin::fq, grumpkin::fr, grumpkin::g1>(
31 message_str, public_key, sig);
32
33 return { result };
34}
35
36} // namespace bb::bbapi
Schnorr signature command definitions for the Barretenberg RPC API.
static constexpr element one
Definition group.hpp:46
#define BB_UNUSED
Response execute(BBApiRequest &request) &&
Response execute(BBApiRequest &request) &&
Response execute(BBApiRequest &request) &&