Class BLS12_381G1MapToCurve

  • All Implemented Interfaces:
    MapToCurve

    public class BLS12_381G1MapToCurve
    extends java.lang.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.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ECPoint process​(java.math.BigInteger u)
      Processes the given BigInteger element and maps it to a point on the elliptic curve, as defined by the hash 2 curve specification
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BLS12_381G1MapToCurve

        public BLS12_381G1MapToCurve​(ECCurve curveE)
    • Method Detail

      • process

        public ECPoint process​(java.math.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