| Constructor and Description | 
|---|
| ECFieldF2m(int m)Creates an elliptic curve characteristic 2 finite
 field which has 2^ melements with normal basis. | 
| ECFieldF2m(int m,
          BigInteger rp)Creates an elliptic curve characteristic 2 finite
 field which has 2^ melements with
 polynomial basis. | 
| ECFieldF2m(int m,
          int[] ks)Creates an elliptic curve characteristic 2 finite
 field which has 2^ melements with
 polynomial basis. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(Object obj)Compares this finite field for equality with the
 specified object. | 
| int | getFieldSize()Returns the field size in bits which is  mfor this characteristic 2 finite field. | 
| int | getM()Returns the value  mof this characteristic
 2 finite field. | 
| int[] | getMidTermsOfReductionPolynomial()Returns an integer array which contains the order of the
 middle term(s) of the reduction polynomial for polynomial
 basis or null for normal basis. | 
| BigInteger | getReductionPolynomial()Returns a BigInteger whose i-th bit corresponds to the
 i-th coefficient of the reduction polynomial for polynomial
 basis or null for normal basis. | 
| int | hashCode()Returns a hash code value for this characteristic 2
 finite field. | 
public ECFieldF2m(int m)
m elements with normal basis.m - with 2^m being the number of elements.IllegalArgumentException - if m
 is not positive.public ECFieldF2m(int m,
                  BigInteger rp)
m elements with
 polynomial basis.
 The reduction polynomial for this field is based
 on rp whose i-th bit corresponds to
 the i-th coefficient of the reduction polynomial.
 Note: A valid reduction polynomial is either a
 trinomial (X^m + X^k + 1
 with m > k >= 1) or a
 pentanomial (X^m + X^k3
 + X^k2 + X^k1 + 1 with
 m > k3 > k2
 > k1 >= 1).
m - with 2^m being the number of elements.rp - the BigInteger whose i-th bit corresponds to
 the i-th coefficient of the reduction polynomial.NullPointerException - if rp is null.IllegalArgumentException - if m
 is not positive, or rp does not represent
 a valid reduction polynomial.public ECFieldF2m(int m,
                  int[] ks)
m elements with
 polynomial basis. The reduction polynomial for this
 field is based on ks whose content
 contains the order of the middle term(s) of the
 reduction polynomial.
 Note: A valid reduction polynomial is either a
 trinomial (X^m + X^k + 1
 with m > k >= 1) or a
 pentanomial (X^m + X^k3
 + X^k2 + X^k1 + 1 with
 m > k3 > k2
 > k1 >= 1), so ks should
 have length 1 or 3.m - with 2^m being the number of elements.ks - the order of the middle term(s) of the
 reduction polynomial. Contents of this array are copied
 to protect against subsequent modification.NullPointerException - if ks is null.IllegalArgumentException - ifm
 is not positive, or the length of ks
 is neither 1 nor 3, or values in ks
 are not between m-1 and 1 (inclusive)
 and in descending order.public int getFieldSize()
m
 for this characteristic 2 finite field.getFieldSize in interface ECFieldpublic int getM()
m of this characteristic
 2 finite field.m with 2^m being the
 number of elements.public BigInteger getReductionPolynomial()
public int[] getMidTermsOfReductionPolynomial()
public boolean equals(Object obj)
equals in class Objectobj - the object to be compared.obj is an instance
 of ECFieldF2m and both m and the reduction
 polynomial match, false otherwise.Object.hashCode(), 
HashMappublic int hashCode()
hashCode in class ObjectObject.equals(java.lang.Object), 
System.identityHashCode(java.lang.Object) Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.