Class OptimalAtePairing<E1,E2,ET>
java.lang.Object
dk.jonaslindstrom.ruffini.elliptic.algorithms.OptimalAtePairing<E1,E2,ET>
Compute the optimal Ate pairing. Methodology is taken from Appendix A in draft-irtf-cfrg-pairing-friendly-curves-11.
-
Constructor Summary
ConstructorsConstructorDescriptionOptimalAtePairing
(java.util.function.Function<E1, E2> g1embedding, ShortWeierstrassCurveAffine<E2, ?> curve2, java.util.function.Function<E2, ET> g2embedding, Field<ET> ft, java.util.function.Function<AffinePoint<E1>, SamePair<ET>> twist, BigInteger p, BigInteger r, int k) -
Method Summary
Modifier and TypeMethodDescriptionlineFunction
(AffinePoint<E2> Q1, AffinePoint<E2> Q2, AffinePoint<E1> P) pairing
(AffinePoint<E1> P, AffinePoint<E2> Q, List<Integer> ci)
-
Constructor Details
-
OptimalAtePairing
public OptimalAtePairing(java.util.function.Function<E1, E2> g1embedding, ShortWeierstrassCurveAffine<E2, ?> curve2, java.util.function.Function<E2, ET> g2embedding, Field<ET> ft, java.util.function.Function<AffinePoint<E1>, SamePair<ET>> twist, BigInteger p, BigInteger r, int k) - Parameters:
g1embedding
- Embedding from F1 to F2.curve2
- Elliptic curve over F2.g2embedding
- Embedding from F2 to FT.ft
- The field extension FT = F1k. Note that the target group GT is the multiplicative group of FT.twist
- A function computing the isomorphism from E1 to the twist E' over FT.p
- The characteristic of the fields.r
- The order of the groups G1, G2 and GT.k
- The embedding degree of the elliptic curve E1 over F1, eg. the smallest k such that r | pk-1.
-
-
Method Details
-
lineFunction
-
pairing
-