org.bouncycastle.math.ec
Class ECCurve.F2m
java.lang.Object
|
+--org.bouncycastle.math.ec.ECCurve
|
+--org.bouncycastle.math.ec.ECCurve.AbstractF2m
|
+--org.bouncycastle.math.ec.ECCurve.F2m
- Enclosing class:
- ECCurve
- public static class ECCurve.F2m
- extends ECCurve.AbstractF2m
Elliptic curves over F2m. The Weierstrass equation is given by
y 2 + xy = x 3 + ax 2 + b.
Fields inherited from class org.bouncycastle.math.ec.ECCurve |
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 |
Constructor Summary |
|
ECCurve.F2m(int m,
int k,
java.math.BigInteger a,
java.math.BigInteger b)
Deprecated. use constructor taking order/cofactor |
|
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)
Deprecated. use constructor taking order/cofactor |
|
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)
|
Methods inherited from class org.bouncycastle.math.ec.ECCurve |
checkPoint, checkPoints, checkPoints, configure, decodePoint, equals, equals, getA, getAffinePointEncodingLength, getAllCoordinateSystems, getB, getCofactor, getCoordinateSystem, getEndomorphism, getField, getFieldElementEncodingLength, getMultiplier, getOrder, getPreCompInfo, hashCode, importPoint, normalizeAll, normalizeAll, precompute, validatePoint |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
ECCurve.F2m
public ECCurve.F2m(int m,
int k,
java.math.BigInteger a,
java.math.BigInteger b)
- Deprecated. use constructor taking order/cofactor
- Constructor for Trinomial Polynomial Basis (TPB).
- Parameters:
m
- The exponent m of
F 2 m.k
- The integer k where x m +
x k + 1 represents the reduction
polynomial f(z).a
- The coefficient a in the Weierstrass equation
for non-supersingular elliptic curves over
F 2 m.b
- The coefficient b in the Weierstrass equation
for non-supersingular elliptic curves over
F 2 m.
ECCurve.F2m
public 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).
- Parameters:
m
- The exponent m of
F 2 m.k
- The integer k where x m +
x k + 1 represents the reduction
polynomial f(z).a
- The coefficient a in the Weierstrass equation
for non-supersingular elliptic curves over
F 2 m.b
- The coefficient b in the Weierstrass equation
for non-supersingular elliptic curves over
F 2 m.order
- The order of the main subgroup of the elliptic curve.cofactor
- The cofactor of the elliptic curve, i.e.
#E a(F 2 m) = h * n.
ECCurve.F2m
public ECCurve.F2m(int m,
int k1,
int k2,
int k3,
java.math.BigInteger a,
java.math.BigInteger b)
- Deprecated. use constructor taking order/cofactor
- Constructor for Pentanomial Polynomial Basis (PPB).
- Parameters:
m
- The exponent m of
F 2 m.k1
- The integer k1 where x m +
x k3 + x k2 + x k1 + 1
represents the reduction polynomial f(z).k2
- The integer k2 where x m +
x k3 + x k2 + x k1 + 1
represents the reduction polynomial f(z).k3
- The integer k3 where x m +
x k3 + x k2 + x k1 + 1
represents the reduction polynomial f(z).a
- The coefficient a in the Weierstrass equation
for non-supersingular elliptic curves over
F 2 m.b
- The coefficient b in the Weierstrass equation
for non-supersingular elliptic curves over
F 2 m.
ECCurve.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)
- Constructor for Pentanomial Polynomial Basis (PPB).
- Parameters:
m
- The exponent m of
F 2 m.k1
- The integer k1 where x m +
x k3 + x k2 + x k1 + 1
represents the reduction polynomial f(z).k2
- The integer k2 where x m +
x k3 + x k2 + x k1 + 1
represents the reduction polynomial f(z).k3
- The integer k3 where x m +
x k3 + x k2 + x k1 + 1
represents the reduction polynomial f(z).a
- The coefficient a in the Weierstrass equation
for non-supersingular elliptic curves over
F 2 m.b
- The coefficient b in the Weierstrass equation
for non-supersingular elliptic curves over
F 2 m.order
- The order of the main subgroup of the elliptic curve.cofactor
- The cofactor of the elliptic curve, i.e.
#E a(F 2 m) = h * n.
ECCurve.F2m
protected ECCurve.F2m(int m,
int k1,
int k2,
int k3,
ECFieldElement a,
ECFieldElement b,
java.math.BigInteger order,
java.math.BigInteger cofactor)
cloneCurve
protected ECCurve cloneCurve()
- Overrides:
cloneCurve
in class ECCurve
supportsCoordinateSystem
public boolean supportsCoordinateSystem(int coord)
- Overrides:
supportsCoordinateSystem
in class ECCurve
createDefaultMultiplier
protected ECMultiplier createDefaultMultiplier()
- Overrides:
createDefaultMultiplier
in class ECCurve
getFieldSize
public int getFieldSize()
- Overrides:
getFieldSize
in class ECCurve
fromBigInteger
public ECFieldElement fromBigInteger(java.math.BigInteger x)
- Overrides:
fromBigInteger
in class ECCurve
createRawPoint
protected ECPoint createRawPoint(ECFieldElement x,
ECFieldElement y)
- Overrides:
createRawPoint
in class ECCurve
createRawPoint
protected ECPoint createRawPoint(ECFieldElement x,
ECFieldElement y,
ECFieldElement[] zs)
- Overrides:
createRawPoint
in class ECCurve
getInfinity
public ECPoint getInfinity()
- Overrides:
getInfinity
in class ECCurve
getM
public int getM()
isTrinomial
public boolean isTrinomial()
- Return true if curve uses a Trinomial basis.
- Returns:
- true if curve Trinomial, false otherwise.
getK1
public int getK1()
getK2
public int getK2()
getK3
public int getK3()
createCacheSafeLookupTable
public ECLookupTable createCacheSafeLookupTable(ECPoint[] points,
int off,
int len)
- Description copied from class:
ECCurve
- Create a cache-safe lookup table for the specified sequence of points. All the points MUST
belong to this
ECCurve
instance, and MUST already be normalized.
- Overrides:
createCacheSafeLookupTable
in class ECCurve