| 
    Zeth - Zerocash on Ethereum
    0.8
    
   Reference implementation of the Zeth protocol by Clearmatics 
   | 
 
#include <prf.hpp>


Public Member Functions | |
| PRF_addr_a_pk_gadget (libsnark::protoboard< FieldT > &pb, const libsnark::pb_variable< FieldT > &ZERO, const libsnark::pb_variable_array< FieldT > &a_sk, std::shared_ptr< libsnark::digest_variable< FieldT >> result, const std::string &annotation_prefix=" add_PRF_gadget") | |
  Public Member Functions inherited from libzeth::PRF_gadget< FieldT, HashT > | |
| PRF_gadget (libsnark::protoboard< FieldT > &pb, const libsnark::pb_variable_array< FieldT > &x, const libsnark::pb_variable_array< FieldT > &y, std::shared_ptr< libsnark::digest_variable< FieldT >> result, const std::string &annotation_prefix="PRF_gadget") | |
| void | generate_r1cs_constraints () | 
| void | generate_r1cs_witness () | 
PRF to generate the public addresses a_pk = blake2sCompress("1100" || [a_sk]_252 || 0^256): See ZCash protocol specification paper, page 57
| libzeth::PRF_addr_a_pk_gadget< FieldT, HashT >::PRF_addr_a_pk_gadget | ( | libsnark::protoboard< FieldT > & | pb, | 
| const libsnark::pb_variable< FieldT > & | ZERO, | ||
| const libsnark::pb_variable_array< FieldT > & | a_sk, | ||
| std::shared_ptr< libsnark::digest_variable< FieldT >> | result, | ||
| const std::string & | annotation_prefix = " add_PRF_gadget"  | 
        ||
| ) | 
 1.8.17