Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
edwards_pairing.hpp
Go to the documentation of this file.
1
8#ifndef EDWARDS_PAIRING_HPP_
9#define EDWARDS_PAIRING_HPP_
10#include <vector>
11
13
14namespace libff {
15
16/* final exponentiation */
17
19 const edwards_Fq6 &elt_inv);
21 const edwards_Fq6 &elt_inv);
23
24/* Tate pairing */
25
30
31 bool operator==(const edwards_Fq_conic_coefficients &other) const;
32 friend std::ostream& operator<<(std::ostream &out, const edwards_Fq_conic_coefficients &cc);
33 friend std::istream& operator>>(std::istream &in, edwards_Fq_conic_coefficients &cc);
34};
35typedef std::vector<edwards_Fq_conic_coefficients> edwards_tate_G1_precomp;
36
37std::ostream& operator<<(std::ostream& out, const edwards_tate_G1_precomp &prec_P);
38std::istream& operator>>(std::istream& in, edwards_tate_G1_precomp &prec_P);
39
42
43 bool operator==(const edwards_tate_G2_precomp &other) const;
44 friend std::ostream& operator<<(std::ostream &out, const edwards_tate_G2_precomp &prec_Q);
45 friend std::istream& operator>>(std::istream &in, edwards_tate_G2_precomp &prec_Q);
46};
47
50
52 const edwards_tate_G2_precomp &prec_Q);
53
55 const edwards_G2 &Q);
57 const edwards_G2 &Q);
58
59/* ate pairing */
60
65
66 bool operator==(const edwards_Fq3_conic_coefficients &other) const;
67 friend std::ostream& operator<<(std::ostream &out, const edwards_Fq3_conic_coefficients &cc);
68 friend std::istream& operator>>(std::istream &in, edwards_Fq3_conic_coefficients &cc);
69};
70typedef std::vector<edwards_Fq3_conic_coefficients> edwards_ate_G2_precomp;
71
72std::ostream& operator<<(std::ostream& out, const edwards_ate_G2_precomp &prec_Q);
73std::istream& operator>>(std::istream& in, edwards_ate_G2_precomp &prec_Q);
74
79
80 bool operator==(const edwards_ate_G1_precomp &other) const;
81 friend std::ostream& operator<<(std::ostream &out, const edwards_ate_G1_precomp &prec_P);
82 friend std::istream& operator>>(std::istream &in, edwards_ate_G1_precomp &prec_P);
83};
84
87
89 const edwards_ate_G2_precomp &prec_Q);
91 const edwards_ate_G2_precomp &prec_Q1,
92 const edwards_ate_G1_precomp &prec_P2,
93 const edwards_ate_G2_precomp &prec_Q2);
94
96 const edwards_G2 &Q);
98 const edwards_G2 &Q);
99
100/* choice of pairing */
101
104
107
109 const edwards_G2_precomp &prec_Q);
110
112 const edwards_G2_precomp &prec_Q1,
113 const edwards_G1_precomp &prec_P2,
114 const edwards_G2_precomp &prec_Q2);
115
117 const edwards_G2 &Q);
118
120 const edwards_G2 &Q);
121
122} // libff
123#endif // EDWARDS_PAIRING_HPP_
#define P
Definition dtoa.c:437
edwards_Fq6 edwards_ate_miller_loop(const edwards_ate_G1_precomp &prec_P, const edwards_ate_G2_precomp &prec_Q)
edwards_ate_G2_precomp edwards_ate_precompute_G2(const edwards_G2 &Q)
edwards_Fq6 edwards_final_exponentiation_first_chunk(const edwards_Fq6 &elt, const edwards_Fq6 &elt_inv)
std::vector< edwards_Fq_conic_coefficients > edwards_tate_G1_precomp
edwards_tate_G2_precomp edwards_tate_precompute_G2(const edwards_G2 &Q)
edwards_ate_G1_precomp edwards_ate_precompute_G1(const edwards_G1 &P)
edwards_Fq6 edwards_ate_double_miller_loop(const edwards_ate_G1_precomp &prec_P1, const edwards_ate_G2_precomp &prec_Q1, const edwards_ate_G1_precomp &prec_P2, const edwards_ate_G2_precomp &prec_Q2)
std::istream & operator>>(std::istream &in, alt_bn128_G1 &g)
edwards_tate_G1_precomp edwards_tate_precompute_G1(const edwards_G1 &P)
edwards_GT edwards_ate_reduced_pairing(const edwards_G1 &P, const edwards_G2 &Q)
edwards_ate_G1_precomp edwards_G1_precomp
edwards_Fq6 edwards_miller_loop(const edwards_G1_precomp &prec_P, const edwards_G2_precomp &prec_Q)
edwards_G1_precomp edwards_precompute_G1(const edwards_G1 &P)
edwards_GT edwards_tate_reduced_pairing(const edwards_G1 &P, const edwards_G2 &Q)
edwards_ate_G2_precomp edwards_G2_precomp
std::ostream & operator<<(std::ostream &out, const alt_bn128_G1 &g)
edwards_GT edwards_final_exponentiation(const edwards_Fq6 &elt)
edwards_Fq6 edwards_double_miller_loop(const edwards_G1_precomp &prec_P1, const edwards_G2_precomp &prec_Q1, const edwards_G1_precomp &prec_P2, const edwards_G2_precomp &prec_Q2)
edwards_Fq6 edwards_tate_pairing(const edwards_G1 &P, const edwards_G2 &Q)
edwards_Fq6 edwards_pairing(const edwards_G1 &P, const edwards_G2 &Q)
Fp6_2over3_model< edwards_q_limbs, edwards_modulus_q > edwards_Fq6
edwards_Fq6 edwards_ate_pairing(const edwards_G1 &P, const edwards_G2 &Q)
edwards_Fq6 edwards_tate_miller_loop(const edwards_tate_G1_precomp &prec_P, const edwards_tate_G2_precomp &prec_Q)
edwards_GT edwards_reduced_pairing(const edwards_G1 &P, const edwards_G2 &Q)
std::vector< edwards_Fq3_conic_coefficients > edwards_ate_G2_precomp
edwards_Fq6 edwards_final_exponentiation_last_chunk(const edwards_Fq6 &elt, const edwards_Fq6 &elt_inv)
edwards_G2_precomp edwards_precompute_G2(const edwards_G2 &Q)
edwards_Fq6 edwards_GT
bool operator==(const edwards_Fq3_conic_coefficients &other) const
friend std::ostream & operator<<(std::ostream &out, const edwards_Fq3_conic_coefficients &cc)
friend std::istream & operator>>(std::istream &in, edwards_Fq3_conic_coefficients &cc)
friend std::istream & operator>>(std::istream &in, edwards_Fq_conic_coefficients &cc)
friend std::ostream & operator<<(std::ostream &out, const edwards_Fq_conic_coefficients &cc)
bool operator==(const edwards_Fq_conic_coefficients &other) const
friend std::istream & operator>>(std::istream &in, edwards_ate_G1_precomp &prec_P)
friend std::ostream & operator<<(std::ostream &out, const edwards_ate_G1_precomp &prec_P)
bool operator==(const edwards_ate_G1_precomp &other) const
friend std::istream & operator>>(std::istream &in, edwards_tate_G2_precomp &prec_Q)
friend std::ostream & operator<<(std::ostream &out, const edwards_tate_G2_precomp &prec_Q)
bool operator==(const edwards_tate_G2_precomp &other) const