ECPoint.AbstractF2m (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.math.ec

## Class ECPoint.AbstractF2m

- java.lang.Object
- - org.bouncycastle.math.ec.ECPoint
  - - org.bouncycastle.math.ec.ECPoint.AbstractF2m

- Direct Known Subclasses:
    ECPoint.F2m, SecT113R1Point, SecT113R2Point, SecT131R1Point, SecT131R2Point, SecT163K1Point, SecT163R1Point, SecT163R2Point, SecT193R1Point, SecT193R2Point, SecT233K1Point, SecT233R1Point, SecT239K1Point, SecT283K1Point, SecT283R1Point, SecT409K1Point, SecT409R1Point, SecT571K1Point, SecT571R1Point
  Enclosing class:
    ECPoint

      public abstract static class ECPoint.AbstractF2m
      extends ECPoint

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.bouncycastle.math.ec.ECPoint

      `ECPoint.AbstractF2m, ECPoint.AbstractFp, ECPoint.F2m, ECPoint.Fp`

  - ### Field Summary

    - ### Fields inherited from class org.bouncycastle.math.ec.ECPoint

      `curve, EMPTY_ZS, preCompTable, x, y, zs`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractF2m(ECCurve curve, ECFieldElement x, ECFieldElement y)`
    `protected` | `AbstractF2m(ECCurve curve, ECFieldElement x, ECFieldElement y, ECFieldElement[] zs)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `satisfiesCurveEquation()`
    `protected boolean` | `satisfiesOrder()`
    `ECPoint` | `scaleX(ECFieldElement scale)`
    `ECPoint` | `scaleXNegateY(ECFieldElement scale)`
    `ECPoint` | `scaleY(ECFieldElement scale)`
    `ECPoint` | `scaleYNegateX(ECFieldElement scale)`
    `ECPoint` | `subtract(ECPoint b)`
    `ECPoint.AbstractF2m` | `tau()`
    `ECPoint.AbstractF2m` | `tauPow(int pow)`

    - ### Methods inherited from class org.bouncycastle.math.ec.ECPoint

      `add, checkNormalized, createScaledPoint, detach, encodeTo, equals, equals, getAffineXCoord, getAffineYCoord, getCompressionYTilde, getCurve, getCurveCoordinateSystem, getDetachedPoint, getEncoded, getEncodedLength, getInitialZCoords, getRawXCoord, getRawYCoord, getRawZCoords, getXCoord, getYCoord, getZCoord, getZCoords, hashCode, isInfinity, isNormalized, isValid, multiply, negate, normalize, threeTimes, timesPow2, toString, twice, twicePlus`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractF2m

          protected AbstractF2m(ECCurve curve,
                                ECFieldElement x,
                                ECFieldElement y)

    - #### AbstractF2m

          protected AbstractF2m(ECCurve curve,
                                ECFieldElement x,
                                ECFieldElement y,
                                ECFieldElement[] zs)

  - ### Method Detail

    - #### satisfiesCurveEquation

          protected boolean satisfiesCurveEquation()

      Specified by:
        `satisfiesCurveEquation` in class `ECPoint`

    - #### satisfiesOrder

          protected boolean satisfiesOrder()

      Overrides:
        `satisfiesOrder` in class `ECPoint`

    - #### scaleX

          public ECPoint scaleX(ECFieldElement scale)

      Overrides:
        `scaleX` in class `ECPoint`

    - #### scaleXNegateY

          public ECPoint scaleXNegateY(ECFieldElement scale)

      Overrides:
        `scaleXNegateY` in class `ECPoint`

    - #### scaleY

          public ECPoint scaleY(ECFieldElement scale)

      Overrides:
        `scaleY` in class `ECPoint`

    - #### scaleYNegateX

          public ECPoint scaleYNegateX(ECFieldElement scale)

      Overrides:
        `scaleYNegateX` in class `ECPoint`

    - #### subtract

          public ECPoint subtract(ECPoint b)

      Specified by:
        `subtract` in class `ECPoint`

    - #### tau

          public ECPoint.AbstractF2m tau()

    - #### tauPow

          public ECPoint.AbstractF2m tauPow(int pow)