1 // oids.h - written and placed in the public domain by Wei Dai 2 3 //! \file oids.h 4 //! \brief ASN.1 object identifiers for algorthms and schemes 5 6 #ifndef CRYPTOPP_OIDS_H 7 #define CRYPTOPP_OIDS_H 8 9 #include "asn.h" 10 11 NAMESPACE_BEGIN(CryptoPP) 12 13 NAMESPACE_BEGIN(ASN1) 14 15 #define DEFINE_OID(value, name) inline OID name() {return value;} 16 17 DEFINE_OID(1, iso) 18 DEFINE_OID(iso()+2, member_body) 19 DEFINE_OID(member_body()+840, iso_us) 20 DEFINE_OID(iso_us()+10040, ansi_x9_57) 21 DEFINE_OID(ansi_x9_57()+4+1, id_dsa) 22 DEFINE_OID(iso_us()+10045, ansi_x9_62) 23 DEFINE_OID(ansi_x9_62()+1, id_fieldType) 24 DEFINE_OID(id_fieldType()+1, prime_field) 25 DEFINE_OID(id_fieldType()+2, characteristic_two_field) 26 DEFINE_OID(characteristic_two_field()+3, id_characteristic_two_basis) 27 DEFINE_OID(id_characteristic_two_basis()+1, gnBasis) 28 DEFINE_OID(id_characteristic_two_basis()+2, tpBasis) 29 DEFINE_OID(id_characteristic_two_basis()+3, ppBasis) 30 DEFINE_OID(ansi_x9_62()+2, id_publicKeyType) 31 DEFINE_OID(id_publicKeyType()+1, id_ecPublicKey) 32 DEFINE_OID(ansi_x9_62()+3, ansi_x9_62_curves) 33 DEFINE_OID(ansi_x9_62_curves()+1, ansi_x9_62_curves_prime) 34 DEFINE_OID(ansi_x9_62_curves_prime()+1, secp192r1) 35 DEFINE_OID(ansi_x9_62_curves_prime()+7, secp256r1) 36 DEFINE_OID(iso_us()+113549, rsadsi) 37 DEFINE_OID(rsadsi()+1, pkcs) 38 DEFINE_OID(pkcs()+1, pkcs_1) 39 DEFINE_OID(pkcs_1()+1, rsaEncryption); 40 DEFINE_OID(rsadsi()+2, rsadsi_digestAlgorithm) 41 DEFINE_OID(rsadsi_digestAlgorithm()+2, id_md2) 42 DEFINE_OID(rsadsi_digestAlgorithm()+5, id_md5) 43 DEFINE_OID(iso()+3, identified_organization) 44 // Arc from http://tools.ietf.org/html/draft-josefsson-pkix-newcurves 45 DEFINE_OID(identified_organization()+6, dod) 46 DEFINE_OID(dod()+1, internet) 47 DEFINE_OID(internet()+4, internet_private) 48 DEFINE_OID(internet_private()+1, enterprise) 49 DEFINE_OID(enterprise()+11591,gnu) 50 DEFINE_OID(gnu()+15,ellipticCurve) 51 DEFINE_OID(ellipticCurve()+1,curve25519) 52 DEFINE_OID(ellipticCurve()+2,curve448) 53 DEFINE_OID(ellipticCurve()+3,curve25519ph) 54 DEFINE_OID(ellipticCurve()+4,curve448ph) 55 DEFINE_OID(identified_organization()+14, oiw); 56 DEFINE_OID(oiw()+3, oiw_secsig); 57 DEFINE_OID(oiw_secsig()+2, oiw_secsig_algorithms); 58 DEFINE_OID(oiw_secsig_algorithms()+26, id_sha1); 59 DEFINE_OID(identified_organization()+36, teletrust); 60 DEFINE_OID(teletrust()+3, teletrust_algorithm) 61 DEFINE_OID(teletrust_algorithm()+2+1, id_ripemd160) 62 DEFINE_OID(teletrust_algorithm()+3+2+8+1, teletrust_ellipticCurve) 63 DEFINE_OID(teletrust_ellipticCurve()+1+1, brainpoolP160r1) 64 DEFINE_OID(teletrust_ellipticCurve()+1+3, brainpoolP192r1) 65 DEFINE_OID(teletrust_ellipticCurve()+1+5, brainpoolP224r1) 66 DEFINE_OID(teletrust_ellipticCurve()+1+7, brainpoolP256r1) 67 DEFINE_OID(teletrust_ellipticCurve()+1+9, brainpoolP320r1) 68 DEFINE_OID(teletrust_ellipticCurve()+1+11, brainpoolP384r1) 69 DEFINE_OID(teletrust_ellipticCurve()+1+13, brainpoolP512r1) 70 DEFINE_OID(identified_organization()+132, certicom); 71 DEFINE_OID(certicom()+0, certicom_ellipticCurve); 72 // these are sorted by curve type and then by OID 73 // first curves based on GF(p) 74 DEFINE_OID(certicom_ellipticCurve()+6, secp112r1); 75 DEFINE_OID(certicom_ellipticCurve()+7, secp112r2); 76 DEFINE_OID(certicom_ellipticCurve()+8, secp160r1); 77 DEFINE_OID(certicom_ellipticCurve()+9, secp160k1); 78 DEFINE_OID(certicom_ellipticCurve()+10, secp256k1); 79 DEFINE_OID(certicom_ellipticCurve()+28, secp128r1); 80 DEFINE_OID(certicom_ellipticCurve()+29, secp128r2); 81 DEFINE_OID(certicom_ellipticCurve()+30, secp160r2); 82 DEFINE_OID(certicom_ellipticCurve()+31, secp192k1); 83 DEFINE_OID(certicom_ellipticCurve()+32, secp224k1); 84 DEFINE_OID(certicom_ellipticCurve()+33, secp224r1); 85 DEFINE_OID(certicom_ellipticCurve()+34, secp384r1); 86 DEFINE_OID(certicom_ellipticCurve()+35, secp521r1); 87 // then curves based on GF(2^n) 88 DEFINE_OID(certicom_ellipticCurve()+1, sect163k1); 89 DEFINE_OID(certicom_ellipticCurve()+2, sect163r1); 90 DEFINE_OID(certicom_ellipticCurve()+3, sect239k1); 91 DEFINE_OID(certicom_ellipticCurve()+4, sect113r1); 92 DEFINE_OID(certicom_ellipticCurve()+5, sect113r2); 93 DEFINE_OID(certicom_ellipticCurve()+15, sect163r2); 94 DEFINE_OID(certicom_ellipticCurve()+16, sect283k1); 95 DEFINE_OID(certicom_ellipticCurve()+17, sect283r1); 96 DEFINE_OID(certicom_ellipticCurve()+22, sect131r1); 97 DEFINE_OID(certicom_ellipticCurve()+23, sect131r2); 98 DEFINE_OID(certicom_ellipticCurve()+24, sect193r1); 99 DEFINE_OID(certicom_ellipticCurve()+25, sect193r2); 100 DEFINE_OID(certicom_ellipticCurve()+26, sect233k1); 101 DEFINE_OID(certicom_ellipticCurve()+27, sect233r1); 102 DEFINE_OID(certicom_ellipticCurve()+36, sect409k1); 103 DEFINE_OID(certicom_ellipticCurve()+37, sect409r1); 104 DEFINE_OID(certicom_ellipticCurve()+38, sect571k1); 105 DEFINE_OID(certicom_ellipticCurve()+39, sect571r1); 106 DEFINE_OID(2, joint_iso_ccitt) 107 DEFINE_OID(joint_iso_ccitt()+16, country) 108 DEFINE_OID(country()+840, joint_iso_ccitt_us) 109 DEFINE_OID(joint_iso_ccitt_us()+1, us_organization) 110 DEFINE_OID(us_organization()+101, us_gov) 111 DEFINE_OID(us_gov()+3, csor) 112 DEFINE_OID(csor()+4, nistalgorithms) 113 DEFINE_OID(nistalgorithms()+1, aes) 114 DEFINE_OID(aes()+1, id_aes128_ECB) 115 DEFINE_OID(aes()+2, id_aes128_cbc) 116 DEFINE_OID(aes()+3, id_aes128_ofb) 117 DEFINE_OID(aes()+4, id_aes128_cfb) 118 DEFINE_OID(aes()+21, id_aes192_ECB) 119 DEFINE_OID(aes()+22, id_aes192_cbc) 120 DEFINE_OID(aes()+23, id_aes192_ofb) 121 DEFINE_OID(aes()+24, id_aes192_cfb) 122 DEFINE_OID(aes()+41, id_aes256_ECB) 123 DEFINE_OID(aes()+42, id_aes256_cbc) 124 DEFINE_OID(aes()+43, id_aes256_ofb) 125 DEFINE_OID(aes()+44, id_aes256_cfb) 126 DEFINE_OID(nistalgorithms()+2, nist_hashalgs) 127 DEFINE_OID(nist_hashalgs()+1, id_sha256) 128 DEFINE_OID(nist_hashalgs()+2, id_sha384) 129 DEFINE_OID(nist_hashalgs()+3, id_sha512) 130 131 NAMESPACE_END 132 133 NAMESPACE_END 134 135 #endif 136