Zeth - Zerocash on Ethereum  0.8
Reference implementation of the Zeth protocol by Clearmatics
Public Member Functions | Static Public Member Functions | List of all members
libzeth::mimc_input_hasher< FieldT, compFnT > Class Template Reference

#include <mimc_input_hasher.hpp>

Inheritance diagram for libzeth::mimc_input_hasher< FieldT, compFnT >:
Inheritance graph
[legend]
Collaboration diagram for libzeth::mimc_input_hasher< FieldT, compFnT >:
Collaboration graph
[legend]

Public Member Functions

 mimc_input_hasher (libsnark::protoboard< FieldT > &pb, const libsnark::pb_linear_combination_array< FieldT > &inputs, const libsnark::pb_variable< FieldT > hash_output, const std::string &annotation_prefix)
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness () const
 

Static Public Member Functions

static FieldT get_iv ()
 
static FieldT compute_hash (const std::vector< FieldT > &values)
 

Detailed Description

template<typename FieldT, typename compFnT>
class libzeth::mimc_input_hasher< FieldT, compFnT >

Given a list of variables, hash the variables to a value which can be used as a public input bound to the original variables.

Definition at line 17 of file mimc_input_hasher.hpp.

Constructor & Destructor Documentation

◆ mimc_input_hasher()

template<typename FieldT , typename compFnT >
libzeth::mimc_input_hasher< FieldT, compFnT >::mimc_input_hasher ( libsnark::protoboard< FieldT > &  pb,
const libsnark::pb_linear_combination_array< FieldT > &  inputs,
const libsnark::pb_variable< FieldT >  hash_output,
const std::string &  annotation_prefix 
)

Member Function Documentation

◆ compute_hash()

template<typename FieldT , typename compFnT >
static FieldT libzeth::mimc_input_hasher< FieldT, compFnT >::compute_hash ( const std::vector< FieldT > &  values)
static

◆ generate_r1cs_constraints()

template<typename FieldT , typename compFnT >
void libzeth::mimc_input_hasher< FieldT, compFnT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename FieldT , typename compFnT >
void libzeth::mimc_input_hasher< FieldT, compFnT >::generate_r1cs_witness ( ) const

◆ get_iv()

template<typename FieldT , typename compFnT >
static FieldT libzeth::mimc_input_hasher< FieldT, compFnT >::get_iv ( )
static

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