5 #ifndef __ZETH_CIRCUITS_MIMC_MIMC_INPUT_HASHER_HPP__
6 #define __ZETH_CIRCUITS_MIMC_MIMC_INPUT_HASHER_HPP__
8 #include <libsnark/gadgetlib1/gadget.hpp>
16 template<
typename FieldT,
typename compFnT>
21 libsnark::pb_variable<FieldT> _result;
24 std::vector<std::shared_ptr<compFnT>> _compression_functions;
27 libsnark::pb_variable_array<FieldT> _intermediate_values;
31 libsnark::protoboard<FieldT> &pb,
32 const libsnark::pb_linear_combination_array<FieldT> &inputs,
33 const libsnark::pb_variable<FieldT> hash_output,
34 const std::string &annotation_prefix);
40 static FieldT
compute_hash(
const std::vector<FieldT> &values);
47 #endif // __ZETH_CIRCUITS_MIMC_MIMC_INPUT_HASHER_HPP__