|
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
public abstract class ECCurve
base class for an elliptic curve
Nested Class Summary | |
---|---|
class |
ECCurve.Config
|
static class |
ECCurve.F2m
Elliptic curves over F2m. |
static class |
ECCurve.Fp
Elliptic curve over Fp |
Field Summary | |
---|---|
protected ECFieldElement |
a
|
protected ECFieldElement |
b
|
protected int |
coord
|
static int |
COORD_AFFINE
|
static int |
COORD_HOMOGENEOUS
|
static int |
COORD_JACOBIAN
|
static int |
COORD_JACOBIAN_CHUDNOVSKY
|
static int |
COORD_JACOBIAN_MODIFIED
|
static int |
COORD_LAMBDA_AFFINE
|
static int |
COORD_LAMBDA_PROJECTIVE
|
static int |
COORD_SKEWED
|
protected ECMultiplier |
multiplier
|
Constructor Summary | |
---|---|
ECCurve()
|
Method Summary | |
---|---|
protected void |
checkPoint(ECPoint point)
|
protected void |
checkPoints(ECPoint[] points)
|
protected abstract ECCurve |
cloneCurve()
|
ECCurve.Config |
configure()
|
protected ECMultiplier |
createDefaultMultiplier()
|
ECPoint |
createPoint(java.math.BigInteger x,
java.math.BigInteger y)
|
ECPoint |
createPoint(java.math.BigInteger x,
java.math.BigInteger y,
boolean withCompression)
Deprecated. per-point compression property will be removed, use createPoint(BigInteger, BigInteger)
and refer ECPoint.getEncoded(boolean) |
protected abstract ECPoint |
createRawPoint(ECFieldElement x,
ECFieldElement y,
boolean withCompression)
|
ECPoint |
decodePoint(byte[] encoded)
Decode a point on this curve from its ASN.1 encoding. |
protected abstract ECPoint |
decompressPoint(int yTilde,
java.math.BigInteger X1)
|
abstract ECFieldElement |
fromBigInteger(java.math.BigInteger x)
|
ECFieldElement |
getA()
|
static int[] |
getAllCoordinateSystems()
|
ECFieldElement |
getB()
|
int |
getCoordinateSystem()
|
abstract int |
getFieldSize()
|
abstract ECPoint |
getInfinity()
|
ECMultiplier |
getMultiplier()
Sets the default ECMultiplier , unless already set. |
PreCompInfo |
getPreCompInfo(ECPoint p)
|
ECPoint |
importPoint(ECPoint p)
|
void |
normalizeAll(ECPoint[] points)
Normalization ensures that any projective coordinate is 1, and therefore that the x, y coordinates reflect those of the equivalent point in an affine coordinate system. |
void |
setPreCompInfo(ECPoint point,
PreCompInfo preCompInfo)
Sets the PreCompInfo for a point on this curve. |
boolean |
supportsCoordinateSystem(int coord)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int COORD_AFFINE
public static final int COORD_HOMOGENEOUS
public static final int COORD_JACOBIAN
public static final int COORD_JACOBIAN_CHUDNOVSKY
public static final int COORD_JACOBIAN_MODIFIED
public static final int COORD_LAMBDA_AFFINE
public static final int COORD_LAMBDA_PROJECTIVE
public static final int COORD_SKEWED
protected ECFieldElement a
protected ECFieldElement b
protected int coord
protected ECMultiplier multiplier
Constructor Detail |
---|
public ECCurve()
Method Detail |
---|
public static int[] getAllCoordinateSystems()
public abstract int getFieldSize()
public abstract ECFieldElement fromBigInteger(java.math.BigInteger x)
public ECCurve.Config configure()
public ECPoint createPoint(java.math.BigInteger x, java.math.BigInteger y)
public ECPoint createPoint(java.math.BigInteger x, java.math.BigInteger y, boolean withCompression)
createPoint(BigInteger, BigInteger)
and refer ECPoint.getEncoded(boolean)
protected abstract ECCurve cloneCurve()
protected abstract ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, boolean withCompression)
protected ECMultiplier createDefaultMultiplier()
public boolean supportsCoordinateSystem(int coord)
public PreCompInfo getPreCompInfo(ECPoint p)
public void setPreCompInfo(ECPoint point, PreCompInfo preCompInfo)
PreCompInfo
for a point on this curve. Used by
ECMultiplier
s to save the precomputation for this ECPoint
for use
by subsequent multiplication.
point
- The ECPoint
to store precomputations for.preCompInfo
- The values precomputed by the ECMultiplier
.public ECPoint importPoint(ECPoint p)
public void normalizeAll(ECPoint[] points)
points
- An array of points that will be updated in place with their normalized versions,
where necessarypublic abstract ECPoint getInfinity()
public ECFieldElement getA()
public ECFieldElement getB()
public int getCoordinateSystem()
protected abstract ECPoint decompressPoint(int yTilde, java.math.BigInteger X1)
public ECMultiplier getMultiplier()
ECMultiplier
, unless already set.
public ECPoint decodePoint(byte[] encoded)
Fp
(X9.62 s 4.2.1 pg 17).
protected void checkPoint(ECPoint point)
protected void checkPoints(ECPoint[] points)
|
Bouncy Castle Cryptography 1.50 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |