Package org.bouncycastle.math.ec.custom.sec

## Class SecP256R1FieldElement

- java.lang.Object
- - org.bouncycastle.math.ec.ECFieldElement
  - - org.bouncycastle.math.ec.ECFieldElement.AbstractFp
    - - org.bouncycastle.math.ec.custom.sec.SecP256R1FieldElement

- All Implemented Interfaces:
    `ECConstants`

      public class SecP256R1FieldElement
      extends ECFieldElement.AbstractFp

- - ### Nested Class Summary

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

      `ECFieldElement.AbstractF2m, ECFieldElement.AbstractFp, ECFieldElement.F2m, ECFieldElement.Fp`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.math.BigInteger` | `Q` |
    `protected int[]` | `x` |

    - ### Fields inherited from interface org.bouncycastle.math.ec.ECConstants

      `EIGHT, FOUR, ONE, THREE, TWO, ZERO`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `` | `SecP256R1FieldElement()` |
    `protected` | `SecP256R1FieldElement​(int[] x)` |
    `` | `SecP256R1FieldElement​(java.math.BigInteger x)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ECFieldElement` | `add​(ECFieldElement b)` |
    `ECFieldElement` | `addOne()` |
    `ECFieldElement` | `divide​(ECFieldElement b)` |
    `boolean` | `equals​(java.lang.Object other)` |
    `java.lang.String` | `getFieldName()` |
    `int` | `getFieldSize()` |
    `int` | `hashCode()` |
    `ECFieldElement` | `invert()` |
    `boolean` | `isOne()` |
    `boolean` | `isZero()` |
    `ECFieldElement` | `multiply​(ECFieldElement b)` |
    `ECFieldElement` | `negate()` |
    `ECFieldElement` | `sqrt()` | return a sqrt root - the routine verifies that the calculation returns the right value - if none exists it returns null.
    `ECFieldElement` | `square()` |
    `ECFieldElement` | `subtract​(ECFieldElement b)` |
    `boolean` | `testBitZero()` |
    `java.math.BigInteger` | `toBigInteger()` |

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

      `bitLength, getEncoded, multiplyMinusProduct, multiplyPlusProduct, squareMinusProduct, squarePlusProduct, squarePow, toString`

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

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

- - ### Field Detail

    - #### Q

          public static final java.math.BigInteger Q

    - #### x

          protected int[] x

  - ### Constructor Detail

    - #### SecP256R1FieldElement

          public SecP256R1FieldElement​(java.math.BigInteger x)

    - #### SecP256R1FieldElement

          public SecP256R1FieldElement()

    - #### SecP256R1FieldElement

          protected SecP256R1FieldElement​(int[] x)

  - ### Method Detail

    - #### isZero

          public boolean isZero()

      Overrides:
        `isZero` in class `ECFieldElement`

    - #### isOne

          public boolean isOne()

      Overrides:
        `isOne` in class `ECFieldElement`

    - #### testBitZero

          public boolean testBitZero()

      Overrides:
        `testBitZero` in class `ECFieldElement`

    - #### toBigInteger

          public java.math.BigInteger toBigInteger()

      Specified by:
        `toBigInteger` in class `ECFieldElement`

    - #### getFieldName

          public java.lang.String getFieldName()

      Specified by:
        `getFieldName` in class `ECFieldElement`

    - #### getFieldSize

          public int getFieldSize()

      Specified by:
        `getFieldSize` in class `ECFieldElement`

    - #### add

          public ECFieldElement add​(ECFieldElement b)

      Specified by:
        `add` in class `ECFieldElement`

    - #### addOne

          public ECFieldElement addOne()

      Specified by:
        `addOne` in class `ECFieldElement`

    - #### subtract

          public ECFieldElement subtract​(ECFieldElement b)

      Specified by:
        `subtract` in class `ECFieldElement`

    - #### multiply

          public ECFieldElement multiply​(ECFieldElement b)

      Specified by:
        `multiply` in class `ECFieldElement`

    - #### divide

          public ECFieldElement divide​(ECFieldElement b)

      Specified by:
        `divide` in class `ECFieldElement`

    - #### negate

          public ECFieldElement negate()

      Specified by:
        `negate` in class `ECFieldElement`

    - #### square

          public ECFieldElement square()

      Specified by:
        `square` in class `ECFieldElement`

    - #### invert

          public ECFieldElement invert()

      Specified by:
        `invert` in class `ECFieldElement`

    - #### sqrt

          public ECFieldElement sqrt()

      return a sqrt root - the routine verifies that the calculation returns the right value - if none exists it returns null.
      Specified by:
        `sqrt` in class `ECFieldElement`

    - #### equals

          public boolean equals​(java.lang.Object other)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`