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 - 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.
Throws:
-
NullPointerException - if
ks
is null.
-
IllegalArgumentException - if
m
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.