public static class ECCurve.F2m extends ECCurve.AbstractF2m
y2 + xy = x3 + ax2 + b
.ECCurve.AbstractF2m, ECCurve.AbstractFp, ECCurve.Config, ECCurve.F2m, ECCurve.Fp
a, 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 |
---|---|
|
ECCurve.F2m(int m,
int k,
java.math.BigInteger a,
java.math.BigInteger b)
Constructor for Trinomial Polynomial Basis (TPB).
|
|
ECCurve.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).
|
|
ECCurve.F2m(int m,
int k1,
int k2,
int k3,
java.math.BigInteger a,
java.math.BigInteger b)
Constructor for Pentanomial Polynomial Basis (PPB).
|
|
ECCurve.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 |
ECCurve.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() |
protected ECMultiplier |
createDefaultMultiplier() |
ECPoint |
createPoint(java.math.BigInteger x,
java.math.BigInteger y,
boolean withCompression) |
protected ECPoint |
createRawPoint(ECFieldElement x,
ECFieldElement y,
boolean withCompression) |
protected ECPoint |
createRawPoint(ECFieldElement x,
ECFieldElement y,
ECFieldElement[] zs,
boolean withCompression) |
protected ECPoint |
decompressPoint(int yTilde,
java.math.BigInteger X1)
Decompresses a compressed point P = (xp, yp) (X9.62 s 4.2.2).
|
ECFieldElement |
fromBigInteger(java.math.BigInteger x) |
int |
getFieldSize() |
java.math.BigInteger |
getH()
Deprecated.
use
ECCurve.getCofactor() instead |
ECPoint |
getInfinity() |
int |
getK1() |
int |
getK2() |
int |
getK3() |
int |
getM() |
java.math.BigInteger |
getN()
Deprecated.
use
ECCurve.getOrder() instead |
boolean |
isKoblitz()
Returns true if this is a Koblitz curve (ABC curve).
|
boolean |
isTrinomial()
Return true if curve uses a Trinomial basis.
|
boolean |
supportsCoordinateSystem(int coord) |
checkPoint, checkPoints, configure, createPoint, decodePoint, equals, equals, getA, getAllCoordinateSystems, getB, getCofactor, getCoordinateSystem, getEndomorphism, getField, getMultiplier, getOrder, getPreCompInfo, hashCode, importPoint, normalizeAll, setPreCompInfo, validatePoint, validatePoint
public ECCurve.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 ECCurve.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
.public ECCurve.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 ECCurve.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 ECCurve.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 ECCurve
public boolean supportsCoordinateSystem(int coord)
supportsCoordinateSystem
in class ECCurve
protected ECMultiplier createDefaultMultiplier()
createDefaultMultiplier
in class ECCurve
public int getFieldSize()
getFieldSize
in class ECCurve
public ECFieldElement fromBigInteger(java.math.BigInteger x)
fromBigInteger
in class ECCurve
public ECPoint createPoint(java.math.BigInteger x, java.math.BigInteger y, boolean withCompression)
createPoint
in class ECCurve
protected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, boolean withCompression)
createRawPoint
in class ECCurve
protected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs, boolean withCompression)
createRawPoint
in class ECCurve
public ECPoint getInfinity()
getInfinity
in class ECCurve
public boolean isKoblitz()
protected ECPoint decompressPoint(int yTilde, java.math.BigInteger X1)
decompressPoint
in class ECCurve
yTilde
- ~yp, an indication bit for the decompression of yp.X1
- The field element xp.public int getM()
public boolean isTrinomial()
public int getK1()
public int getK2()
public int getK3()
public java.math.BigInteger getN()
ECCurve.getOrder()
insteadpublic java.math.BigInteger getH()
ECCurve.getCofactor()
instead