9#include "../../primitives/byte_array/byte_array.hpp"
10#include "../../primitives/circuit_builders/circuit_builders_fwd.hpp"
20 if (
r.get_context() !=
nullptr) {
21 return r.get_context();
24 if (
s.get_context() !=
nullptr) {
25 return s.get_context();
32template <
typename Builder,
typename Curve,
typename Fq,
typename Fr,
typename G1>
35 const ecdsa_signature<Builder>& sig);
37template <
typename Builder,
typename Curve,
typename Fq,
typename Fr,
typename G1>
40 const ecdsa_signature<Builder>& sig);
Represents a dynamic array of bytes in-circuit.
void generate_ecdsa_verification_test_circuit(Builder &builder, size_t num_iterations)
Generate a simple ecdsa verification circuit for testing purposes.
bool_t< Builder > ecdsa_verify_signature(const stdlib::byte_array< Builder > &hashed_message, const G1 &public_key, const ecdsa_signature< Builder > &sig)
Verify ECDSA signature. Returns bool_t(true/false) depending on whether the signature is valid or not...
void validate_inputs(const stdlib::byte_array< Builder > &hashed_message, const G1 &public_key, const ecdsa_signature< Builder > &sig)
Validate the inputs used by the verification function and return messages if they produce an invalid ...
stdlib::byte_array< Builder > s
Builder * get_context() const
stdlib::byte_array< Builder > r