Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
mnt6_pp.cpp
Go to the documentation of this file.
1
15
16namespace libff {
17
22
27
32
37
38
40 const mnt6_G2_precomp &prec_Q)
41{
42 return mnt6_miller_loop(prec_P, prec_Q);
43}
44
49
54
60
62 const mnt6_G2_precomp &prec_Q1,
63 const mnt6_G1_precomp &prec_P2,
64 const mnt6_G2_precomp &prec_Q2)
65{
66 return mnt6_double_miller_loop(prec_P1, prec_Q1, prec_P2, prec_Q2);
67}
68
76
87
89 const mnt6_G2 &Q)
90{
91 return mnt6_pairing(P, Q);
92}
93
95 const mnt6_G2 &Q)
96{
97 return mnt6_reduced_pairing(P, Q);
98}
99
105
106} // libff
Fp6_2over3_model unitary_inverse() const
static mnt6_Fq6 reduced_pairing(const mnt6_G1 &P, const mnt6_G2 &Q)
Definition mnt6_pp.cpp:94
static mnt6_affine_ate_G2_precomputation affine_ate_precompute_G2(const mnt6_G2 &Q)
Definition mnt6_pp.cpp:50
static mnt6_affine_ate_G1_precomputation affine_ate_precompute_G1(const mnt6_G1 &P)
Definition mnt6_pp.cpp:45
static mnt6_Fq6 affine_ate_e_times_e_over_e_miller_loop(const mnt6_affine_ate_G1_precomputation &prec_P1, const mnt6_affine_ate_G2_precomputation &prec_Q1, const mnt6_affine_ate_G1_precomputation &prec_P2, const mnt6_affine_ate_G2_precomputation &prec_Q2, const mnt6_affine_ate_G1_precomputation &prec_P3, const mnt6_affine_ate_G2_precomputation &prec_Q3)
Definition mnt6_pp.cpp:77
static mnt6_G1_precomp precompute_G1(const mnt6_G1 &P)
Definition mnt6_pp.cpp:28
static mnt6_Fq6 affine_ate_e_over_e_miller_loop(const mnt6_affine_ate_G1_precomputation &prec_P1, const mnt6_affine_ate_G2_precomputation &prec_Q1, const mnt6_affine_ate_G1_precomputation &prec_P2, const mnt6_affine_ate_G2_precomputation &prec_Q2)
Definition mnt6_pp.cpp:69
static mnt6_Fq6 pairing(const mnt6_G1 &P, const mnt6_G2 &Q)
Definition mnt6_pp.cpp:88
static mnt6_Fq6 double_miller_loop(const mnt6_G1_precomp &prec_P1, const mnt6_G2_precomp &prec_Q1, const mnt6_G1_precomp &prec_P2, const mnt6_G2_precomp &prec_Q2)
Definition mnt6_pp.cpp:61
static mnt6_Fq6 miller_loop(const mnt6_G1_precomp &prec_P, const mnt6_G2_precomp &prec_Q)
Definition mnt6_pp.cpp:39
static mnt6_G2_precomp precompute_G2(const mnt6_G2 &Q)
Definition mnt6_pp.cpp:33
static mnt6_Fq6 affine_reduced_pairing(const mnt6_G1 &P, const mnt6_G2 &Q)
Definition mnt6_pp.cpp:100
static mnt6_Fq6 affine_ate_miller_loop(const mnt6_affine_ate_G1_precomputation &prec_P, const mnt6_affine_ate_G2_precomputation &prec_Q)
Definition mnt6_pp.cpp:55
static void init_public_params()
Definition mnt6_pp.cpp:18
static mnt6_GT final_exponentiation(const mnt6_Fq6 &elt)
Definition mnt6_pp.cpp:23
#define P
Definition dtoa.c:437
mnt6_GT mnt6_final_exponentiation(const mnt6_Fq6 &elt)
mnt6_GT mnt6_reduced_pairing(const mnt6_G1 &P, const mnt6_G2 &Q)
mnt6_Fq6 mnt6_miller_loop(const mnt6_G1_precomp &prec_P, const mnt6_G2_precomp &prec_Q)
void init_mnt6_params()
Definition mnt6_init.cpp:42
mnt6_Fq6 mnt6_double_miller_loop(const mnt6_G1_precomp &prec_P1, const mnt6_G2_precomp &prec_Q1, const mnt6_G1_precomp &prec_P2, const mnt6_G2_precomp &prec_Q2)
mnt6_Fq6 mnt6_pairing(const mnt6_G1 &P, const mnt6_G2 &Q)
mnt6_affine_ate_G1_precomputation mnt6_affine_ate_precompute_G1(const mnt6_G1 &P)
mnt6_GT mnt6_affine_reduced_pairing(const mnt6_G1 &P, const mnt6_G2 &Q)
mnt6_G1_precomp mnt6_precompute_G1(const mnt6_G1 &P)
mnt6_Fq6 mnt6_affine_ate_miller_loop(const mnt6_affine_ate_G1_precomputation &prec_P, const mnt6_affine_ate_G2_precomputation &prec_Q)
mnt6_affine_ate_G2_precomputation mnt6_affine_ate_precompute_G2(const mnt6_G2 &Q)
mnt6_G2_precomp mnt6_precompute_G2(const mnt6_G2 &Q)