- java.lang.Object
-
- java.security.spec.EllipticCurve
-
public class EllipticCurveextends Object
这个不可变类保存表示椭圆曲线所需的必要值。- 从以下版本开始:
- 1.5
- 另请参见:
-
ECField
,ECFieldFp
,ECFieldF2m
-
-
构造方法摘要
构造方法 构造器 描述 EllipticCurve(ECField field, BigInteger a, BigInteger b)
使用指定的椭圆形字段字段
和系数a
和b
创建椭圆曲线。EllipticCurve(ECField field, BigInteger a, BigInteger b, byte[] seed)
使用指定的椭圆形字段字段
,系数a
和b
以及用于生成曲线的seed
创建椭圆曲线。
-
-
-
构造方法详细信息
-
EllipticCurve
public EllipticCurve(ECField field, BigInteger a, BigInteger b)
使用指定的椭圆形字段字段
和系数a
和b
创建椭圆曲线。- 参数
-
字段
- 此椭圆曲线结束的有限域。 -
a
- 此椭圆曲线的第一个系数。 -
b
- 此椭圆曲线的第二个系数。 - 异常
-
NullPointerException
-如果字段
,a
,或b
为null。 -
IllegalArgumentException
- 如果a
或b
不为空且不在字段
。
-
EllipticCurve
public EllipticCurve(ECField field, BigInteger a, BigInteger b, byte[] seed)
使用指定的椭圆形字段字段
,系数a
和b
以及用于生成曲线的seed
创建椭圆曲线。- 参数
-
字段
- 此椭圆曲线结束的有限域。 -
a
- 此椭圆曲线的第一个系数。 -
b
- 该椭圆曲线的第二个系数。 -
seed
- 曲线生成期间用于以后验证的字节数。 复制此数组的内容以防止后续修改。 - 异常
-
NullPointerException
-如果字段
,a
,或b
为null。 -
IllegalArgumentException
- 如果a
或b
不为空且不在字段
。
-
-
方法详细信息
-
getField
public ECField getField()
返回此椭圆曲线结束的有限域字段
。- 结果
- 该曲线结束的字段
字段
。
-
getA
public BigInteger getA()
返回椭圆曲线的第一个系数a
。- 结果
- 第一个系数
a
。
-
getB
public BigInteger getB()
返回椭圆曲线的第二个系数b
。- 结果
- 第二个系数
b
。
-
getSeed
public byte[] getSeed()
返回曲线生成期间使用的种子字节seed
。 如果未指定,则可以为null。- 结果
- 播种字节
seed
。 每次调用此方法时都会返回一个新数组。
-
equals
public boolean equals(Object obj)
将此椭圆曲线与指定对象进行相等性比较。- 重写:
-
equals
在课程Object
- 参数
-
obj
- 要比较的对象。 - 结果
- 如果
obj
是EllipticCurve的实例且字段A和B匹配,则返回true,否则返回false。 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回此椭圆曲线的哈希码值。- 重写:
-
hashCode
在课程Object
- 结果
- 根据字段A和B的哈希码计算的哈希码值,如下所示:
(field.hashCode() << 6) + (a.hashCode() << 4) + (b.hashCode() << 2)
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-