ECFieldF2m
  public
  
  
  
  class
  ECFieldF2m
  
    extends Object
  
  
  
  
  
      implements
      
        ECField
      
  
  
| java.lang.Object | |
| ↳ | java.security.spec.ECFieldF2m | 
This immutable class defines an elliptic curve (EC) characteristic 2 finite field.
See also:
Summary
Public constructors | |
|---|---|
      
      ECFieldF2m(int m)
      
      
        Creates an elliptic curve characteristic 2 finite
 field which has 2^  | 
  |
      
      ECFieldF2m(int m, int[] ks)
      
      
        Creates an elliptic curve characteristic 2 finite
 field which has 2^  | 
  |
      
      ECFieldF2m(int m, BigInteger rp)
      
      
        Creates an elliptic curve characteristic 2 finite
 field which has 2^  | 
  |
Public methods | |
|---|---|
        
        
        
        
        
        boolean
     | 
  
    
      
      equals(Object obj)
      
      
        Compares this finite field for equality with the specified object.  | 
  
        
        
        
        
        
        int
     | 
  
    
      
      getFieldSize()
      
      
        Returns the field size in bits which is   | 
  
        
        
        
        
        
        int
     | 
  
    
      
      getM()
      
      
        Returns the value   | 
  
        
        
        
        
        
        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.  | 
  
Inherited methods | |
|---|---|
Public constructors
ECFieldF2m
public ECFieldF2m (int m)
Creates an elliptic curve characteristic 2 finite
 field which has 2^m elements with normal basis.
| Parameters | |
|---|---|
m | 
        
          int: with 2^m being the number of elements. | 
      
| Throws | |
|---|---|
IllegalArgumentException | 
          if m
 is not positive. | 
        
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 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.
| Parameters | |
|---|---|
m | 
        
          int: with 2^m being the number of elements. | 
      
ks | 
        
          int: 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 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. | 
        
ECFieldF2m
public ECFieldF2m (int m, 
                BigInteger rp)Creates an elliptic curve characteristic 2 finite
 field which has 2^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).
| Parameters | |
|---|---|
m | 
        
          int: with 2^m being the number of elements. | 
      
rp | 
        
          BigInteger: the BigInteger whose i-th bit corresponds to
 the i-th coefficient of the reduction polynomial. | 
      
| Throws | |
|---|---|
NullPointerException | 
          if rp is null. | 
        
IllegalArgumentException | 
          if m
 is not positive, or rp does not represent
 a valid reduction polynomial. | 
        
Public methods
equals
public boolean equals (Object obj)
Compares this finite field for equality with the specified object.
| Parameters | |
|---|---|
obj | 
        
          Object: the object to be compared. | 
      
| Returns | |
|---|---|
boolean | 
        true if obj is an instance
 of ECFieldF2m and both m and the reduction
 polynomial match, false otherwise. | 
      
getFieldSize
public int getFieldSize ()
Returns the field size in bits which is m
 for this characteristic 2 finite field.
| Returns | |
|---|---|
int | 
        the field size in bits. | 
getM
public int getM ()
Returns the value m of this characteristic
 2 finite field.
| Returns | |
|---|---|
int | 
        m with 2^m being the
 number of elements. | 
      
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 | |
|---|---|
int[] | 
        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. | 
getReductionPolynomial
public 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 | |
|---|---|
BigInteger | 
        a BigInteger whose i-th bit corresponds to the i-th coefficient of the reduction polynomial for polynomial basis or null for normal basis. | 
hashCode
public int hashCode ()
Returns a hash code value for this characteristic 2 finite field.
| Returns | |
|---|---|
int | 
        a hash code value. |