public class

ECFieldF2m

extends Object
implements ECField
java.lang.Object
   ↳ java.security.spec.ECFieldF2m

Class Overview

The parameters specifying a characteristic 2 finite field of an elliptic curve.

Summary

Public Constructors
ECFieldF2m(int m)
Creates a new ECFieldF2m with 2^m elements with a normal basis.
ECFieldF2m(int m, BigInteger rp)
Creates a new ECFieldF2m with 2^m elements with a polynomial basis and the reduction polynomial based on rp.
ECFieldF2m(int m, int[] ks)
Creates a new ECFieldF2m with 2^m elements with a polynomial basis and the reduction polynomial based on ks.
Public Methods
boolean equals(Object obj)
Returns whether the specified object equals to this finite field.
int getFieldSize()
Returns the size of this finite field (in bits).
int getM()
Returns the exponent m for this finite field, with 2^m as the number of elements.
int[] getMidTermsOfReductionPolynomial()
Returns a copy of the integer array containing the order of the middle term(s) of the reduction polynomial for a polynomial basis.
BigInteger getReductionPolynomial()
Returns the base of the reduction polynomial with the n-th bit corresponding to the n-th coefficient of the reduction polynomial for a polynomial basis.
int hashCode()
Returns the hashcode value for this finite field.
[Expand]
Inherited Methods
From class java.lang.Object
From interface java.security.spec.ECField

Public Constructors

public ECFieldF2m (int m)

Creates a new ECFieldF2m with 2^m elements with a normal basis.

Parameters
m the exponent m for the number of elements.
Throws
IllegalArgumentException if m <= zero.

public ECFieldF2m (int m, BigInteger rp)

Creates a new ECFieldF2m with 2^m elements with a polynomial basis and the reduction polynomial based on rp.

The reduction polynomial must be either trinomial or pentanomial.

Parameters
m the exponent m for the number of elements.
rp the base of the reduction polynomial with the n-th bit corresponding to the n-th coefficient of the reduction polynomial.
Throws
IllegalArgumentException if m <= zero or the rp is invalid.

public ECFieldF2m (int m, int[] ks)

Creates a new ECFieldF2m with 2^m elements with a polynomial basis and the reduction polynomial based on ks.

The reduction polynomial must be either trinomial or pentanomial.

Parameters
m the exponent m for the number of elements.
ks the base of the reduction polynomial with coefficients given in descending order.
Throws
IllegalArgumentException if m <= zero or the reduction polynomial is not valid.

Public Methods

public boolean equals (Object obj)

Returns whether the specified object equals to this finite field.

Parameters
obj the object to compare to this finite field.
Returns
  • true if the specified object is equal to this finite field, otherwise false.

public int getFieldSize ()

Returns the size of this finite field (in bits).

Returns
  • the size of this finite field (in bits).

public int getM ()

Returns the exponent m for this finite field, with 2^m as the number of elements.

Returns
  • the exponent m for this finite field

public int[] getMidTermsOfReductionPolynomial ()

Returns a copy of the integer array containing the order of the middle term(s) of the reduction polynomial for a polynomial basis.

Returns
  • a copy of the integer array containing the order of the middle term(s) of the reduction polynomial for a polynomial basis or null for a normal basis.

public BigInteger getReductionPolynomial ()

Returns the base of the reduction polynomial with the n-th bit corresponding to the n-th coefficient of the reduction polynomial for a polynomial basis.

Returns
  • the base of the reduction polynomial with the n-th bit corresponding to the n-th coefficient of the reduction polynomial for a polynomial basis or null for a normal basis.

public int hashCode ()

Returns the hashcode value for this finite field.

Returns
  • the hashcode value for this finite field.