X9FieldID (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.asn1.x9

## Class X9FieldID

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.x9.X9FieldID

- All Implemented Interfaces:
    ASN1Encodable, X9ObjectIdentifiers, Encodable

      public class X9FieldID
      extends ASN1Object
      implements X9ObjectIdentifiers

  ASN.1 def for Elliptic-Curve Field ID structure. See X9.62, for further details.

- - ### Field Summary

    - ### Fields inherited from interface org.bouncycastle.asn1.x9.X9ObjectIdentifiers

      `ansi_X9_42, ansi_X9_62, c2onb191v4, c2onb191v5, c2onb239v4, c2onb239v5, c2pnb163v1, c2pnb163v2, c2pnb163v3, c2pnb176w1, c2pnb208w1, c2pnb272w1, c2pnb304w1, c2pnb368w1, c2tnb191v1, c2tnb191v2, c2tnb191v3, c2tnb239v1, c2tnb239v2, c2tnb239v3, c2tnb359v1, c2tnb431r1, characteristic_two_field, cTwoCurve, dhEphem, dhHybrid1, dhHybrid2, dhHybridOneFlow, dhOneFlow, dhpublicnumber, dhSinglePass_cofactorDH_sha1kdf_scheme, dhSinglePass_stdDH_sha1kdf_scheme, dhStatic, ecdsa_with_SHA1, ecdsa_with_SHA2, ecdsa_with_SHA224, ecdsa_with_SHA256, ecdsa_with_SHA384, ecdsa_with_SHA512, ellipticCurve, gnBasis, id_dsa, id_dsa_with_sha1, id_ecPublicKey, id_ecSigType, id_fieldType, id_kdf_kdf2, id_kdf_kdf3, id_publicKeyType, mqv1, mqv2, mqvSinglePass_sha1kdf_scheme, ppBasis, prime_field, prime192v1, prime192v2, prime192v3, prime239v1, prime239v2, prime239v3, prime256v1, primeCurve, tpBasis, x9_42_schemes, x9_44, x9_44_components, x9_63_scheme`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `X9FieldID(java.math.BigInteger primeP)` Constructor for elliptic curves over prime fields `F2`.
    `X9FieldID(int m, int k1)` Constructor for elliptic curves over binary fields `F2m`.
    `X9FieldID(int m, int k1, int k2, int k3)` Constructor for elliptic curves over binary fields `F2m`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ASN1ObjectIdentifier` | `getIdentifier()`
    `static X9FieldID` | `getInstance(java.lang.Object obj)`
    `ASN1Primitive` | `getParameters()`
    `ASN1Primitive` | `toASN1Primitive()` Produce a DER encoding of the following structure.

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Object

      `encodeTo, encodeTo, equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode`

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

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

- - ### Constructor Detail

    - #### X9FieldID

          public X9FieldID(java.math.BigInteger primeP)

      Constructor for elliptic curves over prime fields `F2`.
      Parameters:
        `primeP` - The prime `p` defining the prime field.

    - #### X9FieldID

          public X9FieldID(int m,
                           int k1)

      Constructor for elliptic curves over binary fields `F2m`.
      Parameters:
        `m` - The exponent `m` of `F2m`.
        `k1` - The integer `k1` where `xm + xk1 + 1` represents the reduction polynomial `f(z)`.

    - #### X9FieldID

          public X9FieldID(int m,
                           int k1,
                           int k2,
                           int k3)

      Constructor for elliptic curves over binary fields `F2m`.
      Parameters:
        `m` - The exponent `m` of `F2m`.
        `k1` - The integer `k1` where `xm + xk3 + xk2 + xk1 + 1` represents the reduction polynomial `f(z)`.
        `k2` - The integer `k2` where `xm + xk3 + xk2 + xk1 + 1` represents the reduction polynomial `f(z)`.
        `k3` - The integer `k3` where `xm + xk3 + xk2 + xk1 + 1` represents the reduction polynomial `f(z)`..

  - ### Method Detail

    - #### getInstance

          public static X9FieldID getInstance(java.lang.Object obj)

    - #### getIdentifier

          public ASN1ObjectIdentifier getIdentifier()

    - #### getParameters

          public ASN1Primitive getParameters()

    - #### toASN1Primitive

          public ASN1Primitive toASN1Primitive()

      Produce a DER encoding of the following structure.

            FieldID ::= SEQUENCE {
                fieldType       FIELD-ID.&id({IOSet}),
                parameters      FIELD-ID.&Type({IOSet}{@fieldType})
            }

      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Specified by:
        `toASN1Primitive` in class `ASN1Object`
      Returns:
        a primitive representation of this object.