Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
schnorr.hpp File Reference

Go to the source code of this file.

Classes

struct  bb::stdlib::schnorr_signature_bits< C >
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 
namespace  bb::stdlib
 

Functions

template<typename C >
schnorr_signature_bits< Cbb::stdlib::schnorr_convert_signature (C *context, const crypto::schnorr_signature &signature)
 Instantiate a witness containing the signature (s, e) as a quadruple of field_t elements (s_lo, s_hi, e_lo, e_hi).
 
template<typename C >
std::array< field_t< C >, 2 > bb::stdlib::schnorr_verify_signature_internal (const byte_array< C > &message, const cycle_group< C > &pub_key, const schnorr_signature_bits< C > &sig)
 Make the computations needed to verify a signature (s, e), i.e., compute e' = hash(([s]g + [e]pub).x | message) and return e'.
 
template<typename C >
void bb::stdlib::schnorr_verify_signature (const byte_array< C > &message, const cycle_group< C > &pub_key, const schnorr_signature_bits< C > &sig)
 Verify that a signature (s, e) is valid, i.e., compute e' = hash(([s]g + [e]pub).x | message) and check that e' == e is true.
 
template<typename C >
bool_t< Cbb::stdlib::schnorr_signature_verification_result (const byte_array< C > &message, const cycle_group< C > &pub_key, const schnorr_signature_bits< C > &sig)
 Attempt to verify a signature (s, e) and return the result, i.e., compute e' = hash(([s]g + [e]pub).x | message) and return the boolean witness e' == e.