- java.lang.Object
-
- java.security.spec.EllipticCurve
-
public class EllipticCurve extends Object
This immutable class holds the necessary values needed to represent an elliptic curve.- Since:
- 1.5
- See Also:
ECField
,ECFieldFp
,ECFieldF2m
-
-
Constructor Summary
Constructors Constructor and Description EllipticCurve(ECField field, BigInteger a, BigInteger b)
Creates an elliptic curve with the specified elliptic fieldfield
and the coefficientsa
andb
.EllipticCurve(ECField field, BigInteger a, BigInteger b, byte[] seed)
Creates an elliptic curve with the specified elliptic fieldfield
, the coefficientsa
andb
, and theseed
used for curve generation.
-
Method Summary
Methods Modifier and Type Method and Description boolean
equals(Object obj)
Compares this elliptic curve for equality with the specified object.BigInteger
getA()
Returns the first coefficienta
of the elliptic curve.BigInteger
getB()
Returns the second coefficientb
of the elliptic curve.ECField
getField()
Returns the finite fieldfield
that this elliptic curve is over.byte[]
getSeed()
Returns the seeding bytesseed
used during curve generation.int
hashCode()
Returns a hash code value for this elliptic curve.
-
-
-
Constructor Detail
-
EllipticCurve
public EllipticCurve(ECField field, BigInteger a, BigInteger b)
Creates an elliptic curve with the specified elliptic fieldfield
and the coefficientsa
andb
.- Parameters:
field
- the finite field that this elliptic curve is over.a
- the first coefficient of this elliptic curve.b
- the second coefficient of this elliptic curve.- Throws:
NullPointerException
- iffield
,a
, orb
is null.IllegalArgumentException
- ifa
orb
is not null and not infield
.
-
EllipticCurve
public EllipticCurve(ECField field, BigInteger a, BigInteger b, byte[] seed)
Creates an elliptic curve with the specified elliptic fieldfield
, the coefficientsa
andb
, and theseed
used for curve generation.- Parameters:
field
- the finite field that this elliptic curve is over.a
- the first coefficient of this elliptic curve.b
- the second coefficient of this elliptic curve.seed
- the bytes used during curve generation for later validation. Contents of this array are copied to protect against subsequent modification.- Throws:
NullPointerException
- iffield
,a
, orb
is null.IllegalArgumentException
- ifa
orb
is not null and not infield
.
-
-
Method Detail
-
getField
public ECField getField()
Returns the finite fieldfield
that this elliptic curve is over.- Returns:
- the field
field
that this curve is over.
-
getA
public BigInteger getA()
Returns the first coefficienta
of the elliptic curve.- Returns:
- the first coefficient
a
.
-
getB
public BigInteger getB()
Returns the second coefficientb
of the elliptic curve.- Returns:
- the second coefficient
b
.
-
getSeed
public byte[] getSeed()
Returns the seeding bytesseed
used during curve generation. May be null if not specified.- Returns:
- the seeding bytes
seed
. A new array is returned each time this method is called.
-
equals
public boolean equals(Object obj)
Compares this elliptic curve for equality with the specified object.- Overrides:
equals
in classObject
- Parameters:
obj
- the object to be compared.- Returns:
- true if
obj
is an instance of EllipticCurve and the field, A, and B match, false otherwise. - See Also:
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
Returns a hash code value for this elliptic curve.- Overrides:
hashCode
in classObject
- Returns:
- 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)
- See Also:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-java/security/spec/EllipticCurve.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.