|
Clearmatics Libsnark
0.1
C++ library for zkSNARK proofs
|
#include <exponentiation_gadget.hpp>


Public Types | |
| typedef FpkT::my_Fp | FieldT |
Public Member Functions | |
| exponentiation_gadget (protoboard< FieldT > &pb, const Fpk_variableT< FpkT > &elt, const libff::bigint< m > &power, const Fpk_variableT< FpkT > &result, const std::string &annotation_prefix) | |
| void | generate_r1cs_constraints () |
| void | generate_r1cs_witness () |
Public Member Functions inherited from libsnark::gadget< FpkT::my_Fp > | |
| gadget (protoboard< FpkT::my_Fp > &pb, const std::string &annotation_prefix) | |
Public Attributes | |
| std::vector< long > | NAF |
| std::vector< std::shared_ptr< Fpk_variableT< FpkT > > > | intermediate |
| std::vector< std::shared_ptr< Fpk_mul_gadgetT< FpkT > > > | addition_steps |
| std::vector< std::shared_ptr< Fpk_mul_gadgetT< FpkT > > > | subtraction_steps |
| std::vector< std::shared_ptr< Fpk_sqr_gadgetT< FpkT > > > | doubling_steps |
| Fpk_variableT< FpkT > | elt |
| libff::bigint< m > | power |
| Fpk_variableT< FpkT > | result |
| size_t | intermed_count |
| size_t | add_count |
| size_t | sub_count |
| size_t | dbl_count |
Additional Inherited Members | |
Protected Attributes inherited from libsnark::gadget< FpkT::my_Fp > | |
| protoboard< FpkT::my_Fp > & | pb |
| const std::string | annotation_prefix |
The exponentiation gadget verifies field exponentiation in the field F_{p^k}.
Note that the power is a constant (i.e., hardcoded into the gadget).
Definition at line 38 of file exponentiation_gadget.hpp.
| typedef FpkT::my_Fp libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::FieldT |
Definition at line 41 of file exponentiation_gadget.hpp.
| libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::exponentiation_gadget | ( | protoboard< FieldT > & | pb, |
| const Fpk_variableT< FpkT > & | elt, | ||
| const libff::bigint< m > & | power, | ||
| const Fpk_variableT< FpkT > & | result, | ||
| const std::string & | annotation_prefix | ||
| ) |
| void libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::generate_r1cs_constraints | ( | ) |
| void libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::generate_r1cs_witness | ( | ) |
| size_t libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::add_count |
Definition at line 54 of file exponentiation_gadget.hpp.
| std::vector<std::shared_ptr<Fpk_mul_gadgetT<FpkT> > > libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::addition_steps |
Definition at line 45 of file exponentiation_gadget.hpp.
| size_t libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::dbl_count |
Definition at line 56 of file exponentiation_gadget.hpp.
| std::vector<std::shared_ptr<Fpk_sqr_gadgetT<FpkT> > > libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::doubling_steps |
Definition at line 47 of file exponentiation_gadget.hpp.
| Fpk_variableT<FpkT> libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::elt |
Definition at line 49 of file exponentiation_gadget.hpp.
| size_t libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::intermed_count |
Definition at line 53 of file exponentiation_gadget.hpp.
| std::vector<std::shared_ptr<Fpk_variableT<FpkT> > > libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::intermediate |
Definition at line 44 of file exponentiation_gadget.hpp.
| std::vector<long> libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::NAF |
Definition at line 42 of file exponentiation_gadget.hpp.
| libff::bigint<m> libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::power |
Definition at line 50 of file exponentiation_gadget.hpp.
| Fpk_variableT<FpkT> libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::result |
Definition at line 51 of file exponentiation_gadget.hpp.
| size_t libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::sub_count |
Definition at line 55 of file exponentiation_gadget.hpp.
| std::vector<std::shared_ptr<Fpk_mul_gadgetT<FpkT> > > libsnark::exponentiation_gadget< FpkT, Fpk_variableT, Fpk_mul_gadgetT, Fpk_sqr_gadgetT, m >::subtraction_steps |
Definition at line 46 of file exponentiation_gadget.hpp.
1.8.17