Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
libff::mnt4_pp Class Reference

#include <mnt4_pp.hpp>

Public Types

typedef mnt4_Fr Fp_type
 
typedef mnt4_G1 G1_type
 
typedef mnt4_G2 G2_type
 
typedef mnt4_G1_precomp G1_precomp_type
 
typedef mnt4_G2_precomp G2_precomp_type
 
typedef mnt4_affine_ate_G1_precomputation affine_ate_G1_precomp_type
 
typedef mnt4_affine_ate_G2_precomputation affine_ate_G2_precomp_type
 
typedef mnt4_Fq Fq_type
 
typedef mnt4_Fq2 Fqe_type
 
typedef mnt4_Fq4 Fqk_type
 
typedef mnt4_GT GT_type
 

Static Public Member Functions

static void init_public_params ()
 
static mnt4_GT final_exponentiation (const mnt4_Fq4 &elt)
 
static mnt4_G1_precomp precompute_G1 (const mnt4_G1 &P)
 
static mnt4_G2_precomp precompute_G2 (const mnt4_G2 &Q)
 
static mnt4_Fq4 miller_loop (const mnt4_G1_precomp &prec_P, const mnt4_G2_precomp &prec_Q)
 
static mnt4_affine_ate_G1_precomputation affine_ate_precompute_G1 (const mnt4_G1 &P)
 
static mnt4_affine_ate_G2_precomputation affine_ate_precompute_G2 (const mnt4_G2 &Q)
 
static mnt4_Fq4 affine_ate_miller_loop (const mnt4_affine_ate_G1_precomputation &prec_P, const mnt4_affine_ate_G2_precomputation &prec_Q)
 
static mnt4_Fq4 affine_ate_e_over_e_miller_loop (const mnt4_affine_ate_G1_precomputation &prec_P1, const mnt4_affine_ate_G2_precomputation &prec_Q1, const mnt4_affine_ate_G1_precomputation &prec_P2, const mnt4_affine_ate_G2_precomputation &prec_Q2)
 
static mnt4_Fq4 affine_ate_e_times_e_over_e_miller_loop (const mnt4_affine_ate_G1_precomputation &prec_P1, const mnt4_affine_ate_G2_precomputation &prec_Q1, const mnt4_affine_ate_G1_precomputation &prec_P2, const mnt4_affine_ate_G2_precomputation &prec_Q2, const mnt4_affine_ate_G1_precomputation &prec_P3, const mnt4_affine_ate_G2_precomputation &prec_Q3)
 
static mnt4_Fq4 double_miller_loop (const mnt4_G1_precomp &prec_P1, const mnt4_G2_precomp &prec_Q1, const mnt4_G1_precomp &prec_P2, const mnt4_G2_precomp &prec_Q2)
 
static mnt4_Fq4 pairing (const mnt4_G1 &P, const mnt4_G2 &Q)
 
static mnt4_Fq4 reduced_pairing (const mnt4_G1 &P, const mnt4_G2 &Q)
 
static mnt4_Fq4 affine_reduced_pairing (const mnt4_G1 &P, const mnt4_G2 &Q)
 

Static Public Attributes

static const bool has_affine_pairing = true
 

Detailed Description

Definition at line 23 of file mnt4_pp.hpp.

Member Typedef Documentation

◆ affine_ate_G1_precomp_type

◆ affine_ate_G2_precomp_type

◆ Fp_type

Definition at line 25 of file mnt4_pp.hpp.

◆ Fq_type

Definition at line 32 of file mnt4_pp.hpp.

◆ Fqe_type

Definition at line 33 of file mnt4_pp.hpp.

◆ Fqk_type

Definition at line 34 of file mnt4_pp.hpp.

◆ G1_precomp_type

◆ G1_type

Definition at line 26 of file mnt4_pp.hpp.

◆ G2_precomp_type

◆ G2_type

Definition at line 27 of file mnt4_pp.hpp.

◆ GT_type

Definition at line 35 of file mnt4_pp.hpp.

Member Function Documentation

◆ affine_ate_e_over_e_miller_loop()

mnt4_Fq4 libff::mnt4_pp::affine_ate_e_over_e_miller_loop ( const mnt4_affine_ate_G1_precomputation & prec_P1,
const mnt4_affine_ate_G2_precomputation & prec_Q1,
const mnt4_affine_ate_G1_precomputation & prec_P2,
const mnt4_affine_ate_G2_precomputation & prec_Q2 )
static

Definition at line 60 of file mnt4_pp.cpp.

64{
65 return mnt4_affine_ate_miller_loop(prec_P1, prec_Q1) * mnt4_affine_ate_miller_loop(prec_P2, prec_Q2).unitary_inverse();
66}
Fp4_model unitary_inverse() const
mnt4_Fq4 mnt4_affine_ate_miller_loop(const mnt4_affine_ate_G1_precomputation &prec_P, const mnt4_affine_ate_G2_precomputation &prec_Q)
Here is the call graph for this function:

◆ affine_ate_e_times_e_over_e_miller_loop()

mnt4_Fq4 libff::mnt4_pp::affine_ate_e_times_e_over_e_miller_loop ( const mnt4_affine_ate_G1_precomputation & prec_P1,
const mnt4_affine_ate_G2_precomputation & prec_Q1,
const mnt4_affine_ate_G1_precomputation & prec_P2,
const mnt4_affine_ate_G2_precomputation & prec_Q2,
const mnt4_affine_ate_G1_precomputation & prec_P3,
const mnt4_affine_ate_G2_precomputation & prec_Q3 )
static

Definition at line 68 of file mnt4_pp.cpp.

74{
75 return ((mnt4_affine_ate_miller_loop(prec_P1, prec_Q1) * mnt4_affine_ate_miller_loop(prec_P2, prec_Q2)) *
76 mnt4_affine_ate_miller_loop(prec_P3, prec_Q3).unitary_inverse());
77}
Here is the call graph for this function:

◆ affine_ate_miller_loop()

mnt4_Fq4 libff::mnt4_pp::affine_ate_miller_loop ( const mnt4_affine_ate_G1_precomputation & prec_P,
const mnt4_affine_ate_G2_precomputation & prec_Q )
static

Definition at line 54 of file mnt4_pp.cpp.

56{
57 return mnt4_affine_ate_miller_loop(prec_P, prec_Q);
58}
Here is the call graph for this function:

◆ affine_ate_precompute_G1()

mnt4_affine_ate_G1_precomputation libff::mnt4_pp::affine_ate_precompute_G1 ( const mnt4_G1 & P)
static

Definition at line 44 of file mnt4_pp.cpp.

45{
47}
#define P
Definition dtoa.c:437
mnt4_affine_ate_G1_precomputation mnt4_affine_ate_precompute_G1(const mnt4_G1 &P)
Here is the call graph for this function:

◆ affine_ate_precompute_G2()

mnt4_affine_ate_G2_precomputation libff::mnt4_pp::affine_ate_precompute_G2 ( const mnt4_G2 & Q)
static

Definition at line 49 of file mnt4_pp.cpp.

50{
52}
mnt4_affine_ate_G2_precomputation mnt4_affine_ate_precompute_G2(const mnt4_G2 &Q)
Here is the call graph for this function:

◆ affine_reduced_pairing()

mnt4_Fq4 libff::mnt4_pp::affine_reduced_pairing ( const mnt4_G1 & P,
const mnt4_G2 & Q )
static

Definition at line 99 of file mnt4_pp.cpp.

101{
103}
mnt4_GT mnt4_affine_reduced_pairing(const mnt4_G1 &P, const mnt4_G2 &Q)
Here is the call graph for this function:

◆ double_miller_loop()

mnt4_Fq4 libff::mnt4_pp::double_miller_loop ( const mnt4_G1_precomp & prec_P1,
const mnt4_G2_precomp & prec_Q1,
const mnt4_G1_precomp & prec_P2,
const mnt4_G2_precomp & prec_Q2 )
static

Definition at line 79 of file mnt4_pp.cpp.

83{
84 return mnt4_double_miller_loop(prec_P1, prec_Q1, prec_P2, prec_Q2);
85}
mnt4_Fq4 mnt4_double_miller_loop(const mnt4_G1_precomp &prec_P1, const mnt4_G2_precomp &prec_Q1, const mnt4_G1_precomp &prec_P2, const mnt4_G2_precomp &prec_Q2)
Here is the call graph for this function:

◆ final_exponentiation()

mnt4_GT libff::mnt4_pp::final_exponentiation ( const mnt4_Fq4 & elt)
static

Definition at line 23 of file mnt4_pp.cpp.

24{
25 return mnt4_final_exponentiation(elt);
26}
mnt4_GT mnt4_final_exponentiation(const mnt4_Fq4 &elt)
Here is the call graph for this function:

◆ init_public_params()

void libff::mnt4_pp::init_public_params ( )
static

Definition at line 18 of file mnt4_pp.cpp.

19{
21}
void init_mnt4_params()
Definition mnt4_init.cpp:40
Here is the call graph for this function:
Here is the caller graph for this function:

◆ miller_loop()

mnt4_Fq4 libff::mnt4_pp::miller_loop ( const mnt4_G1_precomp & prec_P,
const mnt4_G2_precomp & prec_Q )
static

Definition at line 38 of file mnt4_pp.cpp.

40{
41 return mnt4_miller_loop(prec_P, prec_Q);
42}
mnt4_Fq4 mnt4_miller_loop(const mnt4_G1_precomp &prec_P, const mnt4_G2_precomp &prec_Q)
Here is the call graph for this function:

◆ pairing()

mnt4_Fq4 libff::mnt4_pp::pairing ( const mnt4_G1 & P,
const mnt4_G2 & Q )
static

Definition at line 87 of file mnt4_pp.cpp.

89{
90 return mnt4_pairing(P, Q);
91}
mnt4_Fq4 mnt4_pairing(const mnt4_G1 &P, const mnt4_G2 &Q)
Here is the call graph for this function:

◆ precompute_G1()

mnt4_G1_precomp libff::mnt4_pp::precompute_G1 ( const mnt4_G1 & P)
static

Definition at line 28 of file mnt4_pp.cpp.

29{
30 return mnt4_precompute_G1(P);
31}
mnt4_G1_precomp mnt4_precompute_G1(const mnt4_G1 &P)
Here is the call graph for this function:

◆ precompute_G2()

mnt4_G2_precomp libff::mnt4_pp::precompute_G2 ( const mnt4_G2 & Q)
static

Definition at line 33 of file mnt4_pp.cpp.

34{
35 return mnt4_precompute_G2(Q);
36}
mnt4_G2_precomp mnt4_precompute_G2(const mnt4_G2 &Q)
Here is the call graph for this function:

◆ reduced_pairing()

mnt4_Fq4 libff::mnt4_pp::reduced_pairing ( const mnt4_G1 & P,
const mnt4_G2 & Q )
static

Definition at line 93 of file mnt4_pp.cpp.

95{
96 return mnt4_reduced_pairing(P, Q);
97}
mnt4_GT mnt4_reduced_pairing(const mnt4_G1 &P, const mnt4_G2 &Q)
Here is the call graph for this function:

Member Data Documentation

◆ has_affine_pairing

const bool libff::mnt4_pp::has_affine_pairing = true
static

Definition at line 37 of file mnt4_pp.hpp.


The documentation for this class was generated from the following files: