public class SM9P256V1Point extends ECPoint.AbstractFp
SM9P256V1Field.
The group law is the standard a=0 Jacobian addition (add-2007-bl) and doubling
(dbl-2009-l), written in terms of the ECFieldElement operations so it is
correct over the Montgomery-form field. (It does not use the Solinas-specific
int[]-level fused reductions that SM2P256V1Point relies on, which are
not valid for a Montgomery representation.)
ECPoint.AbstractF2m, ECPoint.AbstractFp, ECPoint.F2m, ECPoint.Fp| Modifier and Type | Method and Description |
|---|---|
ECPoint |
add(ECPoint b) |
protected ECPoint |
detach() |
void |
encodeTo(boolean compressed,
byte[] buf,
int off)
Only the uncompressed encoding is written.
|
int |
getEncodedLength(boolean compressed)
The compressed length is refused, as
encodeTo(boolean, byte[], int) refuses the
compressed encoding itself. |
ECPoint |
negate() |
ECPoint |
threeTimes() |
ECPoint |
twice() |
ECPoint |
twicePlus(ECPoint b) |
getCompressionYTilde, satisfiesCurveEquation, subtractcheckNormalized, createScaledPoint, equals, equals, getAffineXCoord, getAffineYCoord, getCurve, getCurveCoordinateSystem, getDetachedPoint, getEncoded, getInitialZCoords, getRawXCoord, getRawYCoord, getRawZCoords, getXCoord, getYCoord, getZCoord, getZCoords, hashCode, isInfinity, isNormalized, isValid, multiply, normalize, satisfiesOrder, scaleX, scaleXNegateY, scaleY, scaleYNegateX, timesPow2, toStringpublic int getEncodedLength(boolean compressed)
encodeTo(boolean, byte[], int) refuses the
compressed encoding itself.getEncodedLength in class ECPointpublic void encodeTo(boolean compressed,
byte[] buf,
int off)
SM9P256V1FieldElement.sqrt() - so a compressed
encoding written here was one ECCurve.decodePoint(byte[]) on the same curve then
refused. The point at infinity keeps its one-octet encoding, which decodes.public ECPoint threeTimes()
threeTimes in class ECPoint