Class SimplifiedShallueVanDeWoestijneMapToCurve

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

public class SimplifiedShallueVanDeWoestijneMapToCurve extends Object implements MapToCurve
Implements the Simplified Shallue van de Woestijne Map to curve according to section 6.6.2 of RFC 9380 This is the straight-line implementation optimized for Weierstrass curves as defined in section F.2.
  • Constructor Details

    • SimplifiedShallueVanDeWoestijneMapToCurve

      public SimplifiedShallueVanDeWoestijneMapToCurve(ECCurve curve, BigInteger z)
      Constructs an instance of the SimplifiedShallueVanDeWoestijneMapToCurve mapping mechanism for mapping values onto a Weierstrass elliptic curve. This implementation is based on section 6.6.2 of RFC 9380 and optimizations defined in section F.2.
      Parameters:
      curve - the elliptic curve to which the mapping will be applied; must conform to the Weierstrass form
      z - a non-zero constant value used as a parameter in the mapping algorithm
  • Method Details

    • process

      public ECPoint process(BigInteger u)
      Processes the given input value to map it to an elliptic curve point using the Shallue-van de Woestijne algorithm, optimized for Weierstrass curves. This implementation adheres to the specifications outlined in RFC 9380, section 6.6.2, and section F.2 for efficient computation.

      The method computes the x and y coordinates for the point on the elliptic curve, using modular arithmetic and auxiliary functions for square root computation and conditional assignments.

      Specified by:
      process in interface MapToCurve
      Parameters:
      u - the input value to be mapped to a point on the elliptic curve
      Returns:
      the computed point on the elliptic curve represented as an ECPoint