public abstract static class ECCurve.AbstractF2m extends ECCurve
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 |
---|---|
protected |
AbstractF2m(int m,
int k1,
int k2,
int k3) |
Modifier and Type | Method and Description |
---|---|
ECPoint |
createPoint(java.math.BigInteger x,
java.math.BigInteger y) |
protected ECPoint |
decompressPoint(int yTilde,
java.math.BigInteger X1)
Decompresses a compressed point P = (xp, yp) (X9.62 s 4.2.2).
|
static java.math.BigInteger |
inverse(int m,
int[] ks,
java.math.BigInteger x) |
boolean |
isKoblitz()
Returns true if this is a Koblitz curve (ABC curve).
|
boolean |
isValidFieldElement(java.math.BigInteger x) |
ECFieldElement |
randomFieldElement(java.security.SecureRandom r) |
ECFieldElement |
randomFieldElementMult(java.security.SecureRandom r) |
protected ECFieldElement |
solveQuadraticEquation(ECFieldElement beta)
Solves a quadratic equation
z2 + z = beta (X9.62
D.1.6) The other solution is z + 1 . |
checkPoint, checkPoints, checkPoints, cloneCurve, configure, createCacheSafeLookupTable, createDefaultMultiplier, createRawPoint, createRawPoint, decodePoint, equals, equals, fromBigInteger, getA, getAffinePointEncodingLength, getAllCoordinateSystems, getB, getCofactor, getCoordinateSystem, getEndomorphism, getField, getFieldElementEncodingLength, getFieldSize, getInfinity, getMultiplier, getOrder, getPreCompInfo, hashCode, importPoint, normalizeAll, normalizeAll, precompute, supportsCoordinateSystem, validatePoint
public static java.math.BigInteger inverse(int m, int[] ks, java.math.BigInteger x)
public ECPoint createPoint(java.math.BigInteger x, java.math.BigInteger y)
createPoint
in class ECCurve
public boolean isValidFieldElement(java.math.BigInteger x)
isValidFieldElement
in class ECCurve
public ECFieldElement randomFieldElement(java.security.SecureRandom r)
randomFieldElement
in class ECCurve
public ECFieldElement randomFieldElementMult(java.security.SecureRandom r)
randomFieldElementMult
in class ECCurve
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.protected ECFieldElement solveQuadraticEquation(ECFieldElement beta)
z2 + z = beta
(X9.62
D.1.6) The other solution is z + 1
.beta
- The value to solve the quadratic equation for.z2 + z = beta
or
null
if no solution exists.public boolean isKoblitz()