Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
edwards_pp.hpp
Go to the documentation of this file.
1 
8 #ifndef EDWARDS_PP_HPP_
9 #define EDWARDS_PP_HPP_
15 
16 namespace libff
17 {
18 
20 {
21 public:
22  static const std::string name;
23 
33 
34  static const bool has_affine_pairing = false;
35 
36  static void init_public_params();
37  static edwards_GT final_exponentiation(const edwards_Fq6 &elt);
40  static edwards_Fq6 miller_loop(
41  const edwards_G1_precomp &prec_P, const edwards_G2_precomp &prec_Q);
43  const edwards_G1_precomp &prec_P1,
44  const edwards_G2_precomp &prec_Q1,
45  const edwards_G1_precomp &prec_P2,
46  const edwards_G2_precomp &prec_Q2);
47  /* the following are used in test files */
48  static edwards_Fq6 pairing(const edwards_G1 &P, const edwards_G2 &Q);
50  const edwards_G1 &P, const edwards_G2 &Q);
51 };
52 
53 } // namespace libff
54 #endif // EDWARDS_PP_HPP_
libff::edwards_pp::G2_precomp_type
edwards_G2_precomp G2_precomp_type
Definition: edwards_pp.hpp:28
libff::edwards_G2
Definition: edwards_g2.hpp:22
libff
Definition: ffi.cpp:8
libff::edwards_pp::Fp_type
edwards_Fr Fp_type
Definition: edwards_pp.hpp:24
libff::edwards_pp::init_public_params
static void init_public_params()
Definition: edwards_pp.cpp:15
edwards_g2.hpp
libff::edwards_pp::miller_loop
static edwards_Fq6 miller_loop(const edwards_G1_precomp &prec_P, const edwards_G2_precomp &prec_Q)
Definition: edwards_pp.cpp:32
libff::edwards_G2_precomp
edwards_ate_G2_precomp edwards_G2_precomp
Definition: edwards_pairing.hpp:113
libff::edwards_pp::G2_type
edwards_G2 G2_type
Definition: edwards_pp.hpp:26
libff::edwards_pp::precompute_G1
static edwards_G1_precomp precompute_G1(const edwards_G1 &P)
Definition: edwards_pp.cpp:22
libff::edwards_pp::name
static const std::string name
Definition: edwards_pp.hpp:22
libff::edwards_pp::Fq_type
edwards_Fq Fq_type
Definition: edwards_pp.hpp:29
libff::edwards_pp
Definition: edwards_pp.hpp:19
libff::edwards_pp::has_affine_pairing
static const bool has_affine_pairing
Definition: edwards_pp.hpp:34
libff::edwards_pp::reduced_pairing
static edwards_Fq6 reduced_pairing(const edwards_G1 &P, const edwards_G2 &Q)
Definition: edwards_pp.cpp:52
libff::edwards_pp::GT_type
edwards_GT GT_type
Definition: edwards_pp.hpp:32
edwards_init.hpp
libff::edwards_pp::G1_precomp_type
edwards_G1_precomp G1_precomp_type
Definition: edwards_pp.hpp:27
edwards_g1.hpp
libff::edwards_pp::double_miller_loop
static edwards_Fq6 double_miller_loop(const edwards_G1_precomp &prec_P1, const edwards_G2_precomp &prec_Q1, const edwards_G1_precomp &prec_P2, const edwards_G2_precomp &prec_Q2)
Definition: edwards_pp.cpp:38
public_params.hpp
libff::Fp3_model< edwards_q_limbs, edwards_modulus_q >
libff::edwards_pp::pairing
static edwards_Fq6 pairing(const edwards_G1 &P, const edwards_G2 &Q)
Definition: edwards_pp.cpp:47
libff::Fp_model
Definition: fp.hpp:20
libff::edwards_pp::precompute_G2
static edwards_G2_precomp precompute_G2(const edwards_G2 &Q)
Definition: edwards_pp.cpp:27
libff::edwards_pp::Fqe_type
edwards_Fq3 Fqe_type
Definition: edwards_pp.hpp:30
libff::edwards_ate_G1_precomp
Definition: edwards_pairing.hpp:83
libff::edwards_G1
Definition: edwards_g1.hpp:21
libff::edwards_pp::G1_type
edwards_G1 G1_type
Definition: edwards_pp.hpp:25
libff::Fp6_2over3_model
Definition: fp6_2over3.hpp:26
edwards_pairing.hpp
libff::edwards_pp::final_exponentiation
static edwards_GT final_exponentiation(const edwards_Fq6 &elt)
Definition: edwards_pp.cpp:17
libff::edwards_pp::Fqk_type
edwards_Fq6 Fqk_type
Definition: edwards_pp.hpp:31