Clearmatics Libsnark  0.1
C++ library for zkSNARK proofs
Classes | Namespaces | Typedefs
weierstrass_g1_gadget.hpp File Reference
#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>
Include dependency graph for weierstrass_g1_gadget.hpp:
This graph shows which files directly or indirectly include this file:

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 > >
 

Detailed Description

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.

Author
This file is part of libsnark, developed by SCIPR Lab and contributors (see AUTHORS).

Definition in file weierstrass_g1_gadget.hpp.