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()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
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
-