Class SM9P256V1Curve
java.lang.Object
org.bouncycastle.math.ec.ECCurve
org.bouncycastle.math.ec.ECCurve.AbstractFp
org.bouncycastle.math.ec.custom.gm.SM9P256V1Curve
The SM9 G1 curve E: y^2 = x^3 + 5 (a = 0) over the 256-bit Barreto-Naehrig base
field F_q (GM/T 0044.5-2016), backed by the constant-time Montgomery field
SM9P256V1Field. This is the same custom-curve pattern as
SM2P256V1Curve but for a general (non-Solinas) prime; it is used only as
the G1 of the SM9 identity-based schemes and supports uncompressed points only.-
Nested Class Summary
Nested classes/interfaces inherited from class ECCurve
ECCurve.AbstractF2m, ECCurve.AbstractFp, ECCurve.Config, ECCurve.F2m, ECCurve.Fp -
Field Summary
FieldsFields inherited from class 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected ECCurvecreateCacheSafeLookupTable(ECPoint[] points, int off, int len) Create a cache-safe lookup table for the specified sequence of points.protected ECPointprotected ECPointcreateRawPoint(ECFieldElement x, ECFieldElement y, ECFieldElement[] zs) intgetQ()booleansupportsCoordinateSystem(int coord) Methods inherited from class ECCurve.AbstractFp
decompressPoint, isValidFieldElement, randomFieldElement, randomFieldElementMultMethods inherited from class 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 Details
-
q
-
infinity
-
-
Constructor Details
-
SM9P256V1Curve
public SM9P256V1Curve()
-
-
Method Details
-
cloneCurve
- Specified by:
cloneCurvein classECCurve
-
supportsCoordinateSystem
public boolean supportsCoordinateSystem(int coord) - Overrides:
supportsCoordinateSystemin classECCurve
-
getQ
- Overrides:
getQin classECCurve.AbstractFp
-
getFieldSize
public int getFieldSize()- Specified by:
getFieldSizein classECCurve
-
fromBigInteger
- Specified by:
fromBigIntegerin classECCurve
-
createRawPoint
- Specified by:
createRawPointin classECCurve
-
createRawPoint
- Specified by:
createRawPointin classECCurve
-
getInfinity
- Specified by:
getInfinityin classECCurve
-
createCacheSafeLookupTable
Description copied from class:ECCurveCreate a cache-safe lookup table for the specified sequence of points. All the points MUST belong to thisECCurveinstance, and MUST already be normalized.- Overrides:
createCacheSafeLookupTablein classECCurve
-