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) }
5
DEFINITIONS EXPLICIT TAGS ::= BEGIN
12
-- One-way Hash Functions
13
-- md2, md5, id-sha1 see PKCS-1
16
-- DSA Keys and Signatures
19
-- OID for DSA public key
21
id-dsa OBJECT IDENTIFIER ::= {
22
iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }
24
-- encoding for DSA public key
26
DSAPublicKey ::= INTEGER -- public key, y
28
Dss-Parms ::= SEQUENCE {
33
-- OID for DSA signature generated with SHA-1 hash
35
id-dsa-with-sha1 OBJECT IDENTIFIER ::= {
36
iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 }
38
-- encoding for DSA signature generated with SHA-1 hash
40
Dss-Sig-Value ::= SEQUENCE {
45
-- RSA Keys and Signatures, see PKCS-1
49
-- Diffie-Hellman Keys
52
dhpublicnumber OBJECT IDENTIFIER ::= {
53
iso(1) member-body(2) us(840) ansi-x942(10046)
56
-- encoding for DSA public key
58
DHPublicKey ::= INTEGER -- public key, y = g^x mod p
60
DomainParameters ::= SEQUENCE {
61
p INTEGER, -- odd prime, p=jq +1
62
g INTEGER, -- generator, g
63
q INTEGER, -- factor of p-1
64
j INTEGER OPTIONAL, -- subgroup factor, j>= 2
65
validationParms ValidationParms OPTIONAL }
67
ValidationParms ::= SEQUENCE {
75
id-keyExchangeAlgorithm OBJECT IDENTIFIER ::=
76
{ 2 16 840 1 101 2 1 1 22 }
78
KEA-Parms-Id ::= OCTET STRING
81
-- Elliptic Curve Keys, Signatures, and Curves
84
ansi-X9-62 OBJECT IDENTIFIER ::= {
85
iso(1) member-body(2) us(840) 10045 }
87
FieldID ::= SEQUENCE { -- Finite field
88
fieldType OBJECT IDENTIFIER,
89
parameters ANY DEFINED BY fieldType }
91
-- Arc for ECDSA signature OIDS
93
id-ecSigType OBJECT IDENTIFIER ::= { ansi-X9-62 signatures(4) }
95
-- OID for ECDSA signatures with SHA-1
97
ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { id-ecSigType 1 }
99
-- OID for an elliptic curve signature
100
-- format for the value of an ECDSA signature value
102
ECDSA-Sig-Value ::= SEQUENCE {
106
-- recognized field type OIDs are defined in the following arc
108
id-fieldType OBJECT IDENTIFIER ::= { ansi-X9-62 fieldType(1) }
110
-- where fieldType is prime-field, the parameters are of type Prime-p
112
prime-field OBJECT IDENTIFIER ::= { id-fieldType 1 }
114
Prime-p ::= INTEGER -- Finite field F(p), where p is an odd prime
116
-- where fieldType is characteristic-two-field, the parameters are
117
-- of type Characteristic-two
119
characteristic-two-field OBJECT IDENTIFIER ::= { id-fieldType 2 }
121
Characteristic-two ::= SEQUENCE {
122
m INTEGER, -- Field size 2^m
123
basis OBJECT IDENTIFIER,
124
parameters ANY DEFINED BY basis }
126
-- recognized basis type OIDs are defined in the following arc
128
id-characteristic-two-basis OBJECT IDENTIFIER ::= {
129
characteristic-two-field basisType(3) }
131
-- gnbasis is identified by OID gnBasis and indicates
132
-- parameters are NULL
134
gnBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 1 }
136
-- parameters for this basis are NULL
138
-- trinomial basis is identified by OID tpBasis and indicates
139
-- parameters of type Pentanomial
141
tpBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 2 }
143
-- Trinomial basis representation of F2^m
144
-- Integer k for reduction polynomial xm + xk + 1
146
Trinomial ::= INTEGER
148
-- for pentanomial basis is identified by OID ppBasis and indicates
149
-- parameters of type Pentanomial
151
ppBasis OBJECT IDENTIFIER ::= { id-characteristic-two-basis 3 }
153
-- Pentanomial basis representation of F2^m
154
-- reduction polynomial integers k1, k2, k3
155
-- f(x) = x**m + x**k3 + x**k2 + x**k1 + 1
157
Pentanomial ::= SEQUENCE {
162
-- The object identifiers gnBasis, tpBasis and ppBasis name
163
-- three kinds of basis for characteristic-two finite fields
165
FieldElement ::= OCTET STRING -- Finite field element
167
ECPoint ::= OCTET STRING -- Elliptic curve point
169
-- Elliptic Curve parameters may be specified explicitly,
170
-- specified implicitly through a "named curve", or
171
-- inherited from the CA
173
EcpkParameters ::= CHOICE {
174
ecParameters ECParameters,
175
namedCurve OBJECT IDENTIFIER,
178
ECParameters ::= SEQUENCE { -- Elliptic curve parameters
182
base ECPoint, -- Base point G
183
order INTEGER, -- Order n of the base point
184
cofactor INTEGER OPTIONAL } -- The integer h = #E(Fq)/n
186
ECPVer ::= INTEGER {ecpVer1(1)}
189
a FieldElement, -- Elliptic curve coefficient a
190
b FieldElement, -- Elliptic curve coefficient b
191
seed BIT STRING OPTIONAL }
193
id-publicKeyType OBJECT IDENTIFIER ::= { ansi-X9-62 keyType(2) }
195
id-ecPublicKey OBJECT IDENTIFIER ::= { id-publicKeyType 1 }
197
-- Named Elliptic Curves in ANSI X9.62.
199
ellipticCurve OBJECT IDENTIFIER ::= { ansi-X9-62 curves(3) }
201
c-TwoCurve OBJECT IDENTIFIER ::= {
202
ellipticCurve characteristicTwo(0) }
204
c2pnb163v1 OBJECT IDENTIFIER ::= { c-TwoCurve 1 }
205
c2pnb163v2 OBJECT IDENTIFIER ::= { c-TwoCurve 2 }
206
c2pnb163v3 OBJECT IDENTIFIER ::= { c-TwoCurve 3 }
207
c2pnb176w1 OBJECT IDENTIFIER ::= { c-TwoCurve 4 }
208
c2tnb191v1 OBJECT IDENTIFIER ::= { c-TwoCurve 5 }
209
c2tnb191v2 OBJECT IDENTIFIER ::= { c-TwoCurve 6 }
210
c2tnb191v3 OBJECT IDENTIFIER ::= { c-TwoCurve 7 }
211
c2onb191v4 OBJECT IDENTIFIER ::= { c-TwoCurve 8 }
212
c2onb191v5 OBJECT IDENTIFIER ::= { c-TwoCurve 9 }
213
c2pnb208w1 OBJECT IDENTIFIER ::= { c-TwoCurve 10 }
214
c2tnb239v1 OBJECT IDENTIFIER ::= { c-TwoCurve 11 }
215
c2tnb239v2 OBJECT IDENTIFIER ::= { c-TwoCurve 12 }
216
c2tnb239v3 OBJECT IDENTIFIER ::= { c-TwoCurve 13 }
217
c2onb239v4 OBJECT IDENTIFIER ::= { c-TwoCurve 14 }
218
c2onb239v5 OBJECT IDENTIFIER ::= { c-TwoCurve 15 }
219
c2pnb272w1 OBJECT IDENTIFIER ::= { c-TwoCurve 16 }
220
c2pnb304w1 OBJECT IDENTIFIER ::= { c-TwoCurve 17 }
221
c2tnb359v1 OBJECT IDENTIFIER ::= { c-TwoCurve 18 }
222
c2pnb368w1 OBJECT IDENTIFIER ::= { c-TwoCurve 19 }
223
c2tnb431r1 OBJECT IDENTIFIER ::= { c-TwoCurve 20 }
225
primeCurve OBJECT IDENTIFIER ::= { ellipticCurve prime(1) }
227
prime192v1 OBJECT IDENTIFIER ::= { primeCurve 1 }
228
prime192v2 OBJECT IDENTIFIER ::= { primeCurve 2 }
229
prime192v3 OBJECT IDENTIFIER ::= { primeCurve 3 }
230
prime239v1 OBJECT IDENTIFIER ::= { primeCurve 4 }
231
prime239v2 OBJECT IDENTIFIER ::= { primeCurve 5 }
232
prime239v3 OBJECT IDENTIFIER ::= { primeCurve 6 }
233
prime256v1 OBJECT IDENTIFIER ::= { primeCurve 7 }