From: Bodo Möller Date: Wed, 6 Mar 2002 13:47:32 +0000 (+0000) Subject: add SECG OIDs X-Git-Tag: OpenSSL_0_9_6d~20^2~94 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=36c194638e86cd46d5da2b3efbe9ae5354e19096 add SECG OIDs Submitted by: Nils Larsch --- diff --git a/CHANGES b/CHANGES index 1b3bcb54b5..054106296f 100644 --- a/CHANGES +++ b/CHANGES @@ -4,7 +4,7 @@ Changes between 0.9.7 and 0.9.8 [xx XXX 2002] - *) Add more X9.62 OIDs. + *) Add OIDs from X9.62 and SECG. [Nils Larsch ] *) Add ECDSA in new directory crypto/ecdsa/. diff --git a/apps/ecdsaparam.c b/apps/ecdsaparam.c index cf293eae20..4b171c4f67 100644 --- a/apps/ecdsaparam.c +++ b/apps/ecdsaparam.c @@ -257,6 +257,36 @@ int MAIN(int argc, char **argv) curve_type = EC_GROUP_X9_62_PRIME_239V3; else if (strcmp(*argv, "-X9_62_256v1") == 0) curve_type = EC_GROUP_X9_62_PRIME_256V1; + else if (strcmp(*argv, "-SECG_PRIME_112R1") == 0) + curve_type = EC_GROUP_SECG_PRIME_112R1; + else if (strcmp(*argv, "-SECG_PRIME_112R2") == 0) + curve_type = EC_GROUP_SECG_PRIME_112R2; + else if (strcmp(*argv, "-SECG_PRIME_128R1") == 0) + curve_type = EC_GROUP_SECG_PRIME_128R1; + else if (strcmp(*argv, "-SECG_PRIME_128R2") == 0) + curve_type = EC_GROUP_SECG_PRIME_128R2; + else if (strcmp(*argv, "-SECG_PRIME_160K1") == 0) + curve_type = EC_GROUP_SECG_PRIME_160K1; + else if (strcmp(*argv, "-SECG_PRIME_160R1") == 0) + curve_type = EC_GROUP_SECG_PRIME_160R1; + else if (strcmp(*argv, "-SECG_PRIME_160R2") == 0) + curve_type = EC_GROUP_SECG_PRIME_160R2; + else if (strcmp(*argv, "-SECG_PRIME_192K1") == 0) + curve_type = EC_GROUP_SECG_PRIME_192K1; + else if (strcmp(*argv, "-SECG_PRIME_192R1") == 0) + curve_type = EC_GROUP_SECG_PRIME_192R1; + else if (strcmp(*argv, "-SECG_PRIME_224K1") == 0) + curve_type = EC_GROUP_SECG_PRIME_224K1; + else if (strcmp(*argv, "-SECG_PRIME_224R1") == 0) + curve_type = EC_GROUP_SECG_PRIME_224R1; + else if (strcmp(*argv, "-SECG_PRIME_256K1") == 0) + curve_type = EC_GROUP_SECG_PRIME_256K1; + else if (strcmp(*argv, "-SECG_PRIME_256R1") == 0) + curve_type = EC_GROUP_SECG_PRIME_256R1; + else if (strcmp(*argv, "-SECG_PRIME_384R1") == 0) + curve_type = EC_GROUP_SECG_PRIME_384R1; + else if (strcmp(*argv, "-SECG_PRIME_521R1") == 0) + curve_type = EC_GROUP_SECG_PRIME_521R1; else if (strcmp(*argv, "-noout") == 0) noout=1; else diff --git a/crypto/ec/ec.h b/crypto/ec/ec.h index 1a4569311e..de831e2ce7 100644 --- a/crypto/ec/ec.h +++ b/crypto/ec/ec.h @@ -134,14 +134,13 @@ EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM * generator and order */ EC_GROUP *EC_GROUP_new_by_nid(const int nid); EC_GROUP *EC_GROUP_new_by_name(int name); -/* Currently valid arguments to EC_GROUP_new_by_name() - * (unfortunately some curves have no OIDs [and no NIDs]): */ +/* Currently valid arguments to EC_GROUP_new_by_name() */ #define EC_GROUP_NO_CURVE 0 -#define EC_GROUP_NIST_PRIME_192 1 -#define EC_GROUP_NIST_PRIME_224 2 -#define EC_GROUP_NIST_PRIME_256 3 -#define EC_GROUP_NIST_PRIME_384 4 -#define EC_GROUP_NIST_PRIME_521 5 +#define EC_GROUP_NIST_PRIME_192 NID_secp192r1 +#define EC_GROUP_NIST_PRIME_224 NID_secp224r1 +#define EC_GROUP_NIST_PRIME_256 NID_secp256r1 +#define EC_GROUP_NIST_PRIME_384 NID_secp384r1 +#define EC_GROUP_NIST_PRIME_521 NID_secp521r1 #define EC_GROUP_X9_62_PRIME_192V1 NID_X9_62_prime192v1 #define EC_GROUP_X9_62_PRIME_192V2 NID_X9_62_prime192v2 #define EC_GROUP_X9_62_PRIME_192V3 NID_X9_62_prime192v3 @@ -149,8 +148,21 @@ EC_GROUP *EC_GROUP_new_by_name(int name); #define EC_GROUP_X9_62_PRIME_239V2 NID_X9_62_prime239v2 #define EC_GROUP_X9_62_PRIME_239V3 NID_X9_62_prime239v3 #define EC_GROUP_X9_62_PRIME_256V1 NID_X9_62_prime256v1 - - +#define EC_GROUP_SECG_PRIME_112R1 NID_secp112r1 +#define EC_GROUP_SECG_PRIME_112R2 NID_secp112r2 +#define EC_GROUP_SECG_PRIME_128R1 NID_secp128r1 +#define EC_GROUP_SECG_PRIME_128R2 NID_secp128r2 +#define EC_GROUP_SECG_PRIME_160K1 NID_secp160k1 +#define EC_GROUP_SECG_PRIME_160R1 NID_secp160r1 +#define EC_GROUP_SECG_PRIME_160R2 NID_secp160r2 +#define EC_GROUP_SECG_PRIME_192K1 NID_secp192k1 +#define EC_GROUP_SECG_PRIME_192R1 NID_secp192r1 +#define EC_GROUP_SECG_PRIME_224K1 NID_secp224k1 +#define EC_GROUP_SECG_PRIME_224R1 NID_secp224r1 +#define EC_GROUP_SECG_PRIME_256K1 NID_secp256k1 +#define EC_GROUP_SECG_PRIME_256R1 NID_secp256r1 +#define EC_GROUP_SECG_PRIME_384R1 NID_secp384r1 +#define EC_GROUP_SECG_PRIME_521R1 NID_secp521r1 EC_POINT *EC_POINT_new(const EC_GROUP *); void EC_POINT_free(EC_POINT *); diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h index 81a5845d02..1aeeb763ca 100644 --- a/crypto/objects/obj_dat.h +++ b/crypto/objects/obj_dat.h @@ -62,12 +62,12 @@ * [including the GNU Public Licence.] */ -#define NUM_NID 527 -#define NUM_SN 525 -#define NUM_LN 525 -#define NUM_OBJ 499 +#define NUM_NID 562 +#define NUM_SN 560 +#define NUM_LN 560 +#define NUM_OBJ 534 -static unsigned char lvalues[4032]={ +static unsigned char lvalues[4193]={ 0x00, /* [ 0] OBJ_undef */ 0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 1] OBJ_rsadsi */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 7] OBJ_pkcs */ @@ -567,6 +567,41 @@ static unsigned char lvalues[4032]={ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x12, /* [4007] OBJ_X9_62_c2tnb359v1 */ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x13, /* [4015] OBJ_X9_62_c2pnb368w1 */ 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x14, /* [4023] OBJ_X9_62_c2tnb431r1 */ +0x2B, /* [4031] OBJ_identified_organization */ +0x2B,0x81,0x04, /* [4032] OBJ_certicom_arc */ +0x2B,0x81,0x04,0x00,0x06, /* [4035] OBJ_secp112r1 */ +0x2B,0x81,0x04,0x00,0x07, /* [4040] OBJ_secp112r2 */ +0x2B,0x81,0x04,0x00,0x1C, /* [4045] OBJ_secp128r1 */ +0x2B,0x81,0x04,0x00,0x1D, /* [4050] OBJ_secp128r2 */ +0x2B,0x81,0x04,0x00,0x09, /* [4055] OBJ_secp160k1 */ +0x2B,0x81,0x04,0x00,0x08, /* [4060] OBJ_secp160r1 */ +0x2B,0x81,0x04,0x00,0x1E, /* [4065] OBJ_secp160r2 */ +0x2B,0x81,0x04,0x00,0x1F, /* [4070] OBJ_secp192k1 */ +0x00, /* [4075] OBJ_secp192r1 */ +0x2B,0x81,0x04,0x00,0x20, /* [4076] OBJ_secp224k1 */ +0x2B,0x81,0x04,0x00,0x21, /* [4081] OBJ_secp224r1 */ +0x2B,0x81,0x04,0x00,0x0A, /* [4086] OBJ_secp256k1 */ +0x00, /* [4091] OBJ_secp256r1 */ +0x2B,0x81,0x04,0x00,0x22, /* [4092] OBJ_secp384r1 */ +0x2B,0x81,0x04,0x00,0x23, /* [4097] OBJ_secp521r1 */ +0x2B,0x81,0x04,0x00,0x04, /* [4102] OBJ_sect113r1 */ +0x2B,0x81,0x04,0x00,0x05, /* [4107] OBJ_sect113r2 */ +0x2B,0x81,0x04,0x00,0x16, /* [4112] OBJ_sect131r1 */ +0x2B,0x81,0x04,0x00,0x17, /* [4117] OBJ_sect131r2 */ +0x2B,0x81,0x04,0x00,0x01, /* [4122] OBJ_sect163k1 */ +0x2B,0x81,0x04,0x00,0x02, /* [4127] OBJ_sect163r1 */ +0x2B,0x81,0x04,0x00,0x0F, /* [4132] OBJ_sect163r2 */ +0x2B,0x81,0x04,0x00,0x18, /* [4137] OBJ_sect193r1 */ +0x2B,0x81,0x04,0x00,0x19, /* [4142] OBJ_sect193r2 */ +0x2B,0x81,0x04,0x00,0x1A, /* [4147] OBJ_sect233k1 */ +0x2B,0x81,0x04,0x00,0x1B, /* [4152] OBJ_sect233r1 */ +0x2B,0x81,0x04,0x00,0x03, /* [4157] OBJ_sect239k1 */ +0x2B,0x81,0x04,0x00,0x10, /* [4162] OBJ_sect283k1 */ +0x2B,0x81,0x04,0x00,0x11, /* [4167] OBJ_sect283r1 */ +0x2B,0x81,0x04,0x00,0x24, /* [4172] OBJ_sect409k1 */ +0x2B,0x81,0x04,0x00,0x25, /* [4177] OBJ_sect409r1 */ +0x2B,0x81,0x04,0x00,0x26, /* [4182] OBJ_sect571k1 */ +0x2B,0x81,0x04,0x00,0x27, /* [4187] OBJ_sect571r1 */ }; static ASN1_OBJECT nid_objs[NUM_NID]={ @@ -1364,6 +1399,42 @@ static ASN1_OBJECT nid_objs[NUM_NID]={ {"c2tnb359v1","c2tnb359v1",NID_X9_62_c2tnb359v1,8,&(lvalues[4007]),0}, {"c2pnb368w1","c2pnb368w1",NID_X9_62_c2pnb368w1,8,&(lvalues[4015]),0}, {"c2tnb431r1","c2tnb431r1",NID_X9_62_c2tnb431r1,8,&(lvalues[4023]),0}, +{"identified-organization","identified-organization", + NID_identified_organization,1,&(lvalues[4031]),0}, +{"certicom-arc","certicom-arc",NID_certicom_arc,3,&(lvalues[4032]),0}, +{"secp112r1","secp112r1",NID_secp112r1,5,&(lvalues[4035]),0}, +{"secp112r2","secp112r2",NID_secp112r2,5,&(lvalues[4040]),0}, +{"secp128r1","secp128r1",NID_secp128r1,5,&(lvalues[4045]),0}, +{"secp128r2","secp128r2",NID_secp128r2,5,&(lvalues[4050]),0}, +{"secp160k1","secp160k1",NID_secp160k1,5,&(lvalues[4055]),0}, +{"secp160r1","secp160r1",NID_secp160r1,5,&(lvalues[4060]),0}, +{"secp160r2","secp160r2",NID_secp160r2,5,&(lvalues[4065]),0}, +{"secp192k1","secp192k1",NID_secp192k1,5,&(lvalues[4070]),0}, +{"secp192r1","secp192r1",NID_secp192r1,1,&(lvalues[4075]),0}, +{"secp224k1","secp224k1",NID_secp224k1,5,&(lvalues[4076]),0}, +{"secp224r1","secp224r1",NID_secp224r1,5,&(lvalues[4081]),0}, +{"secp256k1","secp256k1",NID_secp256k1,5,&(lvalues[4086]),0}, +{"secp256r1","secp256r1",NID_secp256r1,1,&(lvalues[4091]),0}, +{"secp384r1","secp384r1",NID_secp384r1,5,&(lvalues[4092]),0}, +{"secp521r1","secp521r1",NID_secp521r1,5,&(lvalues[4097]),0}, +{"sect113r1","sect113r1",NID_sect113r1,5,&(lvalues[4102]),0}, +{"sect113r2","sect113r2",NID_sect113r2,5,&(lvalues[4107]),0}, +{"sect131r1","sect131r1",NID_sect131r1,5,&(lvalues[4112]),0}, +{"sect131r2","sect131r2",NID_sect131r2,5,&(lvalues[4117]),0}, +{"sect163k1","sect163k1",NID_sect163k1,5,&(lvalues[4122]),0}, +{"sect163r1","sect163r1",NID_sect163r1,5,&(lvalues[4127]),0}, +{"sect163r2","sect163r2",NID_sect163r2,5,&(lvalues[4132]),0}, +{"sect193r1","sect193r1",NID_sect193r1,5,&(lvalues[4137]),0}, +{"sect193r2","sect193r2",NID_sect193r2,5,&(lvalues[4142]),0}, +{"sect233k1","sect233k1",NID_sect233k1,5,&(lvalues[4147]),0}, +{"sect233r1","sect233r1",NID_sect233r1,5,&(lvalues[4152]),0}, +{"sect239k1","sect239k1",NID_sect239k1,5,&(lvalues[4157]),0}, +{"sect283k1","sect283k1",NID_sect283k1,5,&(lvalues[4162]),0}, +{"sect283r1","sect283r1",NID_sect283r1,5,&(lvalues[4167]),0}, +{"sect409k1","sect409k1",NID_sect409k1,5,&(lvalues[4172]),0}, +{"sect409r1","sect409r1",NID_sect409r1,5,&(lvalues[4177]),0}, +{"sect571k1","sect571k1",NID_sect571k1,5,&(lvalues[4182]),0}, +{"sect571r1","sect571r1",NID_sect571r1,5,&(lvalues[4187]),0}, }; static ASN1_OBJECT *sn_objs[NUM_SN]={ @@ -1541,6 +1612,7 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={ &(nid_objs[179]),/* "caIssuers" */ &(nid_objs[443]),/* "caseIgnoreIA5StringSyntax" */ &(nid_objs[152]),/* "certBag" */ +&(nid_objs[528]),/* "certicom-arc" */ &(nid_objs[89]),/* "certificatePolicies" */ &(nid_objs[54]),/* "challengePassword" */ &(nid_objs[407]),/* "characteristic-two-field" */ @@ -1760,6 +1832,7 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={ &(nid_objs[194]),/* "id-smime-spq" */ &(nid_objs[250]),/* "id-smime-spq-ets-sqt-unotice" */ &(nid_objs[249]),/* "id-smime-spq-ets-sqt-uri" */ +&(nid_objs[527]),/* "identified-organization" */ &(nid_objs[461]),/* "info" */ &(nid_objs[142]),/* "invalidityDate" */ &(nid_objs[294]),/* "ipsecEndSystem" */ @@ -1863,8 +1936,41 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={ &(nid_objs[290]),/* "sbqp-ipAddrBlock" */ &(nid_objs[292]),/* "sbqp-routerIdentifier" */ &(nid_objs[159]),/* "sdsiCertificate" */ +&(nid_objs[529]),/* "secp112r1" */ +&(nid_objs[530]),/* "secp112r2" */ +&(nid_objs[531]),/* "secp128r1" */ +&(nid_objs[532]),/* "secp128r2" */ +&(nid_objs[533]),/* "secp160k1" */ +&(nid_objs[534]),/* "secp160r1" */ +&(nid_objs[535]),/* "secp160r2" */ +&(nid_objs[536]),/* "secp192k1" */ +&(nid_objs[537]),/* "secp192r1" */ +&(nid_objs[538]),/* "secp224k1" */ +&(nid_objs[539]),/* "secp224r1" */ +&(nid_objs[540]),/* "secp256k1" */ +&(nid_objs[541]),/* "secp256r1" */ +&(nid_objs[542]),/* "secp384r1" */ +&(nid_objs[543]),/* "secp521r1" */ &(nid_objs[154]),/* "secretBag" */ &(nid_objs[474]),/* "secretary" */ +&(nid_objs[544]),/* "sect113r1" */ +&(nid_objs[545]),/* "sect113r2" */ +&(nid_objs[546]),/* "sect131r1" */ +&(nid_objs[547]),/* "sect131r2" */ +&(nid_objs[548]),/* "sect163k1" */ +&(nid_objs[549]),/* "sect163r1" */ +&(nid_objs[550]),/* "sect163r2" */ +&(nid_objs[551]),/* "sect193r1" */ +&(nid_objs[552]),/* "sect193r2" */ +&(nid_objs[553]),/* "sect233k1" */ +&(nid_objs[554]),/* "sect233r1" */ +&(nid_objs[555]),/* "sect239k1" */ +&(nid_objs[556]),/* "sect283k1" */ +&(nid_objs[557]),/* "sect283r1" */ +&(nid_objs[558]),/* "sect409k1" */ +&(nid_objs[559]),/* "sect409r1" */ +&(nid_objs[560]),/* "sect571k1" */ +&(nid_objs[561]),/* "sect571r1" */ &(nid_objs[386]),/* "security" */ &(nid_objs[394]),/* "selected-attribute-types" */ &(nid_objs[129]),/* "serverAuth" */ @@ -2044,6 +2150,7 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={ &(nid_objs[111]),/* "cast5-ofb" */ &(nid_objs[404]),/* "ccitt" */ &(nid_objs[152]),/* "certBag" */ +&(nid_objs[528]),/* "certicom-arc" */ &(nid_objs[54]),/* "challengePassword" */ &(nid_objs[407]),/* "characteristic-two-field" */ &(nid_objs[395]),/* "clearance" */ @@ -2276,6 +2383,7 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={ &(nid_objs[35]),/* "idea-cfb" */ &(nid_objs[36]),/* "idea-ecb" */ &(nid_objs[46]),/* "idea-ofb" */ +&(nid_objs[527]),/* "identified-organization" */ &(nid_objs[461]),/* "info" */ &(nid_objs[101]),/* "initials" */ &(nid_objs[181]),/* "iso" */ @@ -2390,8 +2498,41 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={ &(nid_objs[290]),/* "sbqp-ipAddrBlock" */ &(nid_objs[292]),/* "sbqp-routerIdentifier" */ &(nid_objs[159]),/* "sdsiCertificate" */ +&(nid_objs[529]),/* "secp112r1" */ +&(nid_objs[530]),/* "secp112r2" */ +&(nid_objs[531]),/* "secp128r1" */ +&(nid_objs[532]),/* "secp128r2" */ +&(nid_objs[533]),/* "secp160k1" */ +&(nid_objs[534]),/* "secp160r1" */ +&(nid_objs[535]),/* "secp160r2" */ +&(nid_objs[536]),/* "secp192k1" */ +&(nid_objs[537]),/* "secp192r1" */ +&(nid_objs[538]),/* "secp224k1" */ +&(nid_objs[539]),/* "secp224r1" */ +&(nid_objs[540]),/* "secp256k1" */ +&(nid_objs[541]),/* "secp256r1" */ +&(nid_objs[542]),/* "secp384r1" */ +&(nid_objs[543]),/* "secp521r1" */ &(nid_objs[154]),/* "secretBag" */ &(nid_objs[474]),/* "secretary" */ +&(nid_objs[544]),/* "sect113r1" */ +&(nid_objs[545]),/* "sect113r2" */ +&(nid_objs[546]),/* "sect131r1" */ +&(nid_objs[547]),/* "sect131r2" */ +&(nid_objs[548]),/* "sect163k1" */ +&(nid_objs[549]),/* "sect163r1" */ +&(nid_objs[550]),/* "sect163r2" */ +&(nid_objs[551]),/* "sect193r1" */ +&(nid_objs[552]),/* "sect193r2" */ +&(nid_objs[553]),/* "sect233k1" */ +&(nid_objs[554]),/* "sect233r1" */ +&(nid_objs[555]),/* "sect239k1" */ +&(nid_objs[556]),/* "sect283k1" */ +&(nid_objs[557]),/* "sect283r1" */ +&(nid_objs[558]),/* "sect409k1" */ +&(nid_objs[559]),/* "sect409r1" */ +&(nid_objs[560]),/* "sect571k1" */ +&(nid_objs[561]),/* "sect571r1" */ &(nid_objs[105]),/* "serialNumber" */ &(nid_objs[41]),/* "sha" */ &(nid_objs[64]),/* "sha1" */ @@ -2425,11 +2566,14 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={ static ASN1_OBJECT *obj_objs[NUM_OBJ]={ &(nid_objs[ 0]),/* OBJ_undef 0 */ &(nid_objs[404]),/* OBJ_ccitt 0 */ +&(nid_objs[541]),/* OBJ_secp256r1 OBJ_X9_62_prime256v1 */ +&(nid_objs[537]),/* OBJ_secp192r1 OBJ_X9_62_prime192v1 */ &(nid_objs[389]),/* OBJ_Enterprises 1 */ &(nid_objs[434]),/* OBJ_data 0 9 */ &(nid_objs[181]),/* OBJ_iso 1 */ &(nid_objs[182]),/* OBJ_member_body 1 2 */ &(nid_objs[379]),/* OBJ_org 1 3 */ +&(nid_objs[527]),/* OBJ_identified_organization 1 3 */ &(nid_objs[393]),/* OBJ_joint_iso_ccitt 2 */ &(nid_objs[11]),/* OBJ_X500 2 5 */ &(nid_objs[380]),/* OBJ_dod 1 3 6 */ @@ -2439,6 +2583,7 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={ &(nid_objs[435]),/* OBJ_pss 0 9 2342 */ &(nid_objs[183]),/* OBJ_ISO_US 1 2 840 */ &(nid_objs[381]),/* OBJ_iana 1 3 6 1 */ +&(nid_objs[528]),/* OBJ_certicom_arc 1 3 132 */ &(nid_objs[394]),/* OBJ_selected_attribute_types 2 5 1 5 */ &(nid_objs[13]),/* OBJ_commonName 2 5 4 3 */ &(nid_objs[100]),/* OBJ_surname 2 5 4 4 */ @@ -2505,6 +2650,37 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={ &(nid_objs[115]),/* OBJ_sha1WithRSA 1 3 14 3 2 29 */ &(nid_objs[117]),/* OBJ_ripemd160 1 3 36 3 2 1 */ &(nid_objs[143]),/* OBJ_sxnet 1 3 101 1 4 1 */ +&(nid_objs[548]),/* OBJ_sect163k1 1 3 132 0 1 */ +&(nid_objs[549]),/* OBJ_sect163r1 1 3 132 0 2 */ +&(nid_objs[555]),/* OBJ_sect239k1 1 3 132 0 3 */ +&(nid_objs[544]),/* OBJ_sect113r1 1 3 132 0 4 */ +&(nid_objs[545]),/* OBJ_sect113r2 1 3 132 0 5 */ +&(nid_objs[529]),/* OBJ_secp112r1 1 3 132 0 6 */ +&(nid_objs[530]),/* OBJ_secp112r2 1 3 132 0 7 */ +&(nid_objs[534]),/* OBJ_secp160r1 1 3 132 0 8 */ +&(nid_objs[533]),/* OBJ_secp160k1 1 3 132 0 9 */ +&(nid_objs[540]),/* OBJ_secp256k1 1 3 132 0 10 */ +&(nid_objs[550]),/* OBJ_sect163r2 1 3 132 0 15 */ +&(nid_objs[556]),/* OBJ_sect283k1 1 3 132 0 16 */ +&(nid_objs[557]),/* OBJ_sect283r1 1 3 132 0 17 */ +&(nid_objs[546]),/* OBJ_sect131r1 1 3 132 0 22 */ +&(nid_objs[547]),/* OBJ_sect131r2 1 3 132 0 23 */ +&(nid_objs[551]),/* OBJ_sect193r1 1 3 132 0 24 */ +&(nid_objs[552]),/* OBJ_sect193r2 1 3 132 0 25 */ +&(nid_objs[553]),/* OBJ_sect233k1 1 3 132 0 26 */ +&(nid_objs[554]),/* OBJ_sect233r1 1 3 132 0 27 */ +&(nid_objs[531]),/* OBJ_secp128r1 1 3 132 0 28 */ +&(nid_objs[532]),/* OBJ_secp128r2 1 3 132 0 29 */ +&(nid_objs[535]),/* OBJ_secp160r2 1 3 132 0 30 */ +&(nid_objs[536]),/* OBJ_secp192k1 1 3 132 0 31 */ +&(nid_objs[538]),/* OBJ_secp224k1 1 3 132 0 32 */ +&(nid_objs[539]),/* OBJ_secp224r1 1 3 132 0 33 */ +&(nid_objs[542]),/* OBJ_secp384r1 1 3 132 0 34 */ +&(nid_objs[543]),/* OBJ_secp521r1 1 3 132 0 35 */ +&(nid_objs[558]),/* OBJ_sect409k1 1 3 132 0 36 */ +&(nid_objs[559]),/* OBJ_sect409r1 1 3 132 0 37 */ +&(nid_objs[560]),/* OBJ_sect571k1 1 3 132 0 38 */ +&(nid_objs[561]),/* OBJ_sect571r1 1 3 132 0 39 */ &(nid_objs[124]),/* OBJ_rle_compression 1 1 1 1 666 1 */ &(nid_objs[125]),/* OBJ_zlib_compression 1 1 1 1 666 2 */ &(nid_objs[ 1]),/* OBJ_rsadsi 1 2 840 113549 */ diff --git a/crypto/objects/obj_mac.h b/crypto/objects/obj_mac.h index ba506b1b2a..dc3a4ce3b9 100644 --- a/crypto/objects/obj_mac.h +++ b/crypto/objects/obj_mac.h @@ -87,6 +87,14 @@ #define NID_member_body 182 #define OBJ_member_body OBJ_iso,2L +#define SN_identified_organization "identified-organization" +#define NID_identified_organization 527 +#define OBJ_identified_organization OBJ_iso,3L + +#define SN_certicom_arc "certicom-arc" +#define NID_certicom_arc 528 +#define OBJ_certicom_arc OBJ_identified_organization,132L + #define SN_selected_attribute_types "selected-attribute-types" #define LN_selected_attribute_types "Selected Attribute Types" #define NID_selected_attribute_types 394 @@ -278,6 +286,140 @@ #define NID_ecdsa_with_SHA1 416 #define OBJ_ecdsa_with_SHA1 OBJ_X9_62_id_ecSigType,1L +#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L + +#define SN_secp112r1 "secp112r1" +#define NID_secp112r1 529 +#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L + +#define SN_secp112r2 "secp112r2" +#define NID_secp112r2 530 +#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L + +#define SN_secp128r1 "secp128r1" +#define NID_secp128r1 531 +#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L + +#define SN_secp128r2 "secp128r2" +#define NID_secp128r2 532 +#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L + +#define SN_secp160k1 "secp160k1" +#define NID_secp160k1 533 +#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L + +#define SN_secp160r1 "secp160r1" +#define NID_secp160r1 534 +#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L + +#define SN_secp160r2 "secp160r2" +#define NID_secp160r2 535 +#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L + +#define SN_secp192k1 "secp192k1" +#define NID_secp192k1 536 +#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L + +#define SN_secp192r1 "secp192r1" +#define NID_secp192r1 537 +#define OBJ_secp192r1 OBJ_X9_62_prime192v1 + +#define SN_secp224k1 "secp224k1" +#define NID_secp224k1 538 +#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L + +#define SN_secp224r1 "secp224r1" +#define NID_secp224r1 539 +#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L + +#define SN_secp256k1 "secp256k1" +#define NID_secp256k1 540 +#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L + +#define SN_secp256r1 "secp256r1" +#define NID_secp256r1 541 +#define OBJ_secp256r1 OBJ_X9_62_prime256v1 + +#define SN_secp384r1 "secp384r1" +#define NID_secp384r1 542 +#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L + +#define SN_secp521r1 "secp521r1" +#define NID_secp521r1 543 +#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L + +#define SN_sect113r1 "sect113r1" +#define NID_sect113r1 544 +#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L + +#define SN_sect113r2 "sect113r2" +#define NID_sect113r2 545 +#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L + +#define SN_sect131r1 "sect131r1" +#define NID_sect131r1 546 +#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L + +#define SN_sect131r2 "sect131r2" +#define NID_sect131r2 547 +#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L + +#define SN_sect163k1 "sect163k1" +#define NID_sect163k1 548 +#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L + +#define SN_sect163r1 "sect163r1" +#define NID_sect163r1 549 +#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L + +#define SN_sect163r2 "sect163r2" +#define NID_sect163r2 550 +#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L + +#define SN_sect193r1 "sect193r1" +#define NID_sect193r1 551 +#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L + +#define SN_sect193r2 "sect193r2" +#define NID_sect193r2 552 +#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L + +#define SN_sect233k1 "sect233k1" +#define NID_sect233k1 553 +#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L + +#define SN_sect233r1 "sect233r1" +#define NID_sect233r1 554 +#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L + +#define SN_sect239k1 "sect239k1" +#define NID_sect239k1 555 +#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L + +#define SN_sect283k1 "sect283k1" +#define NID_sect283k1 556 +#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L + +#define SN_sect283r1 "sect283r1" +#define NID_sect283r1 557 +#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L + +#define SN_sect409k1 "sect409k1" +#define NID_sect409k1 558 +#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L + +#define SN_sect409r1 "sect409r1" +#define NID_sect409r1 559 +#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L + +#define SN_sect571k1 "sect571k1" +#define NID_sect571k1 560 +#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L + +#define SN_sect571r1 "sect571r1" +#define NID_sect571r1 561 +#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L + #define SN_cast5_cbc "CAST5-CBC" #define LN_cast5_cbc "cast5-cbc" #define NID_cast5_cbc 108 diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num index 1d1fee0683..8bad61f26d 100644 --- a/crypto/objects/obj_mac.num +++ b/crypto/objects/obj_mac.num @@ -524,3 +524,38 @@ X9_62_c2pnb304w1 523 X9_62_c2tnb359v1 524 X9_62_c2pnb368w1 525 X9_62_c2tnb431r1 526 +identified_organization 527 +certicom_arc 528 +secp112r1 529 +secp112r2 530 +secp128r1 531 +secp128r2 532 +secp160k1 533 +secp160r1 534 +secp160r2 535 +secp192k1 536 +secp192r1 537 +secp224k1 538 +secp224r1 539 +secp256k1 540 +secp256r1 541 +secp384r1 542 +secp521r1 543 +sect113r1 544 +sect113r2 545 +sect131r1 546 +sect131r2 547 +sect163k1 548 +sect163r1 549 +sect163r2 550 +sect193r1 551 +sect193r2 552 +sect233k1 553 +sect233r1 554 +sect239k1 555 +sect283k1 556 +sect283r1 557 +sect409k1 558 +sect409r1 559 +sect571k1 560 +sect571r1 561 diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt index f116c0af1b..05c4d29afc 100644 --- a/crypto/objects/objects.txt +++ b/crypto/objects/objects.txt @@ -6,6 +6,10 @@ iso 2 : member-body : ISO Member Body +iso 3 : identified-organization + +identified-organization 132 : certicom-arc + joint-iso-ccitt 5 1 5 : selected-attribute-types : Selected Attribute Types selected-attribute-types 55 : clearance @@ -64,7 +68,46 @@ X9-62_primeCurve 7 : prime256v1 !global X9-62_id-ecSigType 1 : ecdsa-with-SHA1 - +# the following AsnOId are from the document +# "SEC 2: Recommended Elliptic Curve Domain Parameters" +# from the Standarts for Efficient Cryptography Group +# ( for more informations see : http://www.secg.org ) +!Alias secg_ellipticCurve certicom-arc 0 +# secg prime curves oids +secg-ellipticCurve 6 : secp112r1 +secg-ellipticCurve 7 : secp112r2 +secg-ellipticCurve 28 : secp128r1 +secg-ellipticCurve 29 : secp128r2 +secg-ellipticCurve 9 : secp160k1 +secg-ellipticCurve 8 : secp160r1 +secg-ellipticCurve 30 : secp160r2 +secg-ellipticCurve 31 : secp192k1 +X9_62_prime192v1 : secp192r1 +secg-ellipticCurve 32 : secp224k1 +secg-ellipticCurve 33 : secp224r1 +secg-ellipticCurve 10 : secp256k1 +X9_62_prime256v1 : secp256r1 +secg-ellipticCurve 34 : secp384r1 +secg-ellipticCurve 35 : secp521r1 +# secg characteristic two curves oids +secg-ellipticCurve 4 : sect113r1 +secg-ellipticCurve 5 : sect113r2 +secg-ellipticCurve 22 : sect131r1 +secg-ellipticCurve 23 : sect131r2 +secg-ellipticCurve 1 : sect163k1 +secg-ellipticCurve 2 : sect163r1 +secg-ellipticCurve 15 : sect163r2 +secg-ellipticCurve 24 : sect193r1 +secg-ellipticCurve 25 : sect193r2 +secg-ellipticCurve 26 : sect233k1 +secg-ellipticCurve 27 : sect233r1 +secg-ellipticCurve 3 : sect239k1 +secg-ellipticCurve 16 : sect283k1 +secg-ellipticCurve 17 : sect283r1 +secg-ellipticCurve 36 : sect409k1 +secg-ellipticCurve 37 : sect409r1 +secg-ellipticCurve 38 : sect571k1 +secg-ellipticCurve 39 : sect571r1 ISO-US 113533 7 66 10 : CAST5-CBC : cast5-cbc : CAST5-ECB : cast5-ecb