Class BLS12381
java.lang.Object
dk.jonaslindstrom.ruffini.elliptic.structures.bls12381.BLS12381
Implementation of the BLS12-381 pairing-friendly elliptic curve construction.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic BigPrimeFieldThe base fieldFP= Fp.static AlgebraicFieldExtension<Polynomial<Polynomial<BigInteger>>,AlgebraicFieldExtension<Polynomial<BigInteger>, AlgebraicFieldExtension<BigInteger, BigPrimeField>>> FP12= FP6(w) / (w2 - v)) is a quadratic field extension ofFP6.FP2= FP(u) / (u2 + 1) is a quadratic field extension of base fieldFP.static AlgebraicFieldExtension<Polynomial<BigInteger>,AlgebraicFieldExtension<BigInteger, BigPrimeField>> FP6= FP2(v) / (v3 - (u + 1)) is a cubic field extension ofFP2.static BigPrimeFieldPrime field of order q.static ShortWeierstrassCurveAffine<BigInteger,?> Curve overFPcontaining the G1 subgroup.static AffinePoint<BigInteger>Generator for the G1 subgroup of order q.static ShortWeierstrassCurveAffine<Polynomial<BigInteger>,?> Curve overFP2containing the G2 subgroup.static AffinePoint<Polynomial<BigInteger>>static Group<Polynomial<Polynomial<Polynomial<BigInteger>>>>static BigIntegerModulus of the base field.static java.util.function.BiFunction<AffinePoint<BigInteger>,AffinePoint<Polynomial<BigInteger>>, Polynomial<Polynomial<Polynomial<BigInteger>>>> The optimal Ate pairing which is a bilinear function e: G1 x G2 → GT.static BigIntegerOrder of subgroups of G1, G2 and GT
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic SamePair<Polynomial<Polynomial<Polynomial<BigInteger>>>>
- 
Field Details- 
pModulus of the base field.
- 
FPThe base fieldFP= Fp.
- 
FP2FP2= FP(u) / (u2 + 1) is a quadratic field extension of base fieldFP.
- 
FP6public static AlgebraicFieldExtension<Polynomial<BigInteger>,AlgebraicFieldExtension<BigInteger, FP6BigPrimeField>> FP6= FP2(v) / (v3 - (u + 1)) is a cubic field extension ofFP2.
- 
FP12public static AlgebraicFieldExtension<Polynomial<Polynomial<BigInteger>>,AlgebraicFieldExtension<Polynomial<BigInteger>, FP12AlgebraicFieldExtension<BigInteger, BigPrimeField>>> FP12= FP6(w) / (w2 - v)) is a quadratic field extension ofFP6.
- 
GT
- 
G2Curve overFP2containing the G2 subgroup.
- 
G1Curve overFPcontaining the G1 subgroup.
- 
G2_GENERATOR
- 
qOrder of subgroups of G1, G2 and GT
- 
FQPrime field of order q.
- 
G1_GENERATORGenerator for the G1 subgroup of order q.
- 
PAIRINGpublic static java.util.function.BiFunction<AffinePoint<BigInteger>,AffinePoint<Polynomial<BigInteger>>, PAIRINGPolynomial<Polynomial<Polynomial<BigInteger>>>> The optimal Ate pairing which is a bilinear function e: G1 x G2 → GT.
 
- 
- 
Constructor Details- 
BLS12381public BLS12381()
 
- 
- 
Method Details- 
twistpublic static SamePair<Polynomial<Polynomial<Polynomial<BigInteger>>>> twist(AffinePoint<BigInteger> p) 
 
-