Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
edwards_pp.cpp
Go to the documentation of this file.
1 
9 
10 namespace libff
11 {
12 
13 const std::string edwards_pp::name("edwards");
14 
16 
18 {
19  return edwards_final_exponentiation(elt);
20 }
21 
23 {
24  return edwards_precompute_G1(P);
25 }
26 
28 {
29  return edwards_precompute_G2(Q);
30 }
31 
33  const edwards_G1_precomp &prec_P, const edwards_G2_precomp &prec_Q)
34 {
35  return edwards_miller_loop(prec_P, prec_Q);
36 }
37 
39  const edwards_G1_precomp &prec_P1,
40  const edwards_G2_precomp &prec_Q1,
41  const edwards_G1_precomp &prec_P2,
42  const edwards_G2_precomp &prec_Q2)
43 {
44  return edwards_double_miller_loop(prec_P1, prec_Q1, prec_P2, prec_Q2);
45 }
46 
48 {
49  return edwards_pairing(P, Q);
50 }
51 
53  const edwards_G1 &P, const edwards_G2 &Q)
54 {
55  return edwards_reduced_pairing(P, Q);
56 }
57 
58 } // namespace libff
libff::edwards_G2
Definition: edwards_g2.hpp:22
libff
Definition: ffi.cpp:8
libff::edwards_pp::init_public_params
static void init_public_params()
Definition: edwards_pp.cpp:15
libff::edwards_pairing
edwards_Fq6 edwards_pairing(const edwards_G1 &P, const edwards_G2 &Q)
Definition: edwards_pairing.cpp:801
libff::edwards_precompute_G2
edwards_G2_precomp edwards_precompute_G2(const edwards_G2 &Q)
Definition: edwards_pairing.cpp:781
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::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_miller_loop
edwards_Fq6 edwards_miller_loop(const edwards_G1_precomp &prec_P, const edwards_G2_precomp &prec_Q)
Definition: edwards_pairing.cpp:786
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::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
libff::edwards_precompute_G1
edwards_G1_precomp edwards_precompute_G1(const edwards_G1 &P)
Definition: edwards_pairing.cpp:776
edwards_pp.hpp
libff::edwards_final_exponentiation
edwards_GT edwards_final_exponentiation(const edwards_Fq6 &elt)
Definition: edwards_pairing.cpp:219
libff::edwards_pp::pairing
static edwards_Fq6 pairing(const edwards_G1 &P, const edwards_G2 &Q)
Definition: edwards_pp.cpp:47
libff::edwards_reduced_pairing
edwards_GT edwards_reduced_pairing(const edwards_G1 &P, const edwards_G2 &Q)
Definition: edwards_pairing.cpp:806
libff::edwards_pp::precompute_G2
static edwards_G2_precomp precompute_G2(const edwards_G2 &Q)
Definition: edwards_pp.cpp:27
libff::edwards_ate_G1_precomp
Definition: edwards_pairing.hpp:83
libff::edwards_G1
Definition: edwards_g1.hpp:21
libff::Fp6_2over3_model
Definition: fp6_2over3.hpp:26
libff::edwards_double_miller_loop
edwards_Fq6 edwards_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_pairing.cpp:792
libff::init_edwards_params
void init_edwards_params()
Definition: edwards_init.cpp:38
libff::edwards_pp::final_exponentiation
static edwards_GT final_exponentiation(const edwards_Fq6 &elt)
Definition: edwards_pp.cpp:17