| 
    Clearmatics Libsnark
    0.1
    
   C++ library for zkSNARK proofs 
   | 
 
 
 
 
Go to the documentation of this file.
   45 #ifndef KNAPSACK_GADGET_HPP_ 
   46 #define KNAPSACK_GADGET_HPP_ 
   64 template<
typename FieldT>
 
   68     static std::vector<FieldT> knapsack_coefficients;
 
   69     static size_t num_cached_coefficients;
 
   90     static std::vector<FieldT> 
get_hash(
const libff::bit_vector &input);
 
   99 template<
typename FieldT>
 
  111     std::shared_ptr<knapsack_CRH_with_field_out_gadget<FieldT>> 
hasher;
 
  141 #endif // KNAPSACK_GADGET_HPP_ 
  
const std::string annotation_prefix
 
void generate_r1cs_witness()
 
static size_t get_digest_len()
 
protoboard< FieldT > & pb
 
static const size_t dimension
 
block_variable< FieldT > input_block
 
static void sample_randomness(const size_t input_len)
 
digest_variable< FieldT > output_digest
 
knapsack_CRH_with_bit_out_gadget(protoboard< FieldT > &pb, const size_t input_len, const block_variable< FieldT > &input_block, const digest_variable< FieldT > &output_digest, const std::string &annotation_prefix)
 
static void sample_randomness(const size_t input_len)
 
knapsack_CRH_with_field_out_gadget(protoboard< FieldT > &pb, const size_t input_len, const block_variable< FieldT > &input_block, const pb_linear_combination_array< FieldT > &output, const std::string &annotation_prefix)
 
pb_linear_combination_array< FieldT > output
 
static size_t expected_constraints()
 
void test_knapsack_CRH_with_bit_out_gadget()
 
pb_linear_combination_array< FieldT > output
 
block_variable< FieldT > input_block
 
std::shared_ptr< knapsack_CRH_with_field_out_gadget< FieldT > > hasher
 
libff::bit_vector hash_value_type
 
static std::vector< FieldT > get_hash(const libff::bit_vector &input)
 
void generate_r1cs_witness()
 
static size_t get_block_len()
 
merkle_authentication_path merkle_authentication_path_type
 
static size_t get_block_len()
 
void generate_r1cs_constraints()
 
static hash_value_type get_hash(const libff::bit_vector &input)
 
std::vector< merkle_authentication_node > merkle_authentication_path
 
void generate_r1cs_constraints(const bool enforce_bitness=true)
 
static size_t get_digest_len()
 
static size_t expected_constraints(const bool enforce_bitness=true)