Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Public Member Functions | Public Attributes | List of all members
libsnark::sha256_message_schedule_gadget< FieldT > Class Template Reference

#include <sha256_components.hpp>

Inheritance diagram for libsnark::sha256_message_schedule_gadget< FieldT >:
Inheritance graph
[legend]
Collaboration diagram for libsnark::sha256_message_schedule_gadget< FieldT >:
Collaboration graph
[legend]

Public Member Functions

 sha256_message_schedule_gadget (protoboard< FieldT > &pb, const pb_variable_array< FieldT > &M, const pb_variable_array< FieldT > &packed_W, const std::string &annotation_prefix)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 
- Public Member Functions inherited from libsnark::gadget< FieldT >
 gadget (protoboard< FieldT > &pb, const std::string &annotation_prefix)
 

Public Attributes

std::vector< pb_variable_array< FieldT > > W_bits
 
std::vector< std::shared_ptr< packing_gadget< FieldT > > > pack_W
 
std::vector< pb_variable< FieldT > > sigma0
 
std::vector< pb_variable< FieldT > > sigma1
 
std::vector< std::shared_ptr< small_sigma_gadget< FieldT > > > compute_sigma0
 
std::vector< std::shared_ptr< small_sigma_gadget< FieldT > > > compute_sigma1
 
std::vector< pb_variable< FieldT > > unreduced_W
 
std::vector< std::shared_ptr< lastbits_gadget< FieldT > > > mod_reduce_W
 
pb_variable_array< FieldT > M
 
pb_variable_array< FieldT > packed_W
 

Additional Inherited Members

- Protected Attributes inherited from libsnark::gadget< FieldT >
protoboard< FieldT > & pb
 
const std::string annotation_prefix
 

Detailed Description

template<typename FieldT>
class libsnark::sha256_message_schedule_gadget< FieldT >

Definition at line 30 of file sha256_components.hpp.

Constructor & Destructor Documentation

◆ sha256_message_schedule_gadget()

template<typename FieldT >
libsnark::sha256_message_schedule_gadget< FieldT >::sha256_message_schedule_gadget ( protoboard< FieldT > &  pb,
const pb_variable_array< FieldT > &  M,
const pb_variable_array< FieldT > &  packed_W,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldT >
void libsnark::sha256_message_schedule_gadget< FieldT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename FieldT >
void libsnark::sha256_message_schedule_gadget< FieldT >::generate_r1cs_witness ( )

Member Data Documentation

◆ compute_sigma0

template<typename FieldT >
std::vector<std::shared_ptr<small_sigma_gadget<FieldT> > > libsnark::sha256_message_schedule_gadget< FieldT >::compute_sigma0

Definition at line 38 of file sha256_components.hpp.

◆ compute_sigma1

template<typename FieldT >
std::vector<std::shared_ptr<small_sigma_gadget<FieldT> > > libsnark::sha256_message_schedule_gadget< FieldT >::compute_sigma1

Definition at line 39 of file sha256_components.hpp.

◆ M

template<typename FieldT >
pb_variable_array<FieldT> libsnark::sha256_message_schedule_gadget< FieldT >::M

Definition at line 44 of file sha256_components.hpp.

◆ mod_reduce_W

template<typename FieldT >
std::vector<std::shared_ptr<lastbits_gadget<FieldT> > > libsnark::sha256_message_schedule_gadget< FieldT >::mod_reduce_W

Definition at line 41 of file sha256_components.hpp.

◆ pack_W

template<typename FieldT >
std::vector<std::shared_ptr<packing_gadget<FieldT> > > libsnark::sha256_message_schedule_gadget< FieldT >::pack_W

Definition at line 34 of file sha256_components.hpp.

◆ packed_W

template<typename FieldT >
pb_variable_array<FieldT> libsnark::sha256_message_schedule_gadget< FieldT >::packed_W

Definition at line 45 of file sha256_components.hpp.

◆ sigma0

template<typename FieldT >
std::vector<pb_variable<FieldT> > libsnark::sha256_message_schedule_gadget< FieldT >::sigma0

Definition at line 36 of file sha256_components.hpp.

◆ sigma1

template<typename FieldT >
std::vector<pb_variable<FieldT> > libsnark::sha256_message_schedule_gadget< FieldT >::sigma1

Definition at line 37 of file sha256_components.hpp.

◆ unreduced_W

template<typename FieldT >
std::vector<pb_variable<FieldT> > libsnark::sha256_message_schedule_gadget< FieldT >::unreduced_W

Definition at line 40 of file sha256_components.hpp.

◆ W_bits

template<typename FieldT >
std::vector<pb_variable_array<FieldT> > libsnark::sha256_message_schedule_gadget< FieldT >::W_bits

Definition at line 33 of file sha256_components.hpp.


The documentation for this class was generated from the following file: