Class ECCurve.AbstractF2m

java.lang.Object
org.bouncycastle.math.ec.ECCurve
org.bouncycastle.math.ec.ECCurve.AbstractF2m
Direct Known Subclasses:
ECCurve.F2m, SecT113R1Curve, SecT113R2Curve, SecT131R1Curve, SecT131R2Curve, SecT163K1Curve, SecT163R1Curve, SecT163R2Curve, SecT193R1Curve, SecT193R2Curve, SecT233K1Curve, SecT233R1Curve, SecT239K1Curve, SecT283K1Curve, SecT283R1Curve, SecT409K1Curve, SecT409R1Curve, SecT571K1Curve, SecT571R1Curve
Enclosing class:
ECCurve

public abstract static class ECCurve.AbstractF2m extends ECCurve
  • Constructor Details

    • AbstractF2m

      protected AbstractF2m(int m, int k1, int k2, int k3)
  • Method Details

    • inverse

      public static BigInteger inverse(int m, int[] ks, BigInteger x)
    • createPoint

      public ECPoint createPoint(BigInteger x, BigInteger y)
      Overrides:
      createPoint in class ECCurve
    • isValidFieldElement

      public boolean isValidFieldElement(BigInteger x)
      Specified by:
      isValidFieldElement in class ECCurve
    • randomFieldElement

      public ECFieldElement randomFieldElement(SecureRandom r)
      Specified by:
      randomFieldElement in class ECCurve
    • randomFieldElementMult

      public ECFieldElement randomFieldElementMult(SecureRandom r)
      Specified by:
      randomFieldElementMult in class ECCurve
    • decompressPoint

      protected ECPoint decompressPoint(int yTilde, BigInteger X1)
      Decompresses a compressed point P = (xp, yp) (X9.62 s 4.2.2).
      Specified by:
      decompressPoint in class ECCurve
      Parameters:
      yTilde - ~yp, an indication bit for the decompression of yp.
      X1 - The field element xp.
      Returns:
      the decompressed point.
    • solveQuadraticEquation

      protected ECFieldElement solveQuadraticEquation(ECFieldElement beta)
      Solves a quadratic equation z2 + z = beta(X9.62 D.1.6) The other solution is z + 1.
      Parameters:
      beta - The value to solve the quadratic equation for.
      Returns:
      the solution for z2 + z = beta or null if no solution exists.
    • isKoblitz

      public boolean isKoblitz()
      Returns true if this is a Koblitz curve (ABC curve).
      Returns:
      true if this is a Koblitz curve (ABC curve), false otherwise