1 PKIX1Algorithms88 { iso(1) identified-organization(3) dod(6) 2 internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) 3 id-mod-pkix1-algorithms(17) } 4 5 DEFINITIONS EXPLICIT TAGS ::= BEGIN 6 7 -- EXPORTS All; 8 9 -- IMPORTS NONE; 10 11 -- 12 -- One-way Hash Functions 13 -- 14 15 md2 OBJECT IDENTIFIER ::= { 16 iso(1) member-body(2) us(840) rsadsi(113549) 17 digestAlgorithm(2) 2 } 18 19 md5 OBJECT IDENTIFIER ::= { 20 iso(1) member-body(2) us(840) rsadsi(113549) 21 digestAlgorithm(2) 5 } 22 23 id-sha1 OBJECT IDENTIFIER ::= { 24 iso(1) identified-organization(3) oiw(14) secsig(3) 25 algorithms(2) 26 } 26 27 -- 28 -- DSA Keys and Signatures 29 -- 30 31 -- OID for DSA public key 32 33 id-dsa OBJECT IDENTIFIER ::= { 34 iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 } 35 36 -- encoding for DSA public key 37 38 DSAPublicKey ::= INTEGER -- public key, y 39 40 Dss-Parms ::= SEQUENCE { 41 p INTEGER, 42 q INTEGER, 43 g INTEGER } 44 45 -- OID for DSA signature generated with SHA-1 hash 46 47 id-dsa-with-sha1 OBJECT IDENTIFIER ::= { 48 iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 } 49 50 -- encoding for DSA signature generated with SHA-1 hash 51 52 Dss-Sig-Value ::= SEQUENCE { 53 r INTEGER, 54 s INTEGER } 55 56 -- 57 -- RSA Keys and Signatures 58 -- 59 60 -- arc for RSA public key and RSA signature OIDs 61 62 pkcs-1 OBJECT IDENTIFIER ::= { 63 iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 } 64 65 -- OID for RSA public keys 66 67 rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 } 68 69 -- OID for RSA signature generated with MD2 hash 70 71 md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 } 72 73 -- OID for RSA signature generated with MD5 hash 74 75 md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 } 76 77 -- OID for RSA signature generated with SHA-1 hash 78 79 sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 } 80 81 -- encoding for RSA public key 82 83 RSAPublicKey ::= SEQUENCE { 84 modulus INTEGER, -- n 85 publicExponent INTEGER } -- e 86 87 -- 88 -- Diffie-Hellman Keys 89 -- 90 91 dhpublicnumber OBJECT IDENTIFIER ::= { 92 iso(1) member-body(2) us(840) ansi-x942(10046) 93 number-type(2) 1 } 94 95 -- encoding for DSA public key 96 97 DHPublicKey ::= INTEGER -- public key, y = g^x mod p 98 99 DomainParameters ::= SEQUENCE { 100 p INTEGER, -- odd prime, p=jq +1 101 g INTEGER, -- generator, g 102 q INTEGER, -- factor of p-1 103 j INTEGER OPTIONAL, -- subgroup factor, j>= 2 104 validationParms ValidationParms OPTIONAL } 105 106 ValidationParms ::= SEQUENCE { 107 seed BIT STRING, 108 pgenCounter INTEGER } 109 110 -- 111 -- KEA Keys 112 -- 113 114 id-keyExchangeAlgorithm OBJECT IDENTIFIER ::= 115 { 2 16 840 1 101 2 1 1 22 } 116 117 KEA-Parms-Id ::= OCTET STRING 118 119 -- 120 -- Elliptic Curve Keys, Signatures, and Curves 121 -- 122 123 ansi-X9-62 OBJECT IDENTIFIER ::= { 124 iso(1) member-body(2) us(840) 10045 } 125 126 FieldID ::= SEQUENCE { -- Finite field 127 fieldType OBJECT IDENTIFIER, 128 parameters ANY DEFINED BY fieldType } 129 130 -- Arc for ECDSA signature OIDS 131 132 id-ecSigType OBJECT IDENTIFIER ::= { ansi-X9-62 signatures(4) } 133 134 -- OID for ECDSA signatures with SHA-1 135 136 ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { id-ecSigType 1 } 137 138 -- OID for an elliptic curve signature 139 -- format for the value of an ECDSA signature value 140 141 ECDSA-Sig-Value ::= SEQUENCE { 142 r INTEGER, 143 s INTEGER } 144 145 -- recognized field type OIDs are defined in the following arc 146 147 id-fieldType OBJECT IDENTIFIER ::= { ansi-X9-62 fieldType(1) } 148 149 -- where fieldType is prime-field, the parameters are of type Prime-p 150 151 prime-field OBJECT IDENTIFIER ::= { id-fieldType 1 } 152 153 Prime-p ::= INTEGER -- Finite field F(p), where p is an odd prime 154 155 -- where fieldType is characteristic-two-field, the parameters are 156 -- of type Characteristic-two 157 158 characteristic-two-field OBJECT IDENTIFIER ::= { id-fieldType 2 } 159 160 Characteristic-two ::= SEQUENCE { 161 m INTEGER, -- Field size 2^m 162 basis OBJECT IDENTIFIER, 163 parameters ANY DEFINED BY basis } 164 165 -- recognized basis type OIDs are defined in the following arc 166 167 id-characteristic-two-basis OBJECT IDENTIFIER ::= { 168 characteristic-two-field basisType(3) } 169 170 -- gnbasis is identified by OID gnBasis and indicates 171 -- parameters are NULL 172 173 gnBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 1 } 174 175 -- parameters for this basis are NULL 176 177 -- trinomial basis is identified by OID tpBasis and indicates 178 -- parameters of type Pentanomial 179 180 tpBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 2 } 181 182 -- Trinomial basis representation of F2^m 183 -- Integer k for reduction polynomial xm + xk + 1 184 185 Trinomial ::= INTEGER 186 187 -- for pentanomial basis is identified by OID ppBasis and indicates 188 -- parameters of type Pentanomial 189 190 ppBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 3 } 191 192 -- Pentanomial basis representation of F2^m 193 -- reduction polynomial integers k1, k2, k3 194 -- f(x) = x**m + x**k3 + x**k2 + x**k1 + 1 195 196 Pentanomial ::= SEQUENCE { 197 k1 INTEGER, 198 k2 INTEGER, 199 k3 INTEGER } 200 201 -- The object identifiers gnBasis, tpBasis and ppBasis name 202 -- three kinds of basis for characteristic-two finite fields 203 204 FieldElement ::= OCTET STRING -- Finite field element 205 206 ECPoint ::= OCTET STRING -- Elliptic curve point 207 208 -- Elliptic Curve parameters may be specified explicitly, 209 -- specified implicitly through a "named curve", or 210 -- inherited from the CA 211 212 EcpkParameters ::= CHOICE { 213 ecParameters ECParameters, 214 namedCurve OBJECT IDENTIFIER, 215 implicitlyCA NULL } 216 217 ECParameters ::= SEQUENCE { -- Elliptic curve parameters 218 version ECPVer, 219 fieldID FieldID, 220 curve Curve, 221 base ECPoint, -- Base point G 222 order INTEGER, -- Order n of the base point 223 cofactor INTEGER OPTIONAL } -- The integer h = #E(Fq)/n 224 225 ECPVer ::= INTEGER {ecpVer1(1)} 226 227 Curve ::= SEQUENCE { 228 a FieldElement, -- Elliptic curve coefficient a 229 b FieldElement, -- Elliptic curve coefficient b 230 seed BIT STRING OPTIONAL } 231 232 id-publicKeyType OBJECT IDENTIFIER ::= { ansi-X9-62 keyType(2) } 233 234 id-ecPublicKey OBJECT IDENTIFIER ::= { id-publicKeyType 1 } 235 236 -- Named Elliptic Curves in ANSI X9.62. 237 238 ellipticCurve OBJECT IDENTIFIER ::= { ansi-X9-62 curves(3) } 239 240 c-TwoCurve OBJECT IDENTIFIER ::= { 241 ellipticCurve characteristicTwo(0) } 242 243 c2pnb163v1 OBJECT IDENTIFIER ::= { c-TwoCurve 1 } 244 c2pnb163v2 OBJECT IDENTIFIER ::= { c-TwoCurve 2 } 245 c2pnb163v3 OBJECT IDENTIFIER ::= { c-TwoCurve 3 } 246 c2pnb176w1 OBJECT IDENTIFIER ::= { c-TwoCurve 4 } 247 c2tnb191v1 OBJECT IDENTIFIER ::= { c-TwoCurve 5 } 248 c2tnb191v2 OBJECT IDENTIFIER ::= { c-TwoCurve 6 } 249 c2tnb191v3 OBJECT IDENTIFIER ::= { c-TwoCurve 7 } 250 c2onb191v4 OBJECT IDENTIFIER ::= { c-TwoCurve 8 } 251 c2onb191v5 OBJECT IDENTIFIER ::= { c-TwoCurve 9 } 252 c2pnb208w1 OBJECT IDENTIFIER ::= { c-TwoCurve 10 } 253 c2tnb239v1 OBJECT IDENTIFIER ::= { c-TwoCurve 11 } 254 c2tnb239v2 OBJECT IDENTIFIER ::= { c-TwoCurve 12 } 255 c2tnb239v3 OBJECT IDENTIFIER ::= { c-TwoCurve 13 } 256 c2onb239v4 OBJECT IDENTIFIER ::= { c-TwoCurve 14 } 257 c2onb239v5 OBJECT IDENTIFIER ::= { c-TwoCurve 15 } 258 c2pnb272w1 OBJECT IDENTIFIER ::= { c-TwoCurve 16 } 259 c2pnb304w1 OBJECT IDENTIFIER ::= { c-TwoCurve 17 } 260 c2tnb359v1 OBJECT IDENTIFIER ::= { c-TwoCurve 18 } 261 c2pnb368w1 OBJECT IDENTIFIER ::= { c-TwoCurve 19 } 262 c2tnb431r1 OBJECT IDENTIFIER ::= { c-TwoCurve 20 } 263 264 primeCurve OBJECT IDENTIFIER ::= { ellipticCurve prime(1) } 265 266 prime192v1 OBJECT IDENTIFIER ::= { primeCurve 1 } 267 prime192v2 OBJECT IDENTIFIER ::= { primeCurve 2 } 268 prime192v3 OBJECT IDENTIFIER ::= { primeCurve 3 } 269 prime239v1 OBJECT IDENTIFIER ::= { primeCurve 4 } 270 prime239v2 OBJECT IDENTIFIER ::= { primeCurve 5 } 271 prime239v3 OBJECT IDENTIFIER ::= { primeCurve 6 } 272 prime256v1 OBJECT IDENTIFIER ::= { primeCurve 7 } 273 274 END 275