Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
libff::bls12_381_pp Class Reference

#include <bls12_381_pp.hpp>

Public Types

typedef bls12_381_Fr Fp_type
 
typedef bls12_381_G1 G1_type
 
typedef bls12_381_G2 G2_type
 
typedef bls12_381_G1_precomp G1_precomp_type
 
typedef bls12_381_G2_precomp G2_precomp_type
 
typedef bls12_381_Fq Fq_type
 
typedef bls12_381_Fq2 Fqe_type
 
typedef bls12_381_Fq12 Fqk_type
 
typedef bls12_381_GT GT_type
 

Static Public Member Functions

static void init_public_params ()
 
static bls12_381_GT final_exponentiation (const bls12_381_Fq12 &elt)
 
static bls12_381_G1_precomp precompute_G1 (const bls12_381_G1 &P)
 
static bls12_381_G2_precomp precompute_G2 (const bls12_381_G2 &Q)
 
static bls12_381_Fq12 miller_loop (const bls12_381_G1_precomp &prec_P, const bls12_381_G2_precomp &prec_Q)
 
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)
 
static bls12_381_Fq12 pairing (const bls12_381_G1 &P, const bls12_381_G2 &Q)
 
static bls12_381_Fq12 reduced_pairing (const bls12_381_G1 &P, const bls12_381_G2 &Q)
 

Static Public Attributes

static const std::string name
 
static const bool has_affine_pairing = false
 

Detailed Description

Definition at line 19 of file bls12_381_pp.hpp.

Member Typedef Documentation

◆ Fp_type

Definition at line 24 of file bls12_381_pp.hpp.

◆ Fq_type

Definition at line 29 of file bls12_381_pp.hpp.

◆ Fqe_type

Definition at line 30 of file bls12_381_pp.hpp.

◆ Fqk_type

Definition at line 31 of file bls12_381_pp.hpp.

◆ G1_precomp_type

Definition at line 27 of file bls12_381_pp.hpp.

◆ G1_type

Definition at line 25 of file bls12_381_pp.hpp.

◆ G2_precomp_type

Definition at line 28 of file bls12_381_pp.hpp.

◆ G2_type

Definition at line 26 of file bls12_381_pp.hpp.

◆ GT_type

Definition at line 32 of file bls12_381_pp.hpp.

Member Function Documentation

◆ double_miller_loop()

bls12_381_Fq12 libff::bls12_381_pp::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 
)
static

Definition at line 31 of file bls12_381_pp.cpp.

36 {
37  return bls12_381_double_miller_loop(prec_P1, prec_Q1, prec_P2, prec_Q2);
38 }
Here is the call graph for this function:

◆ final_exponentiation()

bls12_381_GT libff::bls12_381_pp::final_exponentiation ( const bls12_381_Fq12 elt)
static

Definition at line 10 of file bls12_381_pp.cpp.

11 {
13 }
Here is the call graph for this function:

◆ init_public_params()

void libff::bls12_381_pp::init_public_params ( )
static

Definition at line 8 of file bls12_381_pp.cpp.

Here is the call graph for this function:

◆ miller_loop()

bls12_381_Fq12 libff::bls12_381_pp::miller_loop ( const bls12_381_G1_precomp prec_P,
const bls12_381_G2_precomp prec_Q 
)
static

Definition at line 25 of file bls12_381_pp.cpp.

27 {
28  return bls12_381_miller_loop(prec_P, prec_Q);
29 }
Here is the call graph for this function:

◆ pairing()

bls12_381_Fq12 libff::bls12_381_pp::pairing ( const bls12_381_G1 P,
const bls12_381_G2 Q 
)
static

Definition at line 40 of file bls12_381_pp.cpp.

42 {
43  return bls12_381_pairing(P, Q);
44 }
Here is the call graph for this function:

◆ precompute_G1()

bls12_381_G1_precomp libff::bls12_381_pp::precompute_G1 ( const bls12_381_G1 P)
static

Definition at line 15 of file bls12_381_pp.cpp.

16 {
17  return bls12_381_precompute_G1(P);
18 }
Here is the call graph for this function:

◆ precompute_G2()

bls12_381_G2_precomp libff::bls12_381_pp::precompute_G2 ( const bls12_381_G2 Q)
static

Definition at line 20 of file bls12_381_pp.cpp.

21 {
22  return bls12_381_precompute_G2(Q);
23 }
Here is the call graph for this function:

◆ reduced_pairing()

bls12_381_Fq12 libff::bls12_381_pp::reduced_pairing ( const bls12_381_G1 P,
const bls12_381_G2 Q 
)
static

Definition at line 46 of file bls12_381_pp.cpp.

48 {
49  return bls12_381_reduced_pairing(P, Q);
50 }
Here is the call graph for this function:

Member Data Documentation

◆ has_affine_pairing

const bool libff::bls12_381_pp::has_affine_pairing = false
static

Definition at line 34 of file bls12_381_pp.hpp.

◆ name

const std::string libff::bls12_381_pp::name
static

Definition at line 22 of file bls12_381_pp.hpp.


The documentation for this class was generated from the following files:
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::init_bls12_381_params
void init_bls12_381_params()
Definition: bls12_381_init.cpp:26
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_precompute_G2
bls12_381_G2_precomp bls12_381_precompute_G2(const bls12_381_G2 &Q)
Definition: bls12_381_pairing.cpp:502
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_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_final_exponentiation
bls12_381_GT bls12_381_final_exponentiation(const bls12_381_Fq12 &elt)
Definition: bls12_381_pairing.cpp:215