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

#include <g_primitive.hpp>

Inheritance diagram for libzeth::g_primitive< FieldT >:
Inheritance graph
[legend]
Collaboration diagram for libzeth::g_primitive< FieldT >:
Collaboration graph
[legend]

Public Member Functions

 g_primitive (libsnark::protoboard< FieldT > &pb, libsnark::pb_variable_array< FieldT > a, libsnark::pb_variable_array< FieldT > b, libsnark::pb_variable_array< FieldT > c, libsnark::pb_variable_array< FieldT > d, libsnark::pb_variable_array< FieldT > x, libsnark::pb_variable_array< FieldT > y, libsnark::pb_variable_array< FieldT > a2, libsnark::pb_variable_array< FieldT > b2, libsnark::pb_variable_array< FieldT > c2, libsnark::pb_variable_array< FieldT > d2, const std::string &annotation_prefix="g_primitive_gadget")
 
void generate_r1cs_constraints ()
 
void generate_r1cs_witness ()
 

Detailed Description

template<typename FieldT>
class libzeth::g_primitive< FieldT >

g_primitive is the gadget implementing the mixing function G used in Blake2s. See: https://tools.ietf.org/html/rfc7693#section-3.1

Definition at line 20 of file g_primitive.hpp.

Constructor & Destructor Documentation

◆ g_primitive()

template<typename FieldT >
libzeth::g_primitive< FieldT >::g_primitive ( libsnark::protoboard< FieldT > &  pb,
libsnark::pb_variable_array< FieldT >  a,
libsnark::pb_variable_array< FieldT >  b,
libsnark::pb_variable_array< FieldT >  c,
libsnark::pb_variable_array< FieldT >  d,
libsnark::pb_variable_array< FieldT >  x,
libsnark::pb_variable_array< FieldT >  y,
libsnark::pb_variable_array< FieldT >  a2,
libsnark::pb_variable_array< FieldT >  b2,
libsnark::pb_variable_array< FieldT >  c2,
libsnark::pb_variable_array< FieldT >  d2,
const std::string &  annotation_prefix = "g_primitive_gadget" 
)

Member Function Documentation

◆ generate_r1cs_constraints()

template<typename FieldT >
void libzeth::g_primitive< FieldT >::generate_r1cs_constraints ( )

◆ generate_r1cs_witness()

template<typename FieldT >
void libzeth::g_primitive< FieldT >::generate_r1cs_witness ( )

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