java.security.spec

接口
异常
java.lang.Object
  继承者 java.security.spec.ECFieldF2m
所有已实现的接口:
ECField

public class ECFieldF2m
     
extends Object
implements ECField

此不可变类定义椭圆曲线 (EC) 首数为 2 的有限字段。

从以下版本开始:
1.5
另请参见:
ECField

构造方法摘要
ECFieldF2m(int m)
          使用常规方法创建一个椭圆曲线首数为 2(具有 2^m 个元素)的有限字段。
ECFieldF2m(int m, BigInteger rp)
          使用多项式方法创建一个椭圆曲线首数为 2(具有 2^m 个元素)的有限字段。
ECFieldF2m(int m, int[] ks)
          使用多项式方法创建椭圆曲线首数为 2(具有 2^m 个元素)的有限字段。
 
方法摘要
 boolean equals(Object obj)
          比较此有限字段与指定对象的相等性。
 int getFieldSize()
          返回以比特为单位的字段大小,对于此首数为 2 的有限字段,该字段大小为 m
 int getM()
          返回此首数为 2 的有限字段的值 m
 int[] getMidTermsOfReductionPolynomial()
          对于多项式方法,返回包含降序排列多项式的中间项顺序的整数数组,对于常规方法,返回 null。
 BigInteger getReductionPolynomial()
          对于多项式方法,返回一个 BigInteger,其第 i 位对应于降序排列多项式的第 i 个系数,对于常规方法,返回 null。
 int hashCode()
          返回此首数为 2 的有限字段的哈希码值。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

ECFieldF2m

public ECFieldF2m(int m)
使用常规方法创建一个椭圆曲线首数为 2(具有 2^ m 个元素)的有限字段。

参数:
m - 2^ m 表示元素数。
抛出:
IllegalArgumentException - 如果 m 不是正数。

ECFieldF2m

public ECFieldF2m(int m,
                  BigInteger rp)
使用多项式方法创建一个椭圆曲线首数为 2(具有 2^ m 个元素)的有限字段。此字段的降序排列多项式基于 rp,其第 i 位对应于降序排列多项式的第 i 个系数。

注:一个有效的降序排列多项式或者是一个三项式(X^m + X^k + 1,其中 m > k >= 1),或者是一个五项式(X^m + X^k3 + X^k2 + X^k1 + 1,其中 m > k3 > k2 > k1 >= 1)。

参数:
m - 2^ m 表示元素数。
rp - BigInteger,其第 i 位对应于降序排列多项式的第 i 个系数。
抛出:
NullPointerException - 如果 rp 为 null。
IllegalArgumentException - 如果 m 不是正数,或者 rp 不表示一个有效的降序排列多项式。

ECFieldF2m

public ECFieldF2m(int m,
                  int[] ks)
使用多项式方法创建椭圆曲线首数为 2(具有 2^ m 个元素)的有限字段。此字段的降序排列多项式基于 ks,其内容包含降序排列多项式的中间项的顺序。注:一个有效的降序排列多项式要么是一个三项式(X^ m + X^ k + 1,其中 m > k >= 1),要么是一个五项式(X^ m + X^ k3 + X^ k2 + X^ k1 + 1,其中 m > k3 > k2 > k1 >= 1),所以, ks 的长度应为 1 或 3。

参数:
m - 2^ m 表示元素数。
ks - 降序排列多项式的中间项的顺序。复制此数组的内容,以防止随后进行修改。
抛出:
NullPointerException - 如果 ks 为 null。
IllegalArgumentException - 如果 m 不是正数,或者 ks 的长度既不是 1,也不是 3,或者 ks 中的值不在 m-1 和 1(包括)之间,并且不按降序排列。
方法详细信息

getFieldSize

public int getFieldSize()
返回以比特为单位的字段大小,对于此首数为 2 的有限字段,该字段大小为 m

指定者:
接口 ECField 中的 getFieldSize
返回:
以比特为单位的字段大小。

getM

public int getM()
返回此首数为 2 的有限字段的值 m

返回:
m 2^ m 表示元素数。

getReductionPolynomial

public BigInteger getReductionPolynomial()
对于多项式方法,返回一个 BigInteger,其第 i 位对应于降序排列多项式的第 i 个系数,对于常规方法,返回 null。

返回:
对于多项式方法,返回一个 BigInteger,其第 i 位对应于降序排列多项式的第 i 个系数,对于常规方法,返回 null。

getMidTermsOfReductionPolynomial

public int[] getMidTermsOfReductionPolynomial()
对于多项式方法,返回包含降序排列多项式的中间项顺序的整数数组,对于常规方法,返回 null。

返回:
对于多项式方法,返回包含降序排列多项式的中间项顺序的整数数组,对于常规方法,返回 null。每次调用此方法时,都返回一个新数组。

equals

public boolean equals(Object obj)
比较此有限字段与指定对象的相等性。

覆盖:
Object 中的 equals
参数:
obj - 要比较的对象。
返回:
如果 obj 是 ECFieldF2m 的一个实例,并且 m 和降序排列多项式匹配,则返回 true,否则返回 false。
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
返回此首数为 2 的有限字段的哈希码值。

覆盖:
Object 中的 hashCode
返回:
哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable