- java.lang.Object
- 
- java.security.spec.ECFieldF2m
 
- 
- 
Constructor SummaryConstructors Constructor Description ECFieldF2m(int m)Creates an elliptic curve characteristic 2 finite field which has 2^melements with normal basis.ECFieldF2m(int m, int[] ks)Creates an elliptic curve characteristic 2 finite field which has 2^melements with polynomial basis.ECFieldF2m(int m, BigInteger rp)Creates an elliptic curve characteristic 2 finite field which has 2^melements with polynomial basis.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)Compares this finite field for equality with the specified object.intgetFieldSize()Returns the field size in bits which ismfor this characteristic 2 finite field.intgetM()Returns the valuemof 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.BigIntegergetReductionPolynomial()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.inthashCode()Returns a hash code value for this characteristic 2 finite field.
 
- 
- 
- 
Constructor Detail- 
ECFieldF2mpublic ECFieldF2m(int m) Creates an elliptic curve characteristic 2 finite field which has 2^melements with normal basis.- Parameters:
- m- with 2^- mbeing the number of elements.
- Throws:
- IllegalArgumentException- if- mis not positive.
 
 - 
ECFieldF2mpublic ECFieldF2m(int m, BigInteger rp)Creates an elliptic curve characteristic 2 finite field which has 2^melements with polynomial basis. The reduction polynomial for this field is based onrpwhose 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 withm>k>= 1) or a pentanomial (X^m+ X^k3+ X^k2+ X^k1+ 1 withm>k3>k2>k1>= 1).- Parameters:
- m- with 2^- mbeing the number of elements.
- rp- the BigInteger whose i-th bit corresponds to the i-th coefficient of the reduction polynomial.
- Throws:
- NullPointerException- if- rpis null.
- IllegalArgumentException- if- mis not positive, or- rpdoes not represent a valid reduction polynomial.
 
 - 
ECFieldF2mpublic ECFieldF2m(int m, int[] ks)Creates an elliptic curve characteristic 2 finite field which has 2^melements with polynomial basis. The reduction polynomial for this field is based onkswhose 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), soksshould have length 1 or 3.- Parameters:
- m- with 2^- mbeing 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- if- ksis null.
- IllegalArgumentException- if- mis not positive, or the length of- ksis neither 1 nor 3, or values in- ksare not between- m-1 and 1 (inclusive) and in descending order.
 
 
- 
 - 
Method Detail- 
getFieldSizepublic int getFieldSize() Returns the field size in bits which ismfor this characteristic 2 finite field.- Specified by:
- getFieldSizein interface- ECField
- Returns:
- the field size in bits.
 
 - 
getMpublic int getM() Returns the valuemof this characteristic 2 finite field.- Returns:
- mwith 2^- mbeing the number of elements.
 
 - 
getReductionPolynomialpublic 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.- 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.
 
 - 
getMidTermsOfReductionPolynomialpublic 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.
 
 - 
equalspublic boolean equals(Object obj) Compares this finite field for equality with the specified object.- Overrides:
- equalsin class- Object
- Parameters:
- obj- the object to be compared.
- Returns:
- true if objis an instance of ECFieldF2m and bothmand the reduction polynomial match, false otherwise.
- See Also:
- Object.hashCode(),- HashMap
 
 - 
hashCodepublic int hashCode() Returns a hash code value for this characteristic 2 finite field.- Overrides:
- hashCodein class- Object
- Returns:
- a hash code value.
- See Also:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
 
- 
 
-