Класс EllipticCurve

public class EllipticCurve
extends Object

Этот неизменяемый класс хранит необходимые значения для представления эллиптической кривой.

Since:
1.5
См. также:
ECField, ECFieldFp, ECFieldF2m

Конструкторы

Конструктор Описание
EllipticCurve​(ECField field, BigInteger a, BigInteger b)

Создаёт эллиптическую кривую с заданным эллиптическим полем field и коэффициентами a и b.

EllipticCurve​(ECField field, BigInteger a, BigInteger b, byte[] seed)

Создаёт эллиптическую кривую с заданным эллиптическим полем field, коэффициентами a и b, и seed используемыми для генерации кривой.

Методы

Модификатор и тип Метод Описание
boolean equals​(Object obj)

Сравнивает эту эллиптическую кривую на равенство с заданным объектом.

BigInteger getA()

Возвращает первый коэффициент a эллиптической кривой.

BigInteger getB()

Возвращает второй коэффициент b эллиптической кривой.

ECField getField()

Возвращает конечное поле field, над которым определена эта эллиптическая кривая.

byte[] getSeed()

Возвращает байты инициализации seed , используемые при генерации кривой.

int hashCode()

Возвращает хеш-код для этой эллиптической кривой.

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Конструкторы

EllipticCurve

public EllipticCurve(ECField field,
                     BigInteger a,
                     BigInteger b)

Создаёт эллиптическую кривую с заданным эллиптическим полем field и коэффициентами a и b.

Parameters:
field - конечное поле, над которым определена эта эллиптическая кривая.
a - первый коэффициент этой эллиптической кривой.
b - второй коэффициент этой эллиптической кривой.
Throws:
NullPointerException - если field, a, или b равно null.
IllegalArgumentException - если a или b не равно null и не принадлежит к field.

EllipticCurve

public EllipticCurve(ECField field,
                     BigInteger a,
                     BigInteger b,
                     byte[] seed)

Создаёт эллиптическую кривую с заданным эллиптическим полем field, коэффициентами a и b, и seed используемыми для генерации кривой.

Parameters:
field - конечное поле, над которым определена эта эллиптическая кривая.
a - первый коэффициент этой эллиптической кривой.
b - второй коэффициент этой эллиптической кривой.
seed - байты, используемые при генерации кривой для последующей проверки. Содержимое этого массива копируется для защиты от последующих изменений.
Throws:
NullPointerException - если field, a, или b равно null.
IllegalArgumentException - если a или b не равно null и не принадлежит к field.

Методы

getField

public ECField getField()

Возвращает конечное поле field, над которым определена эта эллиптическая кривая.

Returns:
поле field, над которым определена кривая.

getA

public BigInteger getA()

Возвращает первый коэффициент a эллиптической кривой.

Returns:
первый коэффициент a.

getB

public BigInteger getB()

Возвращает второй коэффициент b эллиптической кривой.

Returns:
второй коэффициент b.

getSeed

public byte[] getSeed()

Возвращает байты инициализации seed , используемые при генерации кривой. Может быть null, если не указано.

Returns:
байты инициализации seed. Каждый вызов этого метода возвращает новый массив.

equals

public boolean equals(Object obj)

Сравнивает эту эллиптическую кривую на равенство с заданным объектом.

Overrides:
equals в классе Object
Parameters:
obj - объект для сравнения.
Returns:
true, если obj является экземпляром EllipticCurve и соответствуют поля, A и B, иначе false.
See Also:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Возвращает хеш-код для этой эллиптической кривой.

Overrides:
hashCode в классе Object
Returns:
значение хеш-кода, вычисленное из хеш-кодов поля, A и B, следующим образом:
(field.hashCode() << 6) + (a.hashCode() << 4) + (b.hashCode() << 2)
See Also:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/spec/EllipticCurve.html

Spec-Zone .ru
спецификации, руководства, описания, API