java.lang.Object
java.security.spec.ECFieldF2m
 All Implemented Interfaces:
ECField
This immutable class defines an elliptic curve (EC)
characteristic 2 finite field.
 Since:
 1.5
 See Also:

Constructor Summary
ConstructorDescriptionECFieldF2m
(int m) Creates an elliptic curve characteristic 2 finite field which has 2^m
elements with normal basis.ECFieldF2m
(int m, int[] ks) Creates an elliptic curve characteristic 2 finite field which has 2^m
elements with polynomial basis.ECFieldF2m
(int m, BigInteger rp) Creates an elliptic curve characteristic 2 finite field which has 2^m
elements with polynomial basis. 
Method Summary
Modifier and TypeMethodDescriptionboolean
Compares this finite field for equality with the specified object.int
Returns the field size in bits which ism
for this characteristic 2 finite field.int
getM()
Returns the valuem
of this characteristic 2 finite field.int[]
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.Returns a BigInteger whose ith bit corresponds to the ith 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.

Constructor Details

ECFieldF2m
public ECFieldF2m(int m) Creates an elliptic curve characteristic 2 finite field which has 2^m
elements with normal basis. Parameters:
m
 with 2^m
being the number of elements. Throws:
IllegalArgumentException
 ifm
is not positive.

ECFieldF2m
Creates an elliptic curve characteristic 2 finite field which has 2^m
elements with polynomial basis. The reduction polynomial for this field is based onrp
whose ith bit corresponds to the ith coefficient of the reduction polynomial.Note: A valid reduction polynomial is either a trinomial (X^
m
+ X^k
+ 1 withm
>k
>= 1) or a pentanomial (X^m
+ X^k3
+ X^k2
+ X^k1
+ 1 withm
>k3
>k2
>k1
>= 1). Parameters:
m
 with 2^m
being the number of elements.rp
 the BigInteger whose ith bit corresponds to the ith coefficient of the reduction polynomial. Throws:
NullPointerException
 ifrp
is null.IllegalArgumentException
 ifm
is not positive, orrp
does not represent a valid reduction polynomial.

ECFieldF2m
public ECFieldF2m(int m, int[] ks) Creates an elliptic curve characteristic 2 finite field which has 2^m
elements with polynomial basis. The reduction polynomial for this field is based onks
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 withm
>k
>= 1) or a pentanomial (X^m
+ X^k3
+ X^k2
+ X^k1
+ 1 withm
>k3
>k2
>k1
>= 1), soks
should have length 1 or 3. Parameters:
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. Throws:
NullPointerException
 ifks
is null.IllegalArgumentException
 ifm
is not positive, or the length ofks
is neither 1 nor 3, or values inks
are not betweenm
1 and 1 (inclusive) and in descending order.


Method Details

getFieldSize
public int getFieldSize()Returns the field size in bits which ism
for this characteristic 2 finite field. Specified by:
getFieldSize
in interfaceECField
 Returns:
 the field size in bits.

getM
public int getM()Returns the valuem
of this characteristic 2 finite field. Returns:
m
with 2^m
being the number of elements.

getReductionPolynomial
Returns a BigInteger whose ith bit corresponds to the ith coefficient of the reduction polynomial for polynomial basis or null for normal basis. Returns:
 a BigInteger whose ith bit corresponds to the ith coefficient of the reduction polynomial for polynomial basis or null for normal basis.

getMidTermsOfReductionPolynomial
public 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. 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. A new array is returned each time this method is called.

equals
Compares this finite field for equality with the specified object. 
hashCode
public int hashCode()Returns a hash code value for this characteristic 2 finite field.
