Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <sha256_gadget.hpp>
Public Member Functions | |
sha256_compression_function_gadget (protoboard< FieldT > &pb, const pb_linear_combination_array< FieldT > &prev_output, const pb_variable_array< FieldT > &new_block, const digest_variable< FieldT > &output, const std::string &annotation_prefix) | |
void | generate_r1cs_constraints () |
void | generate_r1cs_witness () |
![]() | |
gadget (protoboard< FieldT > &pb, const std::string &annotation_prefix) | |
Public Attributes | |
std::vector< pb_linear_combination_array< FieldT > > | round_a |
std::vector< pb_linear_combination_array< FieldT > > | round_b |
std::vector< pb_linear_combination_array< FieldT > > | round_c |
std::vector< pb_linear_combination_array< FieldT > > | round_d |
std::vector< pb_linear_combination_array< FieldT > > | round_e |
std::vector< pb_linear_combination_array< FieldT > > | round_f |
std::vector< pb_linear_combination_array< FieldT > > | round_g |
std::vector< pb_linear_combination_array< FieldT > > | round_h |
pb_variable_array< FieldT > | packed_W |
std::shared_ptr< sha256_message_schedule_gadget< FieldT > > | message_schedule |
std::vector< sha256_round_function_gadget< FieldT > > | round_functions |
pb_variable_array< FieldT > | unreduced_output |
pb_variable_array< FieldT > | reduced_output |
std::vector< lastbits_gadget< FieldT > > | reduce_output |
pb_linear_combination_array< FieldT > | prev_output |
pb_variable_array< FieldT > | new_block |
digest_variable< FieldT > | output |
Additional Inherited Members | |
![]() | |
protoboard< FieldT > & | pb |
const std::string | annotation_prefix |
Gadget for the SHA256 compression function.
Definition at line 27 of file sha256_gadget.hpp.
libsnark::sha256_compression_function_gadget< FieldT >::sha256_compression_function_gadget | ( | protoboard< FieldT > & | pb, |
const pb_linear_combination_array< FieldT > & | prev_output, | ||
const pb_variable_array< FieldT > & | new_block, | ||
const digest_variable< FieldT > & | output, | ||
const std::string & | annotation_prefix | ||
) |
void libsnark::sha256_compression_function_gadget< FieldT >::generate_r1cs_constraints | ( | ) |
void libsnark::sha256_compression_function_gadget< FieldT >::generate_r1cs_witness | ( | ) |
std::shared_ptr<sha256_message_schedule_gadget<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::message_schedule |
Definition at line 40 of file sha256_gadget.hpp.
pb_variable_array<FieldT> libsnark::sha256_compression_function_gadget< FieldT >::new_block |
Definition at line 49 of file sha256_gadget.hpp.
digest_variable<FieldT> libsnark::sha256_compression_function_gadget< FieldT >::output |
Definition at line 50 of file sha256_gadget.hpp.
pb_variable_array<FieldT> libsnark::sha256_compression_function_gadget< FieldT >::packed_W |
Definition at line 39 of file sha256_gadget.hpp.
pb_linear_combination_array<FieldT> libsnark::sha256_compression_function_gadget< FieldT >::prev_output |
Definition at line 48 of file sha256_gadget.hpp.
std::vector<lastbits_gadget<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::reduce_output |
Definition at line 45 of file sha256_gadget.hpp.
pb_variable_array<FieldT> libsnark::sha256_compression_function_gadget< FieldT >::reduced_output |
Definition at line 44 of file sha256_gadget.hpp.
std::vector<pb_linear_combination_array<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::round_a |
Definition at line 30 of file sha256_gadget.hpp.
std::vector<pb_linear_combination_array<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::round_b |
Definition at line 31 of file sha256_gadget.hpp.
std::vector<pb_linear_combination_array<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::round_c |
Definition at line 32 of file sha256_gadget.hpp.
std::vector<pb_linear_combination_array<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::round_d |
Definition at line 33 of file sha256_gadget.hpp.
std::vector<pb_linear_combination_array<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::round_e |
Definition at line 34 of file sha256_gadget.hpp.
std::vector<pb_linear_combination_array<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::round_f |
Definition at line 35 of file sha256_gadget.hpp.
std::vector<sha256_round_function_gadget<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::round_functions |
Definition at line 41 of file sha256_gadget.hpp.
std::vector<pb_linear_combination_array<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::round_g |
Definition at line 36 of file sha256_gadget.hpp.
std::vector<pb_linear_combination_array<FieldT> > libsnark::sha256_compression_function_gadget< FieldT >::round_h |
Definition at line 37 of file sha256_gadget.hpp.
pb_variable_array<FieldT> libsnark::sha256_compression_function_gadget< FieldT >::unreduced_output |
Definition at line 43 of file sha256_gadget.hpp.