Add OIDs and TLS IDs for prime Koblitz curves

This commit is contained in:
Manuel Pégourié-Gonnard 2014-01-10 18:26:48 +01:00
parent f51c8fc353
commit 9bcff3905b
4 changed files with 35 additions and 2 deletions

View File

@ -78,7 +78,7 @@ typedef enum
* *
* (Montgomery curves excluded for now.) * (Montgomery curves excluded for now.)
*/ */
#define POLARSSL_ECP_DP_MAX 9 #define POLARSSL_ECP_DP_MAX 12
/** /**
* Curve information for use by other modules * Curve information for use by other modules

View File

@ -263,7 +263,7 @@
#define OID_EC_ALG_ECDH OID_CERTICOM "\x01\x0c" #define OID_EC_ALG_ECDH OID_CERTICOM "\x01\x0c"
/* /*
* ECParameters namedCurve identifiers, from RFC 5480 and RFC 5639 * ECParameters namedCurve identifiers, from RFC 5480, RFC 5639, and SEC2
*/ */
/* secp192r1 OBJECT IDENTIFIER ::= { /* secp192r1 OBJECT IDENTIFIER ::= {
@ -286,6 +286,18 @@
* iso(1) identified-organization(3) certicom(132) curve(0) 35 } */ * iso(1) identified-organization(3) certicom(132) curve(0) 35 } */
#define OID_EC_GRP_SECP521R1 OID_CERTICOM "\x00\x23" #define OID_EC_GRP_SECP521R1 OID_CERTICOM "\x00\x23"
/* secp192k1 OBJECT IDENTIFIER ::= {
* iso(1) identified-organization(3) certicom(132) curve(0) 31 } */
#define OID_EC_GRP_SECP192K1 OID_CERTICOM "\x00\x1f"
/* secp224k1 OBJECT IDENTIFIER ::= {
* iso(1) identified-organization(3) certicom(132) curve(0) 32 } */
#define OID_EC_GRP_SECP224K1 OID_CERTICOM "\x00\x20"
/* secp256k1 OBJECT IDENTIFIER ::= {
* iso(1) identified-organization(3) certicom(132) curve(0) 10 } */
#define OID_EC_GRP_SECP256K1 OID_CERTICOM "\x00\x0a"
/* RFC 5639 4.1 /* RFC 5639 4.1
* ecStdCurvesAndGeneration OBJECT IDENTIFIER::= {iso(1) * ecStdCurvesAndGeneration OBJECT IDENTIFIER::= {iso(1)
* identified-organization(3) teletrust(36) algorithm(3) signature- * identified-organization(3) teletrust(36) algorithm(3) signature-

View File

@ -140,6 +140,15 @@ static const ecp_curve_info ecp_supported_curves[] =
#endif #endif
#if defined(POLARSSL_ECP_DP_SECP192R1_ENABLED) #if defined(POLARSSL_ECP_DP_SECP192R1_ENABLED)
{ POLARSSL_ECP_DP_SECP192R1, 19, 192, "secp192r1" }, { POLARSSL_ECP_DP_SECP192R1, 19, 192, "secp192r1" },
#endif
#if defined(POLARSSL_ECP_DP_SECP256K1_ENABLED)
{ POLARSSL_ECP_DP_SECP256K1, 22, 256, "secp256k1" },
#endif
#if defined(POLARSSL_ECP_DP_SECP224K1_ENABLED)
{ POLARSSL_ECP_DP_SECP224K1, 20, 224, "secp224k1" },
#endif
#if defined(POLARSSL_ECP_DP_SECP192K1_ENABLED)
{ POLARSSL_ECP_DP_SECP192K1, 18, 192, "secp192k1" },
#endif #endif
{ POLARSSL_ECP_DP_NONE, 0, 0, NULL }, { POLARSSL_ECP_DP_NONE, 0, 0, NULL },
}; };

View File

@ -402,6 +402,18 @@ static const oid_ecp_grp_t oid_ecp_grp[] =
{ ADD_LEN( OID_EC_GRP_SECP521R1 ), "secp521r1", "secp521r1" }, { ADD_LEN( OID_EC_GRP_SECP521R1 ), "secp521r1", "secp521r1" },
POLARSSL_ECP_DP_SECP521R1, POLARSSL_ECP_DP_SECP521R1,
}, },
{
{ ADD_LEN( OID_EC_GRP_SECP192K1 ), "secp192k1", "secp192k1" },
POLARSSL_ECP_DP_SECP192K1,
},
{
{ ADD_LEN( OID_EC_GRP_SECP224K1 ), "secp224k1", "secp224k1" },
POLARSSL_ECP_DP_SECP224K1,
},
{
{ ADD_LEN( OID_EC_GRP_SECP256K1 ), "secp256k1", "secp256k1" },
POLARSSL_ECP_DP_SECP256K1,
},
{ {
{ ADD_LEN( OID_EC_GRP_BP256R1 ), "brainpoolP256r1","brainpool256r1" }, { ADD_LEN( OID_EC_GRP_BP256R1 ), "brainpoolP256r1","brainpool256r1" },
POLARSSL_ECP_DP_BP256R1, POLARSSL_ECP_DP_BP256R1,