Class BLS12_381G1MapToCurve

java.lang.Object
org.bouncycastle.crypto.hash2curve.impl.BLS12_381G1MapToCurve
All Implemented Interfaces:
MapToCurve

public class BLS12_381G1MapToCurve extends Object implements MapToCurve
Map-to-curve implementation for the BLS12381G1_XMD:SHA-256_SSWU_RO_ suite (RFC 9380 sec. 8.8.1).

BLS12-381 G1 has A == 0, so the simplified SWU map cannot be applied to E directly. Instead the suite specifies an 11-isogenous curve E' (RFC 9380 App. E.2) with non-zero A' / B', SSWU is run on E', and the resulting point is mapped back to E by the iso_11 rational map.

  • Constructor Details

    • BLS12_381G1MapToCurve

      public BLS12_381G1MapToCurve(ECCurve curveE)
  • Method Details

    • process

      public ECPoint process(BigInteger u)
      Description copied from interface: MapToCurve
      Processes the given BigInteger element and maps it to a point on the elliptic curve, as defined by the hash 2 curve specification
      Specified by:
      process in interface MapToCurve
      Parameters:
      u - the input BigInteger element to be mapped to a point on the curve
      Returns:
      the elliptic curve point corresponding to the input element