public class BLS12_381G1CurveProcessor extends java.lang.Object implements CurveProcessor
BLS12_381G1.H_EFF (Bowe's fast cofactor clear), as mandated by
RFC 9380 sec. 8.8.1.| Constructor and Description |
|---|
BLS12_381G1CurveProcessor() |
| Modifier and Type | Method and Description |
|---|---|
ECPoint |
add(ECPoint p,
ECPoint q)
Add two points in the curve group.
|
ECPoint |
clearCofactor(ECPoint ecPoint)
Clears the cofactor from the given elliptic curve point.
|
AffineXY |
mapToAffineXY(ECPoint p)
Converts an elliptic-curve point into the affine (x, y) coordinate representation defined by the
hash-to-curve suite.
|
public ECPoint add(ECPoint p, ECPoint q)
CurveProcessoradd in interface CurveProcessorpublic ECPoint clearCofactor(ECPoint ecPoint)
CurveProcessorclearCofactor in interface CurveProcessorecPoint - the elliptic curve point to processpublic AffineXY mapToAffineXY(ECPoint p)
CurveProcessorThe returned coordinates are intended for serialization, testing, and interoperability with the reference outputs defined in RFC 9380. For most Weierstrass curves, this is simply the affine (x, y) coordinates of the given point. For curves that use a different coordinate model in the specification (e.g. Montgomery curves such as curve25519), this method applies the appropriate coordinate transformation.
This method does not change the underlying group element represented by the point. It only changes how that point is expressed as field elements. The input point is expected to be a valid point on the curve used by the implementation.
mapToAffineXY in interface CurveProcessorp - a valid elliptic-curve point