|
Bouncy Castle Cryptography Library 1.81 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.bouncycastle.math.ec.ECCurve
org.bouncycastle.math.ec.ECCurve.AbstractF2m
org.bouncycastle.math.ec.ECCurve.F2m
Elliptic curves over F2m. The Weierstrass equation is given by y 2 + xy = x 3 + ax 2 + b.
Nested Class Summary |
Nested classes inherited from class org.bouncycastle.math.ec.ECCurve |
ECCurve.AbstractF2m, ECCurve.AbstractFp, ECCurve.Config, ECCurve.F2m, ECCurve.Fp |
Field Summary |
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)
|
Method Summary | |
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)
|
Methods inherited from class org.bouncycastle.math.ec.ECCurve.AbstractF2m |
createPoint, decompressPoint, inverse, isKoblitz, isValidFieldElement, randomFieldElement, randomFieldElementMult, solveQuadraticEquation |
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 |
Constructor Detail |
public ECCurve.F2m(int m, int k, java.math.BigInteger a, java.math.BigInteger b)
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.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
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.public ECCurve.F2m(int m, int k1, int k2, int k3, java.math.BigInteger a, java.math.BigInteger b)
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.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
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.protected ECCurve.F2m(int m, int k1, int k2, int k3, ECFieldElement a, ECFieldElement b, java.math.BigInteger order, java.math.BigInteger cofactor)
Method Detail |
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
protected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y)
createRawPoint
in class ECCurve
protected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs)
createRawPoint
in class ECCurve
public ECPoint getInfinity()
getInfinity
in class ECCurve
public int getM()
public boolean isTrinomial()
public int getK1()
public int getK2()
public int getK3()
public ECLookupTable createCacheSafeLookupTable(ECPoint[] points, int off, int len)
ECCurve
ECCurve
instance, and MUST already be normalized.
createCacheSafeLookupTable
in class ECCurve
|
Bouncy Castle Cryptography Library 1.81 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |