Class Curve25519
- java.lang.Object
-
- org.bouncycastle.math.ec.ECCurve
-
- org.bouncycastle.math.ec.ECCurve.AbstractFp
-
- org.bouncycastle.math.ec.custom.djb.Curve25519
-
public class Curve25519 extends ECCurve.AbstractFp
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.bouncycastle.math.ec.ECCurve
ECCurve.AbstractF2m, ECCurve.AbstractFp, ECCurve.Config, ECCurve.F2m, ECCurve.Fp
-
-
Field Summary
Fields Modifier and Type Field Description protected Curve25519Point
infinity
static java.math.BigInteger
q
-
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
Constructors Constructor Description Curve25519()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ECCurve
cloneCurve()
ECLookupTable
createCacheSafeLookupTable(ECPoint[] points, int off, int len)
Create a cache-safe lookup table for the specified sequence of points.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()
java.math.BigInteger
getQ()
ECFieldElement
randomFieldElement(java.security.SecureRandom r)
ECFieldElement
randomFieldElementMult(java.security.SecureRandom r)
boolean
supportsCoordinateSystem(int coord)
-
Methods inherited from class org.bouncycastle.math.ec.ECCurve.AbstractFp
decompressPoint, isValidFieldElement
-
Methods inherited from class org.bouncycastle.math.ec.ECCurve
checkPoint, checkPoints, checkPoints, configure, createDefaultMultiplier, createPoint, decodePoint, equals, equals, getA, getAffinePointEncodingLength, getAllCoordinateSystems, getB, getCofactor, getCoordinateSystem, getEndomorphism, getField, getFieldElementEncodingLength, getMultiplier, getOrder, getPreCompInfo, hashCode, importPoint, normalizeAll, normalizeAll, precompute, validatePoint
-
-
-
-
Field Detail
-
q
public static final java.math.BigInteger q
-
infinity
protected Curve25519Point infinity
-
-
Method Detail
-
cloneCurve
protected ECCurve cloneCurve()
- Specified by:
cloneCurve
in classECCurve
-
supportsCoordinateSystem
public boolean supportsCoordinateSystem(int coord)
- Overrides:
supportsCoordinateSystem
in classECCurve
-
getQ
public java.math.BigInteger getQ()
-
getFieldSize
public int getFieldSize()
- Specified by:
getFieldSize
in classECCurve
-
fromBigInteger
public ECFieldElement fromBigInteger(java.math.BigInteger x)
- Specified by:
fromBigInteger
in classECCurve
-
createRawPoint
protected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y)
- Specified by:
createRawPoint
in classECCurve
-
createRawPoint
protected ECPoint createRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs)
- Specified by:
createRawPoint
in classECCurve
-
getInfinity
public ECPoint getInfinity()
- Specified by:
getInfinity
in classECCurve
-
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 thisECCurve
instance, and MUST already be normalized.- Overrides:
createCacheSafeLookupTable
in classECCurve
-
randomFieldElement
public ECFieldElement randomFieldElement(java.security.SecureRandom r)
- Overrides:
randomFieldElement
in classECCurve.AbstractFp
-
randomFieldElementMult
public ECFieldElement randomFieldElementMult(java.security.SecureRandom r)
- Overrides:
randomFieldElementMult
in classECCurve.AbstractFp
-
-