| Constructor and Description |
|---|
ECFieldF2m(int m)
Creates an elliptic curve characteristic 2 finite
field which has 2^
m elements with normal basis. |
ECFieldF2m(int m,
BigInteger rp)
Creates an elliptic curve characteristic 2 finite
field which has 2^
m elements with
polynomial basis. |
ECFieldF2m(int m,
int[] ks)
Creates an elliptic curve characteristic 2 finite
field which has 2^
m elements 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
m
for this characteristic 2 finite field. |
int |
getM()
Returns the value
m of 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, 2024, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.