Class ECFieldF2m
java.lang.Object
java.security.spec.ECFieldF2m
- All Implemented Interfaces:
ECField
-
Constructor Summary
ConstructorsConstructorDescriptionECFieldF2m(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 Summary
Modifier and TypeMethodDescriptionbooleanCompares this finite field for equality with the specified object.intReturns the field size in bits which ismfor this characteristic 2 finite field.intgetM()Returns the valuemof 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 i-th bit corresponds to the i-th coefficient of the reduction polynomial for polynomial basis or null for normal basis.inthashCode()Returns the hash code value for this characteristic 2 finite field.Methods declared in class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Creates and returns a copy of this object.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.Finalization is deprecated and subject to removal in a future release.final Class<?> getClass()Returns the runtime class of thisObject.final voidnotify()Wakes up a single thread that is waiting on this object's monitor.final voidWakes up all threads that are waiting on this object's monitor.toString()Returns a string representation of the object.final voidwait()Causes the current thread to wait until it is awakened, typically by being notified or interrupted.final voidwait(long timeoutMillis) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.final voidwait(long timeoutMillis, int nanos) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
-
Constructor Details
-
ECFieldF2m
public 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- ifmis not positive.
-
ECFieldF2m
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- ifrpis null.IllegalArgumentException- ifmis not positive, orrpdoes not represent a valid reduction polynomial.
-
ECFieldF2m
public 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- ifksis null.IllegalArgumentException- ifmis not positive, or the length ofksis neither 1 nor 3, or values inksare not betweenm-1 and 1 (inclusive) and in descending order.
-
-
Method Details
-
getFieldSize
public int getFieldSize()Returns the field size in bits which ismfor this characteristic 2 finite field.- Specified by:
getFieldSizein interfaceECField- Returns:
- the field size in bits.
-
getM
public int getM()Returns the valuemof this characteristic 2 finite field.- Returns:
mwith 2^mbeing the number of elements.
-
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.
-
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
-