Stay organized with collections Save and categorize content based on your preferences.

public class EllipticCurve
extends Object



This immutable class holds the necessary values needed to represent an elliptic curve.

Summary

Public constructors

EllipticCurve(ECField field, BigInteger a, BigInteger b)

Creates an elliptic curve with the specified elliptic field field and the coefficients a and b.

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

Creates an elliptic curve with the specified elliptic field field, the coefficients a and b, and the seed used for curve generation.

Public methods

boolean equals(Object obj)

Compares this elliptic curve for equality with the specified object.

BigInteger getA()

Returns the first coefficient a of the elliptic curve.

BigInteger getB()

Returns the second coefficient b of the elliptic curve.

ECField getField()

Returns the finite field field that this elliptic curve is over.

byte[] getSeed()

Returns the seeding bytes seed used during curve generation.

int hashCode()

Returns a hash code value for this elliptic curve.

Inherited methods

From class java.lang.Object

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

EllipticCurve

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

Creates an elliptic curve with the specified elliptic field field and the coefficients a and b.

Parameters
field ECField: the finite field that this elliptic curve is over.
a BigInteger: the first coefficient of this elliptic curve.
b BigInteger: the second coefficient of this elliptic curve.
Throws
NullPointerException if field, a, or b is null.
IllegalArgumentException if a or b is not null and not in field.

EllipticCurve

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

Creates an elliptic curve with the specified elliptic field field, the coefficients a and b, and the seed used for curve generation.

Parameters
field ECField: the finite field that this elliptic curve is over.
a BigInteger: the first coefficient of this elliptic curve.
b BigInteger: the second coefficient of this elliptic curve.
seed byte: the bytes used during curve generation for later validation. Contents of this array are copied to protect against subsequent modification.
Throws
NullPointerException if field, a, or b is null.
IllegalArgumentException if a or b is not null and not in field.

Public methods

equals

public boolean equals (Object obj)

Compares this elliptic curve for equality with the specified object.

Parameters
obj Object: the object to be compared.
Returns
boolean true if obj is an instance of EllipticCurve and the field, A, and B match, false otherwise.

getA

public BigInteger getA ()

Returns the first coefficient a of the elliptic curve.

Returns
BigInteger the first coefficient a.

getB

public BigInteger getB ()

Returns the second coefficient b of the elliptic curve.

Returns
BigInteger the second coefficient b.

getField

public ECField getField ()

Returns the finite field field that this elliptic curve is over.

Returns
ECField the field field that this curve is over.

getSeed

public byte[] getSeed ()

Returns the seeding bytes seed used during curve generation. May be null if not specified.

Returns
byte[] the seeding bytes seed. A new array is returned each time this method is called.

hashCode

public int hashCode ()

Returns a hash code value for this elliptic curve.

Returns
int a hash code value computed from the hash codes of the field, A, and B, as follows:
(field.hashCode() << 6) + (a.hashCode() << 4) + (b.hashCode() << 2)
 

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2023-02-08 UTC.