Module java.base

Class EllipticCurve

java.lang.Object
java.security.spec.EllipticCurve

public class EllipticCurve extends Object
这个不可变类包含表示椭圆曲线所需的必要数值。
自从:
1.5
参见:
  • Constructor Details

    • EllipticCurve

      public EllipticCurve(ECField field, BigInteger a, BigInteger b)
      使用指定的椭圆域field和系数ab创建一个椭圆曲线。
      参数:
      field - 此椭圆曲线所在的有限域。
      a - 此椭圆曲线的第一个系数。
      b - 此椭圆曲线的第二个系数。
      抛出:
      NullPointerException - 如果fieldab为null。
      IllegalArgumentException - 如果ab不为null且不在field中。
    • EllipticCurve

      public EllipticCurve(ECField field, BigInteger a, BigInteger b, byte[] seed)
      使用指定的椭圆域field、系数ab以及用于曲线生成的seed创建一个椭圆曲线。
      参数:
      field - 此椭圆曲线所在的有限域。
      a - 此椭圆曲线的第一个系数。
      b - 此椭圆曲线的第二个系数。
      seed - 用于曲线生成的字节,以供后续验证。每次调用此方法时,都会复制数组的内容以防止后续修改。
      抛出:
      NullPointerException - 如果fieldab为null。
      IllegalArgumentException - 如果ab不为null且不在field中。
  • Method Details

    • 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匹配,则返回true,否则返回false。
      参见:
    • hashCode

      public int hashCode()
      返回此椭圆曲线的哈希码值。
      覆盖:
      hashCode 在类 Object
      返回:
      从字段、A和B的哈希码计算出的哈希码值,如下所示:
      
           (field.hashCode() << 6) + (a.hashCode() << 4) + (b.hashCode() << 2)
       
      参见: