public final class ECStandardizedParameterFactory extends Object
This factory supports the following named prime curves:
Key length | NIST (see [1]) | SEC (see [3, 6]) | RFC 5639 (see [5]) | ANSSI (see [7]) | |||
160 | P-160 | secp160k1 | secp160r1 | secp160r2 | brainpoolP160r1 | brainpoolP160t1 | |
192 | P-192 | secp192k1 | secp192r1 | brainpoolP192r1 | brainpoolP192t1 | ||
224 | P-224 | secp224k1 | secp224r1 | brainpoolP224r1 | brainpoolP224t1 | ||
256 | P-256 | secp256k1 | secp256r1 | brainpoolP256r1 | brainpoolP256t1 | FRP256v1 | |
320 | brainpoolP320r1 | brainpoolP320t1 | |||||
384 | P-384 | secp384r1 | brainpoolP384r1 | brainpoolP384t1 | |||
512 | brainpoolP512r1 | brainpoolP512t1 | |||||
521 | P-521 | secp521r1 |
Key length | NIST (see [1]) | SEC (see [3]) | ANSI X9.62 (see [4]) | |||||
163 | K-163 | B-163 | sect163k1 | sect163r1 | sect163r2 | |||
191 | sect193r1 | sect193r2 | c2tnb191v1 | c2tnb191v2 | c2tnb191v3 | |||
193 | sect193r1 | sect193r2 | ||||||
233 | K-233 | B-233 | sect233k1 | sect233r1 | ||||
239 | sect239k1 | c2tnb239v1 | c2tnb239v2 | c2tnb239v3 | ||||
283 | K-283 | B-283 | sect283k1 | sect283r1 | ||||
359 | c2tnb359v1 | |||||||
409 | K-409 | B-409 | sect409k1 | sect409r1 | ||||
431 | c2tnb431r1 | |||||||
571 | K-571 | B-571 | sect571k1 | sect571r1 |
References:
[1] FIPS PUB 186-4 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION Digital Signature Standard (DSS), Patrick Gallagher and Cita Furlani, 2013
[2] Certicom Research. 2009. Standards for Efficient Cryptography - SEC 1: Elliptic Curve Cryptography v2.0
[3] Certicom Research. 2009. Standards for Efficient Cryptography - SEC 2: Recommended Elliptic Curve Domain Parameters v2.0
[4] ANSI X9.62-2005, "American National Standard for Financial Services - The Elliptic Curve Digital Signature Algorithm (ECDSA)" , ASC X9, November 2005.
[5] RFC 5639, "Elliptic Curve Cryptography (ECC) Brainpool Standard Curves and Curve Generation", M. Lochter and J. Merkle, March 2010
[6] Certicom Research. 2000. Standards for Efficient Cryptography - SEC 2: Recommended Elliptic Curve Domain Parameters v1.0
[7] ANSSI. 2011. https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000024668816
[8] RFC 7748, "Elliptic Curves for Security", A. Langley and S. Hamburg and S. Turner, January 2016
ECParameters
,
ECParameterSpec
Modifier and Type | Method and Description |
---|---|
static Enumeration<String> |
getBinaryCurveNames()
Returns the standard names of the supported binary curves.
|
static Enumeration<String> |
getBinaryCurveOIDs()
Returns the standard OIDs of the supported binary curves.
|
static ECParameterSpec |
getBinaryCurveParametersByBitLength(int bitlength)
Returns a standardized binary elliptic curve for a given bitlength.
|
static ECParameterSpec |
getBinaryCurveParametersByBitLength(int bitlength,
BinaryCurveCoordinateTypes type)
Returns a standardized binary elliptic curve for a given bitlength.
|
static String |
getName(ECParameterSpec params)
Returns the curve name for given curve parameters.
|
static Enumeration<String> |
getNames()
Returns the standard names of the supported curves.
|
static String |
getOID(ECParameterSpec params)
Returns the curve OID for given curve parameters.
|
static ECParameterSpec |
getParameters(ECGenParameterSpec params)
Returns a standardized elliptic curve for a given parameter spec holding a
standard name.
|
static ECParameterSpec |
getParametersByBitLength(int bitlength)
Returns a standardized elliptic curve (either prime or binary) for a given
bitlength.
|
static ECParameterSpec |
getParametersByName(String name)
Returns a standardized elliptic curve for a given standard name.
|
static ECParameterSpec |
getParametersByOID(String oid)
Returns a standardized elliptic curve for a given OID.
|
static Enumeration<String> |
getPrimeCurveNames()
Returns the standard names of the supported prime curves.
|
static Enumeration<String> |
getPrimeCurveOIDs()
Returns the standard OIDs of the supported prime curves.
|
static ECParameterSpec |
getPrimeCurveParametersByBitLength(int bitlength)
Returns a standardized prime elliptic curve for a given bitlength.
|
static ECParameterSpec |
getPrimeCurveParametersByBitLength(int bitlength,
PrimeCurveCoordinateTypes type)
Returns a standardized prime elliptic curve for a given bitlength.
|
public static ECParameterSpec getParameters(ECGenParameterSpec params)
params
- the parameter specnull
if there is no such curvepublic static ECParameterSpec getParametersByName(String name)
name
- the standard namenull
if there is no such curvepublic static ECParameterSpec getParametersByOID(String oid)
oid
- the object identifiernull
if there
is no such curvepublic static ECParameterSpec getBinaryCurveParametersByBitLength(int bitlength)
bitlength
- the bitlengthnull
if
there is no such curvepublic static ECParameterSpec getBinaryCurveParametersByBitLength(int bitlength, BinaryCurveCoordinateTypes type)
bitlength
- the bitlengthtype
- the coordinate type to be usednull
if
there is no such curvepublic static ECParameterSpec getPrimeCurveParametersByBitLength(int bitlength)
bitlength
- the bitlengthnull
if
there is no such curvepublic static ECParameterSpec getPrimeCurveParametersByBitLength(int bitlength, PrimeCurveCoordinateTypes type)
bitlength
- the bitlengthtype
- the coordinate type to be usednull
if
there is no such curvepublic static ECParameterSpec getParametersByBitLength(int bitlength)
bitlength
- the bitlengthnull
if
there is no such curvepublic static String getName(ECParameterSpec params)
params
- the curve parameterspublic static String getOID(ECParameterSpec params)
params
- the curve parameterspublic static Enumeration<String> getNames()
public static Enumeration<String> getBinaryCurveNames()
public static Enumeration<String> getPrimeCurveNames()
public static Enumeration<String> getBinaryCurveOIDs()
public static Enumeration<String> getPrimeCurveOIDs()
Copyright © 2011–2022 Stiftung SIC. All rights reserved.