public static class ECCurve.F2m extends ECCurve.AbstractF2m
y2 + xy = x3 + ax2 + b.ECCurve.AbstractF2m, ECCurve.AbstractFp, ECCurve.Config, ECCurve.F2m, ECCurve.Fpa, b, cofactor, coord, COORD_AFFINE, COORD_HOMOGENEOUS, COORD_JACOBIAN, COORD_JACOBIAN_CHUDNOVSKY, COORD_JACOBIAN_MODIFIED, COORD_LAMBDA_AFFINE, COORD_LAMBDA_PROJECTIVE, COORD_SKEWED, endomorphism, field, multiplier, order| Modifier | Constructor and Description |
|---|---|
|
F2m(int m,
int k,
java.math.BigInteger a,
java.math.BigInteger b)
Deprecated.
use constructor taking order/cofactor
|
|
F2m(int m,
int k,
java.math.BigInteger a,
java.math.BigInteger b,
java.math.BigInteger order,
java.math.BigInteger cofactor)
Constructor for Trinomial Polynomial Basis (TPB).
|
|
F2m(int m,
int k1,
int k2,
int k3,
java.math.BigInteger a,
java.math.BigInteger b)
Deprecated.
use constructor taking order/cofactor
|
|
F2m(int m,
int k1,
int k2,
int k3,
java.math.BigInteger a,
java.math.BigInteger b,
java.math.BigInteger order,
java.math.BigInteger cofactor)
Constructor for Pentanomial Polynomial Basis (PPB).
|
protected |
F2m(int m,
int k1,
int k2,
int k3,
ECFieldElement a,
ECFieldElement b,
java.math.BigInteger order,
java.math.BigInteger cofactor) |
| Modifier and Type | Method and Description |
|---|---|
protected ECCurve |
cloneCurve() |
ECLookupTable |
createCacheSafeLookupTable(ECPoint[] points,
int off,
int len)
Create a cache-safe lookup table for the specified sequence of points.
|
protected ECMultiplier |
createDefaultMultiplier() |
protected ECPoint |
createRawPoint(ECFieldElement x,
ECFieldElement y) |
protected ECPoint |
createRawPoint(ECFieldElement x,
ECFieldElement y,
ECFieldElement[] zs) |
ECFieldElement |
fromBigInteger(java.math.BigInteger x) |
int |
getFieldSize() |
ECPoint |
getInfinity() |
int |
getK1() |
int |
getK2() |
int |
getK3() |
int |
getM() |
boolean |
isTrinomial()
Return true if curve uses a Trinomial basis.
|
boolean |
supportsCoordinateSystem(int coord) |
createPoint, decompressPoint, inverse, isKoblitz, isValidFieldElement, randomFieldElement, randomFieldElementMult, solveQuadraticEquationcheckPoint, checkPoints, checkPoints, configure, decodePoint, equals, equals, getA, getAffinePointEncodingLength, getAllCoordinateSystems, getB, getCofactor, getCoordinateSystem, getEndomorphism, getField, getFieldElementEncodingLength, getMultiplier, getOrder, getPreCompInfo, hashCode, importPoint, normalizeAll, normalizeAll, precompute, validatePoint@Deprecated
public F2m(int m,
int k,
java.math.BigInteger a,
java.math.BigInteger b)
m - The exponent m of
F2m.k - The integer k where xm +
xk + 1 represents the reduction
polynomial f(z).a - The coefficient a in the Weierstrass equation
for non-supersingular elliptic curves over
F2m.b - The coefficient b in the Weierstrass equation
for non-supersingular elliptic curves over
F2m.public F2m(int m,
int k,
java.math.BigInteger a,
java.math.BigInteger b,
java.math.BigInteger order,
java.math.BigInteger cofactor)
m - The exponent m of
F2m.k - The integer k where xm +
xk + 1 represents the reduction
polynomial f(z).a - The coefficient a in the Weierstrass equation
for non-supersingular elliptic curves over
F2m.b - The coefficient b in the Weierstrass equation
for non-supersingular elliptic curves over
F2m.order - The order of the main subgroup of the elliptic curve.cofactor - The cofactor of the elliptic curve, i.e.
#Ea(F2m) = h * n.@Deprecated
public F2m(int m,
int k1,
int k2,
int k3,
java.math.BigInteger a,
java.math.BigInteger b)
m - The exponent m of
F2m.k1 - The integer k1 where xm +
xk3 + xk2 + xk1 + 1
represents the reduction polynomial f(z).k2 - The integer k2 where xm +
xk3 + xk2 + xk1 + 1
represents the reduction polynomial f(z).k3 - The integer k3 where xm +
xk3 + xk2 + xk1 + 1
represents the reduction polynomial f(z).a - The coefficient a in the Weierstrass equation
for non-supersingular elliptic curves over
F2m.b - The coefficient b in the Weierstrass equation
for non-supersingular elliptic curves over
F2m.public F2m(int m,
int k1,
int k2,
int k3,
java.math.BigInteger a,
java.math.BigInteger b,
java.math.BigInteger order,
java.math.BigInteger cofactor)
m - The exponent m of
F2m.k1 - The integer k1 where xm +
xk3 + xk2 + xk1 + 1
represents the reduction polynomial f(z).k2 - The integer k2 where xm +
xk3 + xk2 + xk1 + 1
represents the reduction polynomial f(z).k3 - The integer k3 where xm +
xk3 + xk2 + xk1 + 1
represents the reduction polynomial f(z).a - The coefficient a in the Weierstrass equation
for non-supersingular elliptic curves over
F2m.b - The coefficient b in the Weierstrass equation
for non-supersingular elliptic curves over
F2m.order - The order of the main subgroup of the elliptic curve.cofactor - The cofactor of the elliptic curve, i.e.
#Ea(F2m) = h * n.protected F2m(int m,
int k1,
int k2,
int k3,
ECFieldElement a,
ECFieldElement b,
java.math.BigInteger order,
java.math.BigInteger cofactor)
protected ECCurve cloneCurve()
cloneCurve in class ECCurvepublic boolean supportsCoordinateSystem(int coord)
supportsCoordinateSystem in class ECCurveprotected ECMultiplier createDefaultMultiplier()
createDefaultMultiplier in class ECCurvepublic int getFieldSize()
getFieldSize in class ECCurvepublic ECFieldElement fromBigInteger(java.math.BigInteger x)
fromBigInteger in class ECCurveprotected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y)
createRawPoint in class ECCurveprotected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs)
createRawPoint in class ECCurvepublic ECPoint getInfinity()
getInfinity in class ECCurvepublic int getM()
public boolean isTrinomial()
public int getK1()
public int getK2()
public int getK3()
public ECLookupTable createCacheSafeLookupTable(ECPoint[] points, int off, int len)
ECCurveECCurve instance, and MUST already be normalized.createCacheSafeLookupTable in class ECCurve