- java.lang.Object
-
- java.security.spec.EllipticCurve
-
public class EllipticCurve extends Object
这个不变的类保存代表椭圆曲线所需的必要值。- 从以下版本开始:
- 1.5
- 另请参见:
-
ECField
,ECFieldFp
,ECFieldF2m
-
-
构造方法摘要
构造方法 Constructor 描述 EllipticCurve(ECField field, BigInteger a, BigInteger b)
创建具有指定的椭圆字段field
和系数a
和b
的椭圆曲线。EllipticCurve(ECField field, BigInteger a, BigInteger b, byte[] seed)
创建具有指定的椭圆场field
,系数a
和b
以及用于曲线生成的seed
的椭圆曲线。
-
-
-
构造方法详细信息
-
EllipticCurve
public EllipticCurve(ECField field, BigInteger a, BigInteger b)
创建具有指定的椭圆场field
和系数a
和b
的椭圆曲线。- 参数
-
field
- 这个椭圆曲线结束的有限域。 -
a
- 这个椭圆曲线的第一个系数。 -
b
- 这个椭圆曲线的第二个系数。 - 异常
-
NullPointerException
-如果field
,a
,或b
为null。 -
IllegalArgumentException
- 如果a
或b
不为空且不在field
。
-
EllipticCurve
public EllipticCurve(ECField field, BigInteger a, BigInteger b, byte[] seed)
创建具有指定的椭圆场field
,系数a
和b
以及用于曲线生成的seed
的椭圆曲线。- 参数
-
field
- 这个椭圆曲线结束的有限域。 -
a
- 这个椭圆曲线的第一个系数。 -
b
- 这个椭圆曲线的第二个系数。 -
seed
- 用于稍后验证的曲线生成期间使用的字节。 复制该数组的内容以防止后续修改。 - 异常
-
NullPointerException
-如果field
,a
,或b
为null。 -
IllegalArgumentException
- 如果a
或b
不为空,而不在field
。
-
-
方法详细信息
-
getField
public ECField getField()
返回这个椭圆曲线结束的有限域field
。- 结果
-
该曲线结束的字段为
field
。
-
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匹配,obj
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)
-
-