36 std::array<uint8_t, 32>
s;
39 std::array<uint8_t, 32>
e;
43template <
typename Hash,
typename Fq,
typename Fr,
typename G1>
45 const typename G1::affine_element& public_key,
48template <
typename Hash,
typename Fq,
typename Fr,
typename G1>
53 return lhs.
s == rhs.
s && lhs.
e == rhs.
e;
58 os <<
"{ " << sig.
s <<
", " << sig.
e <<
" }";
74#include "./schnorr.tcc"
schnorr_signature schnorr_construct_signature(const std::string &message, const schnorr_key_pair< Fr, G1 > &account)
void read(B &it, SchnorrProofOfPossession< G1, Hash > &proof_of_possession)
void write(B &buf, SchnorrProofOfPossession< G1, Hash > const &proof_of_possession)
bool schnorr_verify_signature(const std::string &message, const typename G1::affine_element &public_key, const schnorr_signature &sig)
bool operator==(ecdsa_signature const &lhs, ecdsa_signature const &rhs)
std::ostream & operator<<(std::ostream &os, ecdsa_signature const &sig)
G1::affine_element public_key
std::array< uint8_t, 32 > s
std::array< uint8_t, 32 > e