Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:55:06

0001 // oids.h - originally written and placed in the public domain by Wei Dai

0002 
0003 /// \file oids.h

0004 /// \brief ASN.1 object identifiers for algorithms and schemes

0005 /// \details Most OIDs can be found at http://www.oid-info.com/. The Chinese OIDs

0006 ///   are assigned in GM/T 0006-2012, Cryptographic Application Identifier Criterion

0007 ///   Specification. A reproduction can be found at http://gmssl.org/docs/oid.html.

0008 ///   There seems to be some confusion between the text of GmSSL's oid.html web page

0009 ///   and the actual OID used in the code. We used the same OIDs that were detailed in

0010 ///   http://github.com/guanzhi/GmSSL/blob/master/crypto/objects/objects.txt.

0011 
0012 #ifndef CRYPTOPP_OIDS_H
0013 #define CRYPTOPP_OIDS_H
0014 
0015 #include "asn.h"
0016 
0017 NAMESPACE_BEGIN(CryptoPP)
0018 
0019 NAMESPACE_BEGIN(ASN1)
0020 
0021 #define DEFINE_OID(value, name) inline OID name() {return value;}
0022 
0023 DEFINE_OID(1, iso)
0024     DEFINE_OID(iso()+2, member_body)
0025         DEFINE_OID(member_body()+156, iso_cn)
0026             DEFINE_OID(iso_cn()+10197, oscca)
0027                 DEFINE_OID(oscca()+1, sm_scheme)
0028                     DEFINE_OID(sm_scheme()+104, sms4)
0029                     DEFINE_OID(sm_scheme()+301, sm2p256v1)
0030                         DEFINE_OID(sm2p256v1()+1, sm2sign)
0031                         DEFINE_OID(sm2p256v1()+2, sm2exchange)
0032                         DEFINE_OID(sm2p256v1()+3, sm2encrypt)
0033                             DEFINE_OID(sm2encrypt()+1, sm2encrypt_recommendedParameters)
0034                             DEFINE_OID(sm2encrypt()+2, sm2encrypt_specifiedParameters)
0035         DEFINE_OID(member_body()+840, iso_us)
0036             DEFINE_OID(iso_us()+10040, ansi_x9_57)
0037                 DEFINE_OID(ansi_x9_57()+4, ansi_x9cm)
0038                     DEFINE_OID(ansi_x9cm()+1, id_dsa)
0039             DEFINE_OID(iso_us()+10045, ansi_x9_62)
0040                 DEFINE_OID(ansi_x9_62()+1, id_fieldType)
0041                     DEFINE_OID(id_fieldType()+1, prime_field)
0042                     DEFINE_OID(id_fieldType()+2, characteristic_two_field)
0043                         DEFINE_OID(characteristic_two_field()+3, id_characteristic_two_basis)
0044                             DEFINE_OID(id_characteristic_two_basis()+1, gnBasis)
0045                             DEFINE_OID(id_characteristic_two_basis()+2, tpBasis)
0046                             DEFINE_OID(id_characteristic_two_basis()+3, ppBasis)
0047                 DEFINE_OID(ansi_x9_62()+2, id_publicKeyType)
0048                     DEFINE_OID(id_publicKeyType()+1, id_ecPublicKey)
0049                 DEFINE_OID(ansi_x9_62()+3, ansi_x9_62_curves)
0050                     DEFINE_OID(ansi_x9_62_curves()+1, ansi_x9_62_curves_prime)
0051                         // ANSI X9.62

0052                         DEFINE_OID(ansi_x9_62_curves_prime()+1, secp192r1)  // secp192v1

0053                         //DEFINE_OID(ansi_x9_62_curves_prime()+2, secp192v2)

0054                         //DEFINE_OID(ansi_x9_62_curves_prime()+3, secp192v3)

0055                         //DEFINE_OID(ansi_x9_62_curves_prime()+4, secp239v1)

0056                         //DEFINE_OID(ansi_x9_62_curves_prime()+5, secp239v2)

0057                         //DEFINE_OID(ansi_x9_62_curves_prime()+6, secp239v3)

0058                         DEFINE_OID(ansi_x9_62_curves_prime()+7, secp256r1)  // secp256v1

0059                 DEFINE_OID(ansi_x9_62()+4, ansi_signatures)
0060                         DEFINE_OID(ansi_signatures()+3, ecdsa_with_sha2)
0061                             DEFINE_OID(ecdsa_with_sha2()+1, ecdsa_with_sha224)
0062                             DEFINE_OID(ecdsa_with_sha2()+2, ecdsa_with_sha256)
0063                             DEFINE_OID(ecdsa_with_sha2()+3, ecdsa_with_sha384)
0064                             DEFINE_OID(ecdsa_with_sha2()+4, ecdsa_with_sha512)
0065             DEFINE_OID(iso_us()+113549, rsadsi)
0066                 DEFINE_OID(rsadsi()+1, pkcs)
0067                     DEFINE_OID(pkcs()+1, pkcs_1)
0068                         // Arc from PKCS #1 and RFC 2459

0069                         DEFINE_OID(pkcs_1()+1, rsaEncryption)
0070                         DEFINE_OID(pkcs_1()+2, md2WithRSAEncryption)
0071                         DEFINE_OID(pkcs_1()+3, md4withRSAEncryption)
0072                         DEFINE_OID(pkcs_1()+4, md5WithRSAEncryption)
0073                         DEFINE_OID(pkcs_1()+5, sha1WithRSAEncryption)
0074                         DEFINE_OID(pkcs_1()+10, rsassa_pss)
0075                         DEFINE_OID(pkcs_1()+11, sha256WithRSAEncryption)
0076                         DEFINE_OID(pkcs_1()+12, sha384WithRSAEncryption)
0077                         DEFINE_OID(pkcs_1()+13, sha512WithRSAEncryption)
0078                         DEFINE_OID(pkcs_1()+14, sha224WithRSAEncryption)
0079                         DEFINE_OID(pkcs_1()+15, sha512_224WithRSAEncryption)
0080                         DEFINE_OID(pkcs_1()+16, sha512_256WithRSAEncryption)
0081                 DEFINE_OID(rsadsi()+2, rsadsi_digestAlgorithm)
0082                     DEFINE_OID(rsadsi_digestAlgorithm()+2, id_md2)
0083                     DEFINE_OID(rsadsi_digestAlgorithm()+5, id_md5)
0084     DEFINE_OID(iso()+3, identified_organization)
0085         // Arc from http://tools.ietf.org/html/draft-josefsson-pkix-newcurves

0086         // GNU and OpenPGP uses 1.3.6.1.4.1.11591.15.1 for Ed25519. See

0087         // https://www.gnu.org/prep/standards/html_node/OID-Allocations.html,

0088         // https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-rfc4880bis

0089         DEFINE_OID(identified_organization()+6, dod)
0090             DEFINE_OID(dod()+1, internet)
0091                 DEFINE_OID(internet()+4, internet_private)
0092                     DEFINE_OID(internet_private()+1, enterprise)
0093                         DEFINE_OID(enterprise()+11591,gnu)
0094                             DEFINE_OID(gnu()+15,ellipticCurve)
0095                                 DEFINE_OID(ellipticCurve()+1,curve25519)
0096                                 DEFINE_OID(ellipticCurve()+2,curve448)
0097                                 DEFINE_OID(ellipticCurve()+3,curve25519ph)
0098                                 DEFINE_OID(ellipticCurve()+4,curve448ph)
0099         DEFINE_OID(identified_organization()+14, oiw)
0100             DEFINE_OID(oiw()+3, oiw_secsig)
0101                 DEFINE_OID(oiw_secsig()+2, oiw_secsig_algorithms)
0102                     DEFINE_OID(oiw_secsig_algorithms()+26, id_sha1)
0103             DEFINE_OID(oiw()+7, dssig)
0104                 DEFINE_OID(dssig()+2, algorithm)
0105                     DEFINE_OID(algorithm()+1, encryptionAlgorithm)
0106                         DEFINE_OID(encryptionAlgorithm()+1, elGamal)
0107         DEFINE_OID(identified_organization()+36, teletrust)
0108             DEFINE_OID(teletrust()+3, teletrust_algorithm)
0109                 DEFINE_OID(teletrust_algorithm()+2+1, id_ripemd160)
0110                 DEFINE_OID(teletrust_algorithm()+3+2+8+1, teletrust_ellipticCurve)
0111                     DEFINE_OID(teletrust_ellipticCurve()+1+1, brainpoolP160r1)
0112                     DEFINE_OID(teletrust_ellipticCurve()+1+3, brainpoolP192r1)
0113                     DEFINE_OID(teletrust_ellipticCurve()+1+5, brainpoolP224r1)
0114                     DEFINE_OID(teletrust_ellipticCurve()+1+7, brainpoolP256r1)
0115                     DEFINE_OID(teletrust_ellipticCurve()+1+9, brainpoolP320r1)
0116                     DEFINE_OID(teletrust_ellipticCurve()+1+11, brainpoolP384r1)
0117                     DEFINE_OID(teletrust_ellipticCurve()+1+13, brainpoolP512r1)
0118         // https://tools.ietf.org/html/draft-ietf-curdle-pkix-07

0119         DEFINE_OID(identified_organization()+101, thawte)
0120             DEFINE_OID(thawte()+110, X25519)
0121             DEFINE_OID(thawte()+111, X448)
0122             DEFINE_OID(thawte()+112, Ed25519)
0123             DEFINE_OID(thawte()+113, Ed448)
0124         DEFINE_OID(identified_organization()+132, certicom)
0125             DEFINE_OID(certicom()+0, certicom_ellipticCurve)
0126                 // these are sorted by curve type and then by OID

0127                 // first curves based on GF(p)

0128                 DEFINE_OID(certicom_ellipticCurve()+6, secp112r1)
0129                 DEFINE_OID(certicom_ellipticCurve()+7, secp112r2)
0130                 DEFINE_OID(certicom_ellipticCurve()+8, secp160r1)
0131                 DEFINE_OID(certicom_ellipticCurve()+9, secp160k1)
0132                 DEFINE_OID(certicom_ellipticCurve()+10, secp256k1)
0133                 DEFINE_OID(certicom_ellipticCurve()+28, secp128r1)
0134                 DEFINE_OID(certicom_ellipticCurve()+29, secp128r2)
0135                 DEFINE_OID(certicom_ellipticCurve()+30, secp160r2)
0136                 DEFINE_OID(certicom_ellipticCurve()+31, secp192k1)
0137                 DEFINE_OID(certicom_ellipticCurve()+32, secp224k1)
0138                 DEFINE_OID(certicom_ellipticCurve()+33, secp224r1)
0139                 DEFINE_OID(certicom_ellipticCurve()+34, secp384r1)
0140                 DEFINE_OID(certicom_ellipticCurve()+35, secp521r1)
0141                 // then curves based on GF(2^n)

0142                 DEFINE_OID(certicom_ellipticCurve()+1, sect163k1)
0143                 DEFINE_OID(certicom_ellipticCurve()+2, sect163r1)
0144                 DEFINE_OID(certicom_ellipticCurve()+3, sect239k1)
0145                 DEFINE_OID(certicom_ellipticCurve()+4, sect113r1)
0146                 DEFINE_OID(certicom_ellipticCurve()+5, sect113r2)
0147                 DEFINE_OID(certicom_ellipticCurve()+15, sect163r2)
0148                 DEFINE_OID(certicom_ellipticCurve()+16, sect283k1)
0149                 DEFINE_OID(certicom_ellipticCurve()+17, sect283r1)
0150                 DEFINE_OID(certicom_ellipticCurve()+22, sect131r1)
0151                 DEFINE_OID(certicom_ellipticCurve()+23, sect131r2)
0152                 DEFINE_OID(certicom_ellipticCurve()+24, sect193r1)
0153                 DEFINE_OID(certicom_ellipticCurve()+25, sect193r2)
0154                 DEFINE_OID(certicom_ellipticCurve()+26, sect233k1)
0155                 DEFINE_OID(certicom_ellipticCurve()+27, sect233r1)
0156                 DEFINE_OID(certicom_ellipticCurve()+36, sect409k1)
0157                 DEFINE_OID(certicom_ellipticCurve()+37, sect409r1)
0158                 DEFINE_OID(certicom_ellipticCurve()+38, sect571k1)
0159                 DEFINE_OID(certicom_ellipticCurve()+39, sect571r1)
0160 DEFINE_OID(2, joint_iso_ccitt)
0161     DEFINE_OID(joint_iso_ccitt()+16, country)
0162         DEFINE_OID(country()+840, joint_iso_ccitt_us)
0163             DEFINE_OID(joint_iso_ccitt_us()+1, us_organization)
0164                 DEFINE_OID(us_organization()+101, us_gov)
0165                     DEFINE_OID(us_gov()+3, csor)
0166                         DEFINE_OID(csor()+4, nistalgorithms)
0167                             DEFINE_OID(nistalgorithms()+1, aes)
0168                                 DEFINE_OID(aes()+1, id_aes128_ECB)
0169                                 DEFINE_OID(aes()+2, id_aes128_cbc)
0170                                 DEFINE_OID(aes()+3, id_aes128_ofb)
0171                                 DEFINE_OID(aes()+4, id_aes128_cfb)
0172                                 DEFINE_OID(aes()+21, id_aes192_ECB)
0173                                 DEFINE_OID(aes()+22, id_aes192_cbc)
0174                                 DEFINE_OID(aes()+23, id_aes192_ofb)
0175                                 DEFINE_OID(aes()+24, id_aes192_cfb)
0176                                 DEFINE_OID(aes()+41, id_aes256_ECB)
0177                                 DEFINE_OID(aes()+42, id_aes256_cbc)
0178                                 DEFINE_OID(aes()+43, id_aes256_ofb)
0179                                 DEFINE_OID(aes()+44, id_aes256_cfb)
0180                             DEFINE_OID(nistalgorithms()+2, nist_hashalgs)
0181                                 DEFINE_OID(nist_hashalgs()+1, id_sha256)
0182                                 DEFINE_OID(nist_hashalgs()+2, id_sha384)
0183                                 DEFINE_OID(nist_hashalgs()+3, id_sha512)
0184                                 DEFINE_OID(nist_hashalgs()+4, id_sha224)
0185                                 DEFINE_OID(nist_hashalgs()+7, id_sha3_224)
0186                                 DEFINE_OID(nist_hashalgs()+8, id_sha3_256)
0187                                 DEFINE_OID(nist_hashalgs()+9, id_sha3_384)
0188                                 DEFINE_OID(nist_hashalgs()+10, id_sha3_512)
0189             DEFINE_OID(joint_iso_ccitt_us()+10046, ansi_x942)
0190                 DEFINE_OID(ansi_x942()+2, number_type)
0191                     DEFINE_OID(number_type()+1, dhpublicnumber)
0192 
0193 NAMESPACE_END
0194 
0195 NAMESPACE_END
0196 
0197 #endif