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/pairing/pairing_params.hpp"
#include <libff/algebra/curves/public_params.hpp>
#include <libsnark/gadgetlib1/gadgets/curves/weierstrass_g1_gadget.tcc>
Go to the source code of this file.
Classes | |
class | libsnark::G1_variable< ppT > |
Gadget that represents a G1 variable. More... | |
class | libsnark::G1_variable_selector_gadget< ppT > |
class | libsnark::G1_checker_gadget< ppT > |
class | libsnark::G1_add_gadget< ppT > |
class | libsnark::G1_dbl_gadget< ppT > |
class | libsnark::G1_multiscalar_mul_gadget< ppT > |
Namespaces | |
libsnark | |
Typedefs | |
template<typename wppT , mp_size_t scalarLimbs> | |
using | libsnark::G1_mul_by_const_scalar_gadget = point_mul_by_const_scalar_gadget< libff::G1< other_curve< wppT > >, G1_variable< wppT >, G1_add_gadget< wppT >, G1_dbl_gadget< wppT >, libff::bigint< scalarLimbs > > |
template<typename wppT > | |
using | libsnark::G1_variable_or_identity = variable_or_identity< wppT, libff::G1< other_curve< wppT > >, G1_variable< wppT > > |
template<typename wppT > | |
using | libsnark::G1_variable_or_identity_selector_gadget = variable_or_identity_selector< wppT, libff::G1< other_curve< wppT > >, G1_variable< wppT >, G1_variable_selector_gadget< wppT > > |
template<typename wppT > | |
using | libsnark::G1_variable_and_variable_or_identity_selector_gadget = variable_and_variable_or_identity_selector< wppT, libff::G1< other_curve< wppT > >, G1_variable< wppT >, G1_variable_selector_gadget< wppT > > |
template<typename wppT > | |
using | libsnark::G1_add_variable_or_identity_gadget = add_variable_or_identity< wppT, libff::G1< other_curve< wppT > >, G1_variable< wppT >, G1_variable_selector_gadget< wppT >, G1_add_gadget< wppT > > |
template<typename wppT > | |
using | libsnark::G1_add_variable_and_variable_or_identity_gadget = add_variable_and_variable_or_identity< wppT, libff::G1< other_curve< wppT > >, G1_variable< wppT >, G1_variable_selector_gadget< wppT >, G1_add_gadget< wppT > > |
template<typename wppT > | |
using | libsnark::G1_dbl_variable_or_identity_gadget = dbl_variable_or_identity< wppT, libff::G1< other_curve< wppT > >, G1_variable< wppT >, G1_dbl_gadget< wppT > > |
template<typename wppT > | |
using | libsnark::G1_mul_by_scalar_gadget = point_mul_by_scalar_gadget< wppT, libff::G1< other_curve< wppT > >, G1_variable< wppT >, G1_variable_selector_gadget< wppT >, G1_add_gadget< wppT >, G1_dbl_gadget< wppT > > |
Declaration of interfaces for G1 gadgets.
The gadgets verify curve arithmetic in G1 = E(F) where E/F: y^2 = x^3 + A * X + B is an elliptic curve over F in short Weierstrass form.
Definition in file weierstrass_g1_gadget.hpp.