Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
bls12_377_pp.cpp
Go to the documentation of this file.
1 
9 
10 namespace libff
11 {
12 
13 const std::string bls12_377_pp::name("bls12_377");
14 
16 
18 {
20 }
21 
23 {
24  return bls12_377_precompute_G1(P);
25 }
26 
28 {
29  return bls12_377_precompute_G2(Q);
30 }
31 
33  const bls12_377_G1_precomp &prec_P, const bls12_377_G2_precomp &prec_Q)
34 {
35  return bls12_377_miller_loop(prec_P, prec_Q);
36 }
37 
39  const bls12_377_G1_precomp &prec_P1,
40  const bls12_377_G2_precomp &prec_Q1,
41  const bls12_377_G1_precomp &prec_P2,
42  const bls12_377_G2_precomp &prec_Q2)
43 {
44  return bls12_377_double_miller_loop(prec_P1, prec_Q1, prec_P2, prec_Q2);
45 }
46 
48  const bls12_377_G1 &P, const bls12_377_G2 &Q)
49 {
50  return bls12_377_pairing(P, Q);
51 }
52 
54  const bls12_377_G1 &P, const bls12_377_G2 &Q)
55 {
56  return bls12_377_reduced_pairing(P, Q);
57 }
58 
59 } // namespace libff
libff::bls12_377_miller_loop
bls12_377_Fq12 bls12_377_miller_loop(const bls12_377_G1_precomp &prec_P, const bls12_377_G2_precomp &prec_Q)
Definition: bls12_377_pairing.cpp:552
libff::bls12_377_pp::pairing
static bls12_377_Fq12 pairing(const bls12_377_G1 &P, const bls12_377_G2 &Q)
Definition: bls12_377_pp.cpp:47
libff::bls12_377_pairing
bls12_377_Fq12 bls12_377_pairing(const bls12_377_G1 &P, const bls12_377_G2 &Q)
Definition: bls12_377_pairing.cpp:567
libff::bls12_377_pp::precompute_G1
static bls12_377_G1_precomp precompute_G1(const bls12_377_G1 &P)
Definition: bls12_377_pp.cpp:22
libff::bls12_377_G2
Definition: bls12_377_g2.hpp:21
libff::bls12_377_precompute_G2
bls12_377_G2_precomp bls12_377_precompute_G2(const bls12_377_G2 &Q)
Definition: bls12_377_pairing.cpp:547
libff::bls12_377_reduced_pairing
bls12_377_GT bls12_377_reduced_pairing(const bls12_377_G1 &P, const bls12_377_G2 &Q)
Definition: bls12_377_pairing.cpp:572
libff
Definition: ffi.cpp:8
libff::bls12_377_pp::double_miller_loop
static bls12_377_Fq12 double_miller_loop(const bls12_377_G1_precomp &prec_P1, const bls12_377_G2_precomp &prec_Q1, const bls12_377_G1_precomp &prec_P2, const bls12_377_G2_precomp &prec_Q2)
Definition: bls12_377_pp.cpp:38
libff::bls12_377_ate_G2_precomp
Definition: bls12_377_pairing.hpp:45
libff::bls12_377_pp::reduced_pairing
static bls12_377_Fq12 reduced_pairing(const bls12_377_G1 &P, const bls12_377_G2 &Q)
Definition: bls12_377_pp.cpp:53
libff::bls12_377_G1
Definition: bls12_377_g1.hpp:21
libff::bls12_377_pp::miller_loop
static bls12_377_Fq12 miller_loop(const bls12_377_G1_precomp &prec_P, const bls12_377_G2_precomp &prec_Q)
Definition: bls12_377_pp.cpp:32
libff::bls12_377_pp::name
static const std::string name
Definition: bls12_377_pp.hpp:22
libff::bls12_377_precompute_G1
bls12_377_G1_precomp bls12_377_precompute_G1(const bls12_377_G1 &P)
Definition: bls12_377_pairing.cpp:542
libff::bls12_377_pp::init_public_params
static void init_public_params()
Definition: bls12_377_pp.cpp:15
libff::bls12_377_pp::final_exponentiation
static bls12_377_GT final_exponentiation(const bls12_377_Fq12 &elt)
Definition: bls12_377_pp.cpp:17
libff::bls12_377_ate_G1_precomp
Definition: bls12_377_pairing.hpp:22
bls12_377_pp.hpp
libff::Fp12_2over3over2_model
Definition: fp12_2over3over2.hpp:20
libff::bls12_377_final_exponentiation
bls12_377_GT bls12_377_final_exponentiation(const bls12_377_Fq12 &elt)
Definition: bls12_377_pairing.cpp:217
libff::init_bls12_377_params
void init_bls12_377_params()
Definition: bls12_377_init.cpp:50
libff::bls12_377_pp::precompute_G2
static bls12_377_G2_precomp precompute_G2(const bls12_377_G2 &Q)
Definition: bls12_377_pp.cpp:27
libff::bls12_377_double_miller_loop
bls12_377_Fq12 bls12_377_double_miller_loop(const bls12_377_G1_precomp &prec_P1, const bls12_377_G2_precomp &prec_Q1, const bls12_377_G1_precomp &prec_P2, const bls12_377_G2_precomp &prec_Q2)
Definition: bls12_377_pairing.cpp:558