| 
    Clearmatics Libsnark
    0.1
    
   C++ library for zkSNARK proofs 
   | 
 
#include "libsnark/gadgetlib1/gadget.hpp"#include "libsnark/gadgetlib1/gadgets/curves/scalar_multiplication.hpp"#include "libsnark/gadgetlib1/gadgets/fields/fp2_gadgets.hpp"#include "libsnark/gadgetlib1/gadgets/pairing/pairing_params.hpp"#include <libff/algebra/curves/public_params.hpp>#include <libff/algebra/fields/fp2.hpp>#include <memory>#include <libsnark/gadgetlib1/gadgets/curves/weierstrass_g2_gadget.tcc>

Go to the source code of this file.
Classes | |
| class | libsnark::G2_variable< ppT > | 
| Gadget that represents a G2 variable.  More... | |
| class | libsnark::G2_variable_selector_gadget< ppT > | 
| class | libsnark::G2_checker_gadget< ppT > | 
| Gadget that creates constraints for the validity of a G2 variable.  More... | |
| class | libsnark::G2_add_gadget< wppT > | 
| Gadget to add 2 G2 points.  More... | |
| class | libsnark::G2_dbl_gadget< wppT > | 
| Double a G2 point.  More... | |
| class | libsnark::G2_equality_gadget< wppT > | 
| Check equality of 2 G2 points.  More... | |
Namespaces | |
| libsnark | |
Typedefs | |
| template<typename wppT , mp_size_t scalarLimbs> | |
| using | libsnark::G2_mul_by_const_scalar_gadget = point_mul_by_const_scalar_gadget< libff::G2< other_curve< wppT > >, G2_variable< wppT >, G2_add_gadget< wppT >, G2_dbl_gadget< wppT >, libff::bigint< scalarLimbs > > | 
| template<typename wppT > | |
| using | libsnark::G2_variable_or_identity = variable_or_identity< wppT, libff::G2< other_curve< wppT > >, G2_variable< wppT > > | 
| template<typename wppT > | |
| using | libsnark::G2_variable_or_identity_selector_gadget = variable_or_identity_selector< wppT, libff::G2< other_curve< wppT > >, G2_variable< wppT >, G2_variable_selector_gadget< wppT > > | 
| template<typename wppT > | |
| using | libsnark::G2_variable_and_variable_or_identity_selector_gadget = variable_and_variable_or_identity_selector< wppT, libff::G2< other_curve< wppT > >, G2_variable< wppT >, G2_variable_selector_gadget< wppT > > | 
| template<typename wppT > | |
| using | libsnark::G2_add_variable_or_identity_gadget = add_variable_or_identity< wppT, libff::G2< other_curve< wppT > >, G2_variable< wppT >, G2_variable_selector_gadget< wppT >, G2_add_gadget< wppT > > | 
| template<typename wppT > | |
| using | libsnark::G2_add_variable_and_variable_or_identity_gadget = add_variable_and_variable_or_identity< wppT, libff::G2< other_curve< wppT > >, G2_variable< wppT >, G2_variable_selector_gadget< wppT >, G2_add_gadget< wppT > > | 
| template<typename wppT > | |
| using | libsnark::G2_dbl_variable_or_identity_gadget = dbl_variable_or_identity< wppT, libff::G2< other_curve< wppT > >, G2_variable< wppT >, G2_dbl_gadget< wppT > > | 
| template<typename wppT > | |
| using | libsnark::G2_mul_by_scalar_gadget = point_mul_by_scalar_gadget< wppT, libff::G2< other_curve< wppT > >, G2_variable< wppT >, G2_variable_selector_gadget< wppT >, G2_add_gadget< wppT >, G2_dbl_gadget< wppT > > | 
Declaration of interfaces for G2 gadgets.
The gadgets verify curve arithmetic in G2 = E'(F) where E'/F^e: y^2 = x^3 + A' X + B' is an elliptic curve over F^e in short Weierstrass form.
Definition in file weierstrass_g2_gadget.hpp.
 1.8.17