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.