Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
bls12_381_pp.cpp
Go to the documentation of this file.
2 
3 namespace libff
4 {
5 
6 const std::string bls12_381_pp::name("bls12_381");
7 
9 
11 {
13 }
14 
16 {
17  return bls12_381_precompute_G1(P);
18 }
19 
21 {
22  return bls12_381_precompute_G2(Q);
23 }
24 
26  const bls12_381_G1_precomp &prec_P, const bls12_381_G2_precomp &prec_Q)
27 {
28  return bls12_381_miller_loop(prec_P, prec_Q);
29 }
30 
32  const bls12_381_G1_precomp &prec_P1,
33  const bls12_381_G2_precomp &prec_Q1,
34  const bls12_381_G1_precomp &prec_P2,
35  const bls12_381_G2_precomp &prec_Q2)
36 {
37  return bls12_381_double_miller_loop(prec_P1, prec_Q1, prec_P2, prec_Q2);
38 }
39 
41  const bls12_381_G1 &P, const bls12_381_G2 &Q)
42 {
43  return bls12_381_pairing(P, Q);
44 }
45 
47  const bls12_381_G1 &P, const bls12_381_G2 &Q)
48 {
49  return bls12_381_reduced_pairing(P, Q);
50 }
51 
52 } // namespace libff
bls12_381_pp.hpp
libff::bls12_381_double_miller_loop
bls12_381_Fq12 bls12_381_double_miller_loop(const bls12_381_G1_precomp &prec_P1, const bls12_381_G2_precomp &prec_Q1, const bls12_381_G1_precomp &prec_P2, const bls12_381_G2_precomp &prec_Q2)
Definition: bls12_381_pairing.cpp:513
libff::bls12_381_pp::precompute_G1
static bls12_381_G1_precomp precompute_G1(const bls12_381_G1 &P)
Definition: bls12_381_pp.cpp:15
libff::bls12_381_ate_G1_precomp
Definition: bls12_381_pairing.hpp:22
libff
Definition: ffi.cpp:8
libff::bls12_381_G1
Definition: bls12_381_g1.hpp:21
libff::init_bls12_381_params
void init_bls12_381_params()
Definition: bls12_381_init.cpp:26
libff::bls12_381_pp::miller_loop
static bls12_381_Fq12 miller_loop(const bls12_381_G1_precomp &prec_P, const bls12_381_G2_precomp &prec_Q)
Definition: bls12_381_pp.cpp:25
libff::bls12_381_pp::precompute_G2
static bls12_381_G2_precomp precompute_G2(const bls12_381_G2 &Q)
Definition: bls12_381_pp.cpp:20
libff::Fp12_2over3over2_model
Definition: fp12_2over3over2.hpp:20
libff::bls12_381_pp::pairing
static bls12_381_Fq12 pairing(const bls12_381_G1 &P, const bls12_381_G2 &Q)
Definition: bls12_381_pp.cpp:40
libff::bls12_381_pairing
bls12_381_Fq12 bls12_381_pairing(const bls12_381_G1 &P, const bls12_381_G2 &Q)
Definition: bls12_381_pairing.cpp:522
libff::bls12_381_reduced_pairing
bls12_381_GT bls12_381_reduced_pairing(const bls12_381_G1 &P, const bls12_381_G2 &Q)
Definition: bls12_381_pairing.cpp:527
libff::bls12_381_pp::reduced_pairing
static bls12_381_Fq12 reduced_pairing(const bls12_381_G1 &P, const bls12_381_G2 &Q)
Definition: bls12_381_pp.cpp:46
libff::bls12_381_ate_G2_precomp
Definition: bls12_381_pairing.hpp:45
libff::bls12_381_precompute_G2
bls12_381_G2_precomp bls12_381_precompute_G2(const bls12_381_G2 &Q)
Definition: bls12_381_pairing.cpp:502
libff::bls12_381_pp::name
static const std::string name
Definition: bls12_381_pp.hpp:22
libff::bls12_381_precompute_G1
bls12_381_G1_precomp bls12_381_precompute_G1(const bls12_381_G1 &P)
Definition: bls12_381_pairing.cpp:497
libff::bls12_381_pp::init_public_params
static void init_public_params()
Definition: bls12_381_pp.cpp:8
libff::bls12_381_miller_loop
bls12_381_Fq12 bls12_381_miller_loop(const bls12_381_G1_precomp &prec_P, const bls12_381_G2_precomp &prec_Q)
Definition: bls12_381_pairing.cpp:507
libff::bls12_381_pp::final_exponentiation
static bls12_381_GT final_exponentiation(const bls12_381_Fq12 &elt)
Definition: bls12_381_pp.cpp:10
libff::bls12_381_final_exponentiation
bls12_381_GT bls12_381_final_exponentiation(const bls12_381_Fq12 &elt)
Definition: bls12_381_pairing.cpp:215
libff::bls12_381_pp::double_miller_loop
static bls12_381_Fq12 double_miller_loop(const bls12_381_G1_precomp &prec_P1, const bls12_381_G2_precomp &prec_Q1, const bls12_381_G1_precomp &prec_P2, const bls12_381_G2_precomp &prec_Q2)
Definition: bls12_381_pp.cpp:31
libff::bls12_381_G2
Definition: bls12_381_g2.hpp:21