29template <
typename Fr,
typename G1>
31 const typename G1::affine_element& public_key,
34template <
typename Fr,
typename G1>
40 return lhs.
s == rhs.s && lhs.
e == rhs.e;
45 os <<
"{ " << sig.
s <<
", " << sig.
e <<
" }";
61#include "./schnorr.tcc"
std::ostream & operator<<(std::ostream &os, schnorr_signature const &sig)
void write(B &buf, schnorr_key_pair< grumpkin::fr, grumpkin::g1 > const &keypair)
void read(B &it, schnorr_key_pair< grumpkin::fr, grumpkin::g1 > &keypair)
schnorr_signature schnorr_construct_signature(const typename G1::Fq &message_field, const schnorr_key_pair< Fr, G1 > &account)
bool schnorr_verify_signature(const typename G1::Fq &message_field, const typename G1::affine_element &public_key, const schnorr_signature &sig)
bool operator==(schnorr_signature const &lhs, schnorr_signature const &rhs)
G1::affine_element public_key
SERIALIZATION_FIELDS(s, e)