|
Bouncy Castle Cryptography 1.50 | ||||||||
| 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.F2m
public static class ECCurve.F2m
Elliptic curves over F2m. The Weierstrass equation is given by
y2 + xy = x3 + ax2 + b.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.bouncycastle.math.ec.ECCurve |
|---|
ECCurve.Config, ECCurve.F2m, ECCurve.Fp |
| Field Summary |
|---|
| Fields inherited from class org.bouncycastle.math.ec.ECCurve |
|---|
a, b, coord, COORD_AFFINE, COORD_HOMOGENEOUS, COORD_JACOBIAN, COORD_JACOBIAN_CHUDNOVSKY, COORD_JACOBIAN_MODIFIED, COORD_LAMBDA_AFFINE, COORD_LAMBDA_PROJECTIVE, COORD_SKEWED, multiplier |
| Constructor Summary | |
|---|---|
|
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 n,
java.math.BigInteger h)
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 n,
java.math.BigInteger h)
Constructor for Pentanomial Polynomial Basis (PPB). |
protected |
ECCurve.F2m(int m,
int k1,
int k2,
int k3,
ECFieldElement a,
ECFieldElement b,
java.math.BigInteger n,
java.math.BigInteger h)
|
| Method Summary | |
|---|---|
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 |
decompressPoint(int yTilde,
java.math.BigInteger X1)
Decompresses a compressed point P = (xp, yp) (X9.62 s 4.2.2). |
boolean |
equals(java.lang.Object anObject)
|
ECFieldElement |
fromBigInteger(java.math.BigInteger x)
|
int |
getFieldSize()
|
java.math.BigInteger |
getH()
|
ECPoint |
getInfinity()
|
int |
getK1()
|
int |
getK2()
|
int |
getK3()
|
int |
getM()
|
java.math.BigInteger |
getN()
|
int |
hashCode()
|
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)
|
| Methods inherited from class org.bouncycastle.math.ec.ECCurve |
|---|
checkPoint, checkPoints, configure, createPoint, decodePoint, getA, getAllCoordinateSystems, getB, getCoordinateSystem, getMultiplier, getPreCompInfo, importPoint, normalizeAll, setPreCompInfo |
| 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
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 n,
java.math.BigInteger h)
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.n - The order of the main subgroup of the elliptic curve.h - 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 n,
java.math.BigInteger h)
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.n - The order of the main subgroup of the elliptic curve.h - 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 n,
java.math.BigInteger h)
| Method Detail |
|---|
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 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 ECCurvepublic ECPoint getInfinity()
getInfinity in class ECCurvepublic boolean isKoblitz()
protected ECPoint decompressPoint(int yTilde,
java.math.BigInteger X1)
decompressPoint in class ECCurveyTilde - ~yp, an indication bit for the decompression of yp.X1 - The field element xp.
public boolean equals(java.lang.Object anObject)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic int getM()
public boolean isTrinomial()
public int getK1()
public int getK2()
public int getK3()
public java.math.BigInteger getN()
public java.math.BigInteger getH()
|
Bouncy Castle Cryptography 1.50 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||