draft-ietf-smime-gost-04.txt   draft-ietf-smime-gost-05.txt 
S/MIME Working Group Serguei Leontiev, CRYPTO-PRO S/MIME Working Group Serguei Leontiev, CRYPTO-PRO
Internet Draft Gregory Chudov, CRYPTO-PRO Internet Draft Gregory Chudov, CRYPTO-PRO
Expires January 18, 2006 July 18, 2005 Expires March 13, 2006 September 13, 2005
Intended Category: Informational Intended Category: Informational
Using the GOST 28147-89, GOST R 34.11-94, Using the GOST 28147-89, GOST R 34.11-94,
GOST R 34.10-94 and GOST R 34.10-2001 algorithms with the GOST R 34.10-94 and GOST R 34.10-2001 algorithms with the
Cryptographic Message Syntax (CMS) Cryptographic Message Syntax (CMS)
<draft-ietf-smime-gost-04.txt> <draft-ietf-smime-gost-05.txt>
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than a "work in progress." material or to cite them other than a "work in progress."
The list of current Internet Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html http://www.ietf.org/1id-abstracts.html.
The list of Internet Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html.
This Internet-Draft will expire on March 13, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2005).
Abstract Abstract
This document describes the conventions for using cryptographic This document describes the conventions for using cryptographic
algorithms GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001, GOST R algorithms GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001, GOST R
34.11-94, along with Cryptographic Message Syntax (CMS). The CMS is 34.11-94, along with Cryptographic Message Syntax (CMS). The CMS is
skipping to change at page 2, line 15 skipping to change at page 2, line 15
Table of Contents Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . 2 1 Introduction . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Terminology. . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Terminology. . . . . . . . . . . . . . . . . . . . . . . 3
2 Message Digest Algorithms. . . . . . . . . . . . . . . . 3 2 Message Digest Algorithms. . . . . . . . . . . . . . . . 3
2.1 Message Digest Algorithm GOST R 34.11-94 . . . . . . . . 3 2.1 Message Digest Algorithm GOST R 34.11-94 . . . . . . . . 3
3 Signature Algorithms . . . . . . . . . . . . . . . . . . 4 3 Signature Algorithms . . . . . . . . . . . . . . . . . . 4
3.1 Signature Algorithm GOST R 34.10-94. . . . . . . . . . . 4 3.1 Signature Algorithm GOST R 34.10-94. . . . . . . . . . . 4
3.2 Signature Algorithm GOST R 34.10-2001. . . . . . . . . . 4 3.2 Signature Algorithm GOST R 34.10-2001. . . . . . . . . . 4
4 Key Management Algorithms. . . . . . . . . . . . . . . . 5 4 Key Management Algorithms. . . . . . . . . . . . . . . . 5
4.1 Key Agreement Algorithms . . . . . . . . . . . . . . . . 5 4.1 Key Agreement Algorithms . . . . . . . . . . . . . . . . 5
4.1.1 Key Agreement Algorithm Based on GOST R 34.10-94/2001 4.1.1 Key Agreement Algorithms Based on GOST R 34.10-94/2001
Public Keys . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Public Keys . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Key Transport Algorithms. .. . . . . . . . . . . . . . . 7 4.2 Key Transport Algorithms. .. . . . . . . . . . . . . . . 7
4.2.1 Key Transport Algorithm Based on GOST R 34.10-94/2001 4.2.1 Key Transport Algorithm Based on GOST R 34.10-94/2001
Public Keys . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Public Keys . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5 Content Encryption Algorithms. . . . . . . . . . . . . . 8 5 Content Encryption Algorithms. . . . . . . . . . . . . . 9
5.1 Key-Encryption Key Algorithm GOST 28147-89 . . . . . . . 8 5.1 Key-Encryption Key Algorithm GOST 28147-89 . . . . . . . 9
6 MAC Algorithms . . . . . . . . . . . . . . . . . . . . . 9 6 MAC Algorithms . . . . . . . . . . . . . . . . . . . . . 9
6.1 HMAC with GOST R 34.11-94. . . . . . . . . . . . . . . . 9 6.1 HMAC with GOST R 34.11-94. . . . . . . . . . . . . . . . 10
7 Using with S/MIME. . . . . . . . . . . . . . . . . . . . 9 7 Using with S/MIME. . . . . . . . . . . . . . . . . . . . 10
7.1 Parameter micalg . . . . . . . . . . . . . . . . . . . . 9 7.1 Parameter micalg . . . . . . . . . . . . . . . . . . . . 10
7.2 Atribute SMIMECapabilities . . . . . . . . . . . . . . . 9 7.2 Atribute SMIMECapabilities . . . . . . . . . . . . . . . 10
8 Security Considerations. . . . . . . . . . . . . . . . . 10 8 Security Considerations. . . . . . . . . . . . . . . . . 11
9 Appendix Examples. . . . . . . . . . . . . . . . . . . . 11 9 Appendix Examples. . . . . . . . . . . . . . . . . . . . 11
9.1 Signed message . . . . . . . . . . . . . . . . . . . . . 11 9.1 Signed message . . . . . . . . . . . . . . . . . . . . . 12
9.2 Enveloped message using Key Agreement. . . . . . . . . . 12 9.2 Enveloped message using Key Agreement. . . . . . . . . . 13
9.3 Enveloped message using Key Transport. . . . . . . . . . 14 9.3 Enveloped message using Key Transport. . . . . . . . . . 16
10 Appendix ASN.1 Modules . . . . . . . . . . . . . . . . . 17 10 Appendix ASN.1 Modules . . . . . . . . . . . . . . . . . 18
10.1 GostR3410-EncryptionSyntax . . . . . . . . . . . . . . . 17 10.1 GostR3410-EncryptionSyntax . . . . . . . . . . . . . . . 18
10.2 GostR3410-94-SignatureSyntax . . . . . . . . . . . . . . 19 10.2 GostR3410-94-SignatureSyntax . . . . . . . . . . . . . . 20
10.3 GostR3410-2001-SignatureSyntax . . . . . . . . . . . . . 20 10.3 GostR3410-2001-SignatureSyntax . . . . . . . . . . . . . 21
11 References . . . . . . . . . . . . . . . . . . . . . . . 21 11 References . . . . . . . . . . . . . . . . . . . . . . . 22
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 23 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 23
Author's Address. . . . . . . . . . . . . . . . . . . . . . . . 23 Author's Address. . . . . . . . . . . . . . . . . . . . . . . . 24
Full Copyright Statement. . . . . . . . . . . . . . . . . . . . 25 Full Copyright Statement. . . . . . . . . . . . . . . . . . . . 25
1 Introduction 1 Introduction
The Cryptographic Message Syntax [CMS] is used for digital signature, The Cryptographic Message Syntax [CMS] is used for digital signature,
digest, authentication and encryption of arbitrary message contents. digest, authentication and encryption of arbitrary message contents.
This companion specification describes the use of cryptographic This companion specification describes the use of cryptographic
algorithms GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001 and GOST algorithms GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001 and GOST
R 34.11-94 in CMS, as proposed by the CRYPTO-PRO Company for "Russian R 34.11-94 in CMS, as proposed by the CRYPTO-PRO Company for "Russian
Cryptographic Software Compatibility Agreement" community. This Cryptographic Software Compatibility Agreement" community. This
skipping to change at page 3, line 36 skipping to change at page 3, line 36
Hash function GOST R 34.11-94 has been developed by "GUBS of Federal Hash function GOST R 34.11-94 has been developed by "GUBS of Federal
Agency Government Communication and Information" and "All-Russian Agency Government Communication and Information" and "All-Russian
Scientific and Research Institute of Standardization". The algorithm Scientific and Research Institute of Standardization". The algorithm
GOST R 34.11-94 produces a 256-bit hash value of the arbitrary finite GOST R 34.11-94 produces a 256-bit hash value of the arbitrary finite
bit length input. This document does not contain the full GOST R bit length input. This document does not contain the full GOST R
34.11-94 specification, which can be found in [GOSTR3411] in Russian. 34.11-94 specification, which can be found in [GOSTR3411] in Russian.
[Schneier95] ch. 18.11, p. 454. contains a brief technical [Schneier95] ch. 18.11, p. 454. contains a brief technical
description in English. description in English.
id-CryptoPro OBJECT IDENTIFIER ::=
{ iso(1) member-body(2) ru(643) rans(2) cryptopro(2) }
id-CryptoPro-algorithms OBJECT IDENTIFIER ::=
id-CryptoPro
The hash algorithm GOST R 34.11-94 has the following identifier: The hash algorithm GOST R 34.11-94 has the following identifier:
id-GostR3411-94 OBJECT IDENTIFIER ::= id-GostR3411-94 OBJECT IDENTIFIER ::=
{ id-CryptoPro-algorithms gostr3411(9) } { iso(1) member-body(2) ru(643) rans(2) cryptopro(2)
gostr3411(9) }
The AlgorithmIdentifier parameters field MUST be present, and the The AlgorithmIdentifier parameters field MUST be present, and the
parameters field MUST contain NULL. Implementations MAY accept the parameters field MUST contain NULL. Implementations MAY accept the
GOST R 34.11-94 AlgorithmIdentifiers with absent parameters as well GOST R 34.11-94 AlgorithmIdentifiers with absent parameters as well
as NULL parameters. as NULL parameters.
This function is always used with default parameters This function is always used with default parameters id-
gostR3411CryptoProParamSetAI (see section 8.2 of [CPALGS]). GostR3411-94-CryptoProParamSet (see section 8.2 of [CPALGS]).
When Message Digest authenticated attribute is present, DigestedData When Message Digest authenticated attribute is present, DigestedData
digest contains a 32-byte digest in little-endian representation: digest contains a 32-byte digest in little-endian representation:
GostR3411-94-Digest ::= OCTET STRING (SIZE (32)) GostR3411-94-Digest ::= OCTET STRING (SIZE (32))
3 Signature Algorithms 3 Signature Algorithms
This section specifies the CMS procedures for GOST R 34.10-94 and This section specifies the CMS procedures for GOST R 34.10-94 and
GOST R 34.10-2001 signature algorithms. GOST R 34.10-2001 signature algorithms.
skipping to change at page 5, line 46 skipping to change at page 5, line 40
RecipientInfos KeyAgreeRecipientInfo keyEncryptionAlgorithm and RecipientInfos KeyAgreeRecipientInfo keyEncryptionAlgorithm and
AuthenticatedData RecipientInfos KeyAgreeRecipientInfo AuthenticatedData RecipientInfos KeyAgreeRecipientInfo
keyEncryptionAlgorithm fields. keyEncryptionAlgorithm fields.
Wrapped content-encryption keys are located in the EnvelopedData Wrapped content-encryption keys are located in the EnvelopedData
RecipientInfos KeyAgreeRecipientInfo RecipientEncryptedKeys RecipientInfos KeyAgreeRecipientInfo RecipientEncryptedKeys
encryptedKey field. Wrapped message-authentication keys are located encryptedKey field. Wrapped message-authentication keys are located
in the AuthenticatedData RecipientInfos KeyAgreeRecipientInfo in the AuthenticatedData RecipientInfos KeyAgreeRecipientInfo
RecipientEncryptedKeys encryptedKey field. RecipientEncryptedKeys encryptedKey field.
4.1.1 Key Agreement Algorithm Based on GOST R 34.10-94/2001 Public Keys 4.1.1 Key Agreement Algorithms Based on GOST R 34.10-94/2001 Public
Keys
The EnvelopedData RecipientInfos KeyAgreeRecipientInfo field is used The EnvelopedData RecipientInfos KeyAgreeRecipientInfo field is used
as follows: as follows:
version MUST be 3. version MUST be 3.
originator MUST be the originatorKey alternative. The originator MUST be the originatorKey alternative. The
originatorKey algorithm field MUST contain the object identifier originatorKey algorithm field MUST contain the object identifier
id-GostR3410-94 or id-GostR3410-2001 and corresponding parameters id-GostR3410-94 or id-GostR3410-2001 and corresponding parameters
(defined in sections 2.3.1, 2.3.2 of [CPPK]). (defined in sections 2.3.1, 2.3.2 of [CPPK]).
The originatorKey publicKey field MUST contain the sender's public The originatorKey publicKey field MUST contain the sender's public
key. key.
keyEncryptionAlgorithm algorithm field MUST be identical to the keyEncryptionAlgorithm MUST be the id-GostR3410-94-CryptoPro-ESDH
recipient public key algorithm identifier. or the id-GostR3410-2001-CryptoPro-ESDH algorithm identifier,
depending on the recipient public key algorithm. The algorithm
identifier parameter field for these algorithms is
KeyWrapAlgorithm, and this parameter MUST be present. The
KeyWrapAlgorithm denotes the algorithm and parameters used to
encrypt the content-encryption key with the pairwise key-
encryption key generated using the VKO GOST R 34.10-94 or the VKO
GOST R 34.10-2001 key agreement algorithms.
keyEncryptionAlgorithm parameters MUST encapsulate The algorithm identifiers and parameter syntax is:
GostR3410-TransportParameters, containing encryptionParamSet (GOST
28147-89 algorithm parameters used for key encryption), and UKM.
GostR3410-TransportParameters ephemeralPublicKey MUST NOT be
present.
GostR3410-TransportParameters ::= SEQUENCE { id-GostR3410-94-CryptoPro-ESDH OBJECT IDENTIFIER ::=
encryptionParamSet OBJECT IDENTIFIER, { iso(1) member-body(2) ru(643) rans(2) cryptopro(2)
ephemeralPublicKey [0] IMPLICIT SubjectPublicKeyInfo OPTIONAL, gostR3410-94-CryptoPro-ESDH(97) }
ukm OCTET STRING
id-GostR3410-2001-CryptoPro-ESDH OBJECT IDENTIFIER ::=
{ iso(1) member-body(2) ru(643) rans(2) cryptopro(2)
gostR3410-2001-CryptoPro-ESDH(96) }
KeyWrapAlgorithm ::= AlgorithmIdentifier
When keyEncryptionAlgorithm is id-GostR3410-94-CryptoPro-ESDH,
KeyWrapAlgorithm algorithm MUST be the id-Gost28147-89-CryptoPro-
KeyWrap algorithm identifier.
id-Gost28147-89-CryptoPro-KeyWrap OBJECT IDENTIFIER ::=
{ iso(1) member-body(2) ru(643) rans(2) cryptopro(2)
keyWrap(13) cryptoPro(1) }
The CryptoPro Key Wrap algorithm is described in sections 6.3 and
6.4 of [CPALGS].
When keyEncryptionAlgorithm is id-GostR3410-2001-CryptoPro-ESDH,
KeyWrapAlgorithm algorithm MUST be either the id-
Gost28147-89-CryptoPro-KeyWrap or id-Gost28147-89-None-KeyWrap
algorithm identifier.
id-Gost28147-89-None-KeyWrap OBJECT IDENTIFIER ::=
{ iso(1) member-body(2) ru(643) rans(2) cryptopro(2)
keyWrap(13) none(0) }
The GOST 28147-89 Key Wrap algorithm is described in sections 6.1
and 6.2 of [CPALGS].
KeyWrapAlgorithm algorithm parameters MUST be present. The syntax
for KeyWrapAlgorithm algorithm parameters is
Gost28147-89-KeyWrapParameters ::=
SEQUENCE {
encryptionParamSet Gost28147-89-ParamSet
} }
Gost28147-89-ParamSet ::= OBJECT IDENTIFIER
KeyAgreeRecipientInfo ukm MUST be absent, KeyAgreeRecipientInfo ukm MUST be present, and contain eight
GostR3410-TransportParameters ukm is used instead and is not octets.
optional.
encryptedKey MUST encapsulate Gost28147-89-EncryptedKey, where encryptedKey MUST encapsulate Gost28147-89-EncryptedKey, where
maskKey MUST be absent. maskKey MUST be absent.
Gost28147-89-EncryptedKey ::= SEQUENCE { Gost28147-89-EncryptedKey ::= SEQUENCE {
encryptedKey Gost28147-89-Key, encryptedKey Gost28147-89-Key,
maskKey [0] IMPLICIT Gost28147-89-Key maskKey [0] IMPLICIT Gost28147-89-Key
OPTIONAL, OPTIONAL,
macKey Gost28147-89-MAC macKey Gost28147-89-MAC
} }
Using the secret key, corresponding to the originatorKey publicKey, Using the secret key, corresponding to the originatorKey publicKey,
and the recipient's public key, the algorithm VKO GOST R 34.10-94 or and the recipient's public key, the algorithm VKO GOST R 34.10-94 or
VKO GOST R 34.10-2001 (described in [CPALGS]) is applied to produce VKO GOST R 34.10-2001 (described in [CPALGS]) is applied to produce
the KEK. the KEK.
Then the key wrap algorithm, specified by encryptionParamSet, is Then the key wrap algorithm, specified by KeyWrapAlgorithm, is
applied to produce CEK_ENC, CEK_MAC, and IV. applied to produce CEK_ENC, CEK_MAC, and UKM.
GostR3410-TransportParameters encryptionParamSet is used for all Gost28147-89-KeyWrapParameters encryptionParamSet is used for all
encryption operations. encryption operations.
The resulting encrypted key (CEK_ENC) is placed in The resulting encrypted key (CEK_ENC) is placed in
Gost28147-89-EncryptedKey encryptedKey field, its mac (CEK_MAC) is Gost28147-89-EncryptedKey encryptedKey field, its mac (CEK_MAC) is
placed in Gost28147-89-EncryptedKey macKey field, and synchrovector placed in Gost28147-89-EncryptedKey macKey field, and UKM is placed
(IV) is placed in GostR3410-TransportParameters ukm field. in KeyAgreeRecipientInfo ukm field.
4.2 Key Transport Algorithms 4.2 Key Transport Algorithms
This section specifies the conventions employed by CMS This section specifies the conventions employed by CMS
implementations that support key transport using both VKO GOST R implementations that support key transport using both VKO GOST R
34.10-94 and VKO GOST R 34.10-2001 algorithms, described in [CPALGS]. 34.10-94 and VKO GOST R 34.10-2001 algorithms, described in [CPALGS].
Key transport algorithm identifiers are located in the EnvelopedData Key transport algorithm identifiers are located in the EnvelopedData
RecipientInfos KeyTransRecipientInfo keyEncryptionAlgorithm field. RecipientInfos KeyTransRecipientInfo keyEncryptionAlgorithm field.
skipping to change at page 8, line 4 skipping to change at page 8, line 37
sessionEncryptedKey Gost28147-89-EncryptedKey, sessionEncryptedKey Gost28147-89-EncryptedKey,
transportParameters transportParameters
[0] IMPLICIT GostR3410-TransportParameters OPTIONAL [0] IMPLICIT GostR3410-TransportParameters OPTIONAL
} }
GostR3410-TransportParameters ::= SEQUENCE { GostR3410-TransportParameters ::= SEQUENCE {
encryptionParamSet OBJECT IDENTIFIER, encryptionParamSet OBJECT IDENTIFIER,
ephemeralPublicKey [0] IMPLICIT SubjectPublicKeyInfo OPTIONAL, ephemeralPublicKey [0] IMPLICIT SubjectPublicKeyInfo OPTIONAL,
ukm OCTET STRING ukm OCTET STRING
} }
Using the secret key, corresponding to the Using the secret key, corresponding to the
GostR3410-TransportParameters ephemeralPublicKey, and the recipient's GostR3410-TransportParameters ephemeralPublicKey, and the recipient's
public key, the algorithm VKO GOST R 34.10-94 or VKO GOST R public key, the algorithm VKO GOST R 34.10-94 or VKO GOST R
34.10-2001 (described in [CPALGS]) is applied to produce the KEK. 34.10-2001 (described in [CPALGS]) is applied to produce the KEK.
Then key wrap algorithm, specified by encryptionParamSet, is applied Then the CryptoPro key wrap algorithm is applied to produce CEK_ENC,
to produce CEK_ENC, CEK_MAC, and IV. GostR3410-TransportParameters CEK_MAC, and UKM. GostR3410-TransportParameters encryptionParamSet is
encryptionParamSet is used for all encryption operations. used for all encryption operations.
The resulting encrypted key (CEK_ENC) is placed in The resulting encrypted key (CEK_ENC) is placed in
Gost28147-89-EncryptedKey encryptedKey field, its mac (CEK_MAC) is Gost28147-89-EncryptedKey encryptedKey field, its mac (CEK_MAC) is
placed in Gost28147-89-EncryptedKey macKey field, and synchrovector placed in Gost28147-89-EncryptedKey macKey field, and UKM is placed
(IV) is placed in GostR3410-TransportParameters ukm field. in GostR3410-TransportParameters ukm field.
5 Content Encryption Algorithms 5 Content Encryption Algorithms
This section specifies the conventions employed by CMS This section specifies the conventions employed by CMS
implementations that support content encryption using GOST 28147-89. implementations that support content encryption using GOST 28147-89.
Content encryption algorithm identifiers are located in the Content encryption algorithm identifiers are located in the
EnvelopedData EncryptedContentInfo contentEncryptionAlgorithm and the EnvelopedData EncryptedContentInfo contentEncryptionAlgorithm and the
EncryptedData EncryptedContentInfo contentEncryptionAlgorithm fields. EncryptedData EncryptedContentInfo contentEncryptionAlgorithm fields.
skipping to change at page 8, line 42 skipping to change at page 9, line 29
5.1 Content Encryption Algorithm GOST 28147-89 5.1 Content Encryption Algorithm GOST 28147-89
This section specifies the use of GOST 28147-89 algorithm for data This section specifies the use of GOST 28147-89 algorithm for data
encipherment. encipherment.
GOST 28147-89 is fully described in [GOST28147] (in Russian). GOST 28147-89 is fully described in [GOST28147] (in Russian).
This document specifies the following OID for this algorithm: This document specifies the following OID for this algorithm:
id-Gost28147-89 OBJECT IDENTIFIER ::= id-Gost28147-89 OBJECT IDENTIFIER ::=
{ id-CryptoPro-algorithms gost28147-89(21) } { iso(1) member-body(2) ru(643) rans(2) cryptopro(2)
gost28147-89(21) }
Algorithm parameters MUST be present and have the following Algorithm parameters MUST be present and have the following
structure: structure:
Gost28147-89-Parameters ::= Gost28147-89-Parameters ::=
SEQUENCE { SEQUENCE {
iv Gost28147-89-IV, iv Gost28147-89-IV,
encryptionParamSet OBJECT IDENTIFIER encryptionParamSet OBJECT IDENTIFIER
} }
Gost28147-89-IV ::= OCTET STRING (SIZE (8)) Gost28147-89-IV ::= OCTET STRING (SIZE (8))
encryptionParamSet specifies the set of corresponding encryptionParamSet specifies the set of corresponding
Gost28147-89-ParamSetParameters (see section 8.1 of [CPALGS]) Gost28147-89-ParamSetParameters (see section 8.1 of [CPALGS])
6 MAC Algorithms 6 MAC Algorithms
This section specifies the conventions employed by CMS This section specifies the conventions employed by CMS
implementations that support the message authentication code (MAC) implementations that support the message authentication code (MAC)
based on GOST R 34.11-94. based on GOST R 34.11-94.
skipping to change at page 9, line 28 skipping to change at page 10, line 16
MAC values are located in the AuthenticatedData mac field. MAC values are located in the AuthenticatedData mac field.
6.1 HMAC with GOST R 34.11-94 6.1 HMAC with GOST R 34.11-94
HMAC_GOSTR3411 (K,text) function is based on hash function GOST R HMAC_GOSTR3411 (K,text) function is based on hash function GOST R
34.11-94, as defined in section 3 of [CPALGS]. 34.11-94, as defined in section 3 of [CPALGS].
This document specifies the following OID for this algorithm: This document specifies the following OID for this algorithm:
id-HMACGostR3411-94 OBJECT IDENTIFIER ::= id-HMACGostR3411-94 OBJECT IDENTIFIER ::=
{ id-CryptoPro-algorithms hmacgostr3411(10) } { iso(1) member-body(2) ru(643) rans(2) cryptopro(2)
hmacgostr3411(10) }
This algorithm has the same parameters, as GOST R 34.11-94 digest This algorithm has the same parameters, as GOST R 34.11-94 digest
algorithm, and uses the same OIDs for their identification (see algorithm, and uses the same OIDs for their identification (see
[CPPK]). [CPPK]).
7 Using with S/MIME 7 Using with S/MIME
This section defines use of the algorithms defined in this document This section defines use of the algorithms defined in this document
together with S/MIME [RFC 3851]. together with S/MIME [RFC 3851].
skipping to change at page 10, line 30 skipping to change at page 11, line 20
30 1D 06 06 2A 85 03 02 02 15 30 13 04 08 00 00 30 1D 06 06 2A 85 03 02 02 15 30 13 04 08 00 00
00 00 00 00 00 00 06 07 2A 85 03 02 02 1F 01 00 00 00 00 00 00 06 07 2A 85 03 02 02 1F 01
8 Security Considerations 8 Security Considerations
Conforming applications MUST use unique values for ukm and iv. Conforming applications MUST use unique values for ukm and iv.
Recipients MAY verify that ukm and iv, specified by the sender, are Recipients MAY verify that ukm and iv, specified by the sender, are
unique. unique.
It is RECCOMENDED that software applications verify signature values, It is RECOMMENDED that software applications verify signature values,
subject public keys and algorithm parameters to conform to subject public keys and algorithm parameters to conform to
[GOSTR341001] [GOSTR341094] standards prior to their use. [GOSTR341001] [GOSTR341094] standards prior to their use.
Cryptographic algorithm parameters affect rigidity of algorithms. Cryptographic algorithm parameters affect rigidity of algorithms.
The use of parameters not listed in [CPALGS] is NOT RECOMENDED (see The use of parameters not listed in [CPALGS] is NOT RECOMMENDED (see
Security Considerations section of [CPALGS]). Security Considerations section of [CPALGS]).
Use of the same key for signature and key derivation is NOT Use of the same key for signature and key derivation is NOT
RECOMMENDED. When signed CMS documents are used as an analogue to a RECOMMENDED. When signed CMS documents are used as an analogue to a
manual signing, in the context of Russian Federal Digital Signature manual signing, in the context of Russian Federal Digital Signature
Law [RFDSL], signer certificate MUST contain the keyUsage extension, Law [RFDSL], signer certificate MUST contain the keyUsage extension,
it MUST be critical, and keyUsage MUST NOT include keyEncipherment or it MUST be critical, and keyUsage MUST NOT include keyEncipherment or
keyAgreement. Application SHOULD be submited for examination by an keyAgreement. Application SHOULD be submited for examination by an
authorized agency in appropriate levels of target_of_evaluation authorized agency in appropriate levels of target_of_evaluation
(TOE), according to [RFDSL], [RFLLIC] and [CRYPTOLIC]. (TOE), according to [RFDSL], [RFLLIC] and [CRYPTOLIC].
9 Appendix Examples 9 Appendix Examples
Examples here are stored in the same format as the examples in [RFC
4134], and can be extracted using the same program.
If you want to extract without the program, copy all the lines
between the "|>" and "|<" markers, remove any page breaks, and remove
the "|" in the first column of each line. The result is a valid
Base64 blob that can be processed by any Base64 decoder.
9.1 Signed message 9.1 Signed message
0 30 296: SEQUENCE { This message is signed using certificate from section 4.2 of [CPPK].
4 06 9: OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2)
15 A0 281: [0] { 0 296: SEQUENCE {
19 30 277: SEQUENCE { 4 9: OBJECT IDENTIFIER signedData
23 02 1: INTEGER 1 15 281: [0] {
26 31 12: SET { 19 277: SEQUENCE {
28 30 10: SEQUENCE { 23 1: INTEGER 1
30 06 6: OBJECT IDENTIFIER id_GostR3411_94 ( 1 2 643 2 2 9) 26 12: SET {
38 05 0: NULL 28 10: SEQUENCE {
30 6: OBJECT IDENTIFIER id-GostR3411-94
38 0: NULL
: } : }
: } : }
40 30 27: SEQUENCE { 40 27: SEQUENCE {
42 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) 42 9: OBJECT IDENTIFIER data
53 A0 14: [0] { 53 14: [0] {
55 04 12: OCTET STRING 55 12: OCTET STRING 73 61 6D 70 6C 65 20 74 65 78 74 0A
: 73 61 6D 70 6C 65 20 74 65 78 74 0A
: } : }
: } : }
69 31 228: SET { 69 228: SET {
72 30 225: SEQUENCE { 72 225: SEQUENCE {
75 02 1: INTEGER 1 75 1: INTEGER 1
78 30 129: SEQUENCE { 78 129: SEQUENCE {
81 30 109: SEQUENCE { 81 109: SEQUENCE {
83 31 31: SET { 83 31: SET {
85 30 29: SEQUENCE { 85 29: SEQUENCE {
87 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) 87 3: OBJECT IDENTIFIER commonName
92 0C 22: UTF8String 'GostR3410-2001 example' 92 22: UTF8String 'GostR3410-2001 example'
: } : }
: } : }
116 31 18: SET { 116 18: SET {
118 30 16: SEQUENCE { 118 16: SEQUENCE {
120 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10) 120 3: OBJECT IDENTIFIER organizationName
125 0C 9: UTF8String 'CryptoPro' 125 9: UTF8String 'CryptoPro'
: } : }
: } : }
136 31 11: SET { 136 11: SET {
138 30 9: SEQUENCE { 138 9: SEQUENCE {
140 06 3: OBJECT IDENTIFIER countryName (2 5 4 6) 140 3: OBJECT IDENTIFIER countryName
145 13 2: PrintableString 'RU' 145 2: PrintableString 'RU'
: } : }
: } : }
149 31 41: SET { 149 41: SET {
151 30 39: SEQUENCE { 151 39: SEQUENCE {
153 06 9: OBJECT IDENTIFIER 153 9: OBJECT IDENTIFIER emailAddress
: emailAddress (1 2 840 113549 1 9 1) 164 26: IA5String 'GostR3410-2001@example.com'
164 16 26: IA5String 'GostR3410-2001@example.com'
: } : }
: } : }
: } : }
192 02 16: INTEGER 192 16: INTEGER
: 48 E9 54 A5 CF E9 69 F5 C9 5C F7 55 E7 83 41 AF : 2B F5 C6 1E C2 11 BD 17 C7 DC D4 62 66 B4 2E 21
: } : }
210 30 10: SEQUENCE { 210 10: SEQUENCE {
212 06 6: OBJECT IDENTIFIER 212 6: OBJECT IDENTIFIER id-GostR3411-94
: id_GostR3411_94 ( 1 2 643 2 2 9) 220 0: NULL
220 05 0: NULL
: } : }
222 30 10: SEQUENCE { 222 10: SEQUENCE {
224 06 6: OBJECT IDENTIFIER 224 6: OBJECT IDENTIFIER id-GostR3410-2001
: id_GostR3410_2001 ( 1 2 643 2 2 19) 232 0: NULL
232 05 0: NULL
: } : }
234 04 64: OCTET STRING 234 64: OCTET STRING
: 6D C4 2D E5 C8 E8 8C 2E E0 77 AA 8C 75 0F C4 18 : C0 C3 42 D9 3F 8F FE 25 11 11 88 77 BF 89 C3 DB
: 09 0B 8A 23 D4 50 F3 0E 2B 6F 59 E8 8D 54 5D F9 : 83 42 04 D6 20 F9 68 2A 99 F6 FE 30 3B E4 F4 C8
: A7 4D 36 41 48 36 22 17 32 A1 F5 CA 1C FD 56 FE : F8 D5 B4 DA FB E1 C6 91 67 34 1F BC A6 7A 0D 12
: C4 53 47 0D 5D 24 B9 88 70 D9 F6 0A 8A 54 DB 54 : 7B FD 10 25 C6 51 DB 8D B2 F4 8C 71 7E ED 72 A9
: } : }
: } : }
: } : }
: } : }
: } : }
|>GostR3410-2001-signed.bin
|MIIBKAYJKoZIhvcNAQcCoIIBGTCCARUCAQExDDAKBgYqhQMCAgkFADAbBgkqhkiG
|9w0BBwGgDgQMc2FtcGxlIHRleHQKMYHkMIHhAgEBMIGBMG0xHzAdBgNVBAMMFkdv
|c3RSMzQxMC0yMDAxIGV4YW1wbGUxEjAQBgNVBAoMCUNyeXB0b1BybzELMAkGA1UE
|BhMCUlUxKTAnBgkqhkiG9w0BCQEWGkdvc3RSMzQxMC0yMDAxQGV4YW1wbGUuY29t
|AhAr9cYewhG9F8fc1GJmtC4hMAoGBiqFAwICCQUAMAoGBiqFAwICEwUABEDAw0LZ
|P4/+JRERiHe/icPbg0IE1iD5aCqZ9v4wO+T0yPjVtNr74caRZzQfvKZ6DRJ7/RAl
|xlHbjbL0jHF+7XKp
|<GostR3410-2001-signed.bin
9.2 Enveloped message using Key Agreement 9.2 Enveloped message using Key Agreement
0 30 452: SEQUENCE { 0 420: SEQUENCE {
4 06 9: OBJECT IDENTIFIER envelopedData (1 2 840 113549 1 7 3) 4 9: OBJECT IDENTIFIER envelopedData
15 A0 437: [0] { 15 405: [0] {
19 30 433: SEQUENCE { 19 401: SEQUENCE {
23 02 1: INTEGER 2 23 1: INTEGER 2
26 31 377: SET { 26 336: SET {
30 A1 373: [1] { 30 332: [1] {
34 02 1: INTEGER 3 34 1: INTEGER 3
37 A0 168: [0] { 37 101: [0] {
40 A1 165: [1] { 39 99: [1] {
43 30 28: SEQUENCE { 41 28: SEQUENCE {
45 06 6: OBJECT IDENTIFIER 43 6: OBJECT IDENTIFIER id-GostR3410-2001
: GOST R 34.10-94 (1 2 643 2 2 20) 51 18: SEQUENCE {
53 30 18: SEQUENCE { 53 7: OBJECT IDENTIFIER
55 06 7: OBJECT IDENTIFIER '1 2 643 2 2 32 2' : id-GostR3410-2001-CryptoPro-XchA-ParamSet
64 06 7: OBJECT IDENTIFIER '1 2 643 2 2 30 1' 62 7: OBJECT IDENTIFIER
: id-GostR3411-94-CryptoProParamSet
: } : }
: } : }
73 03 132: BIT STRING 0 unused bits, encapsulates { 71 67: BIT STRING, encapsulates {
77 04 128: OCTET STRING 74 64: OCTET STRING
: 4D FC D3 19 15 65 E6 A8 CD 2E F4 94 1D E9 1D 8E : B3 55 39 F4 67 81 97 2B A5 C4 D9 84 1F 27 FB 81
: 38 74 EF 67 CD 39 59 DB B3 F4 07 63 A0 A1 0D 72 : ED 08 32 E6 9A D4 F2 00 78 B8 FF 83 64 EA D2 1D
: 1B 88 9A DB FC 0A C6 D6 27 1D 0A 40 8A 4E C7 E8 : B0 78 3C 7D FE 03 C1 F4 06 E4 3B CC 16 B9 C5 F6
: FE 5B 36 C9 B9 A2 71 13 89 29 09 C7 73 AD 7E 07 : F6 19 37 1C 17 B8 A0 AA C7 D1 A1 94 B3 A5 36 20
: CD AB FA 4B FA FC 0D 1B 66 D2 60 49 87 B0 B2 ED
: 13 EE BA D2 2F BB 4B E5 DD 84 B7 65 85 10 49 8A
: 01 A5 F5 4C 24 FB 49 AB 1D 5D D8 A6 F4 F4 27 9B
: F7 F7 97 7A F9 D9 7B DB F5 A0 29 F6 8D C9 AB 46
: } : }
: } : }
: } : }
208 30 29: SEQUENCE { 140 10: [1] {
210 06 6: OBJECT IDENTIFIER GOST R 34.10-94 (1 2 643 2 2 20) 142 8: OCTET STRING 2F F0 F6 D1 86 4B 32 8A
218 30 19: SEQUENCE {
220 06 7: OBJECT IDENTIFIER '1 2 643 2 2 31 1'
229 04 8: OCTET STRING
: 97 27 17 E0 05 B0 D0 5A
: } : }
152 30: SEQUENCE {
154 6: OBJECT IDENTIFIER id-GostR3410-2001-CryptoPro-ESDH
162 20: SEQUENCE {
164 7: OBJECT IDENTIFIER id-Gost28147-89-None-KeyWrap
173 9: SEQUENCE {
175 7: OBJECT IDENTIFIER
: id-Gost28147-89-CryptoPro-A-ParamSet
: } : }
239 30 165: SEQUENCE {
242 30 162: SEQUENCE {
245 30 116: SEQUENCE {
247 30 102: SEQUENCE {
249 31 11: SET {
251 30 9: SEQUENCE {
253 06 3: OBJECT IDENTIFIER countryName (2 5 4 6)
258 13 2: PrintableString 'RU'
: } : }
: } : }
262 31 15: SET { 184 179: SEQUENCE {
264 30 13: SEQUENCE { 187 176: SEQUENCE {
266 06 3: OBJECT IDENTIFIER localityName (2 5 4 7) 190 129: SEQUENCE {
271 13 6: PrintableString 'Moscow' 193 109: SEQUENCE {
195 31: SET {
197 29: SEQUENCE {
199 3: OBJECT IDENTIFIER commonName
204 22: UTF8String 'GostR3410-2001 example'
: } : }
: } : }
279 31 23: SET { 228 18: SET {
281 30 21: SEQUENCE { 230 16: SEQUENCE {
283 06 3: OBJECT IDENTIFIER 232 3: OBJECT IDENTIFIER organizationName
: organizationName (2 5 4 10) 237 9: UTF8String 'CryptoPro'
288 13 14: PrintableString 'OOO Crypto-Pro'
: } : }
: } : }
304 31 20: SET { 248 11: SET {
306 30 18: SEQUENCE { 250 9: SEQUENCE {
308 06 3: OBJECT IDENTIFIER 252 3: OBJECT IDENTIFIER countryName
: organizationalUnitName (2 5 4 11) 257 2: PrintableString 'RU'
313 13 11: PrintableString 'Development'
: } : }
: } : }
326 31 23: SET { 261 41: SET {
328 30 21: SEQUENCE { 263 39: SEQUENCE {
330 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) 265 9: OBJECT IDENTIFIER emailAddress
335 13 14: PrintableString 'CP CSP Test CA' 276 26: IA5String 'GostR3410-2001@example.com'
: } : }
: } : }
: } : }
351 02 10: INTEGER 304 16: INTEGER
: 32 C7 ED 5B 00 03 00 00 12 82 : 2B F5 C6 1E C2 11 BD 17 C7 DC D4 62 66 B4 2E 21
: } : }
363 04 42: OCTET STRING, encapsulates { 322 42: OCTET STRING, encapsulates {
365 30 40: SEQUENCE { 324 40: SEQUENCE {
367 04 32: OCTET STRING 326 32: OCTET STRING
: 57 22 EF 5F 03 7C AF AD 74 7E 0C C4 52 9F 0D 96 : 16 A3 1C E7 CE 4E E9 0D F1 EC 74 69 04 68 1E C7
: F2 5B 42 23 0D 6A EC 7A 98 90 7F CC D8 2F E5 72 : 9F 3A ED B8 3B 1F 1D 4A 7E F9 A5 D9 CB 19 D5 E8
401 04 4: OCTET STRING 360 4: OCTET STRING
: C6 E0 DE 69 : 93 FD 86 7E
: } : }
: } : }
: } : }
: } : }
: } : }
: } : }
407 30 47: SEQUENCE { 366 56: SEQUENCE {
409 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) 368 9: OBJECT IDENTIFIER data
420 30 29: SEQUENCE { 379 29: SEQUENCE {
422 06 6: OBJECT IDENTIFIER GOST 28147-89 (1 2 643 2 2 21) 381 6: OBJECT IDENTIFIER id-Gost28147-89
430 30 19: SEQUENCE { 389 19: SEQUENCE {
432 04 8: OCTET STRING 391 8: OCTET STRING B7 35 E1 7A 07 35 A2 1D
: BF 68 D1 74 95 19 F0 13 401 7: OBJECT IDENTIFIER id-Gost28147-89-CryptoPro-A-ParamSet
442 06 7: OBJECT IDENTIFIER '1 2 643 2 2 31 1'
: } : }
: } : }
451 80 3: [0] 410 12: [0] 39 B1 8A F4 BF A9 E2 65 25 B6 55 C9
: B1 7F 12
: } : }
: } : }
: } : }
: } : }
|>GostR3410-2001-keyagree.bin
|MIIBpAYJKoZIhvcNAQcDoIIBlTCCAZECAQIxggFQoYIBTAIBA6BloWMwHAYGKoUD
|AgITMBIGByqFAwICJAAGByqFAwICHgEDQwAEQLNVOfRngZcrpcTZhB8n+4HtCDLm
|mtTyAHi4/4Nk6tIdsHg8ff4DwfQG5DvMFrnF9vYZNxwXuKCqx9GhlLOlNiChCgQI
|L/D20YZLMoowHgYGKoUDAgJgMBQGByqFAwICDQAwCQYHKoUDAgIfATCBszCBsDCB
|gTBtMR8wHQYDVQQDDBZHb3N0UjM0MTAtMjAwMSBleGFtcGxlMRIwEAYDVQQKDAlD
|cnlwdG9Qcm8xCzAJBgNVBAYTAlJVMSkwJwYJKoZIhvcNAQkBFhpHb3N0UjM0MTAt
|MjAwMUBleGFtcGxlLmNvbQIQK/XGHsIRvRfH3NRiZrQuIQQqMCgEIBajHOfOTukN
|8ex0aQRoHsefOu24Ox8dSn75pdnLGdXoBAST/YZ+MDgGCSqGSIb3DQEHATAdBgYq
|hQMCAhUwEwQItzXhegc1oh0GByqFAwICHwGADDmxivS/qeJlJbZVyQ==
|<GostR3410-2001-keyagree.bin
9.3 Enveloped message using Key Transport 9.3 Enveloped message using Key Transport
0 30 468: SEQUENCE { 0 423: SEQUENCE {
4 06 9: OBJECT IDENTIFIER envelopedData (1 2 840 113549 1 7 3) 4 9: OBJECT IDENTIFIER envelopedData
15 A0 453: [0] { 15 408: [0] {
19 30 449: SEQUENCE { 19 404: SEQUENCE {
23 02 1: INTEGER 0 23 1: INTEGER 0
26 31 393: SET { 26 339: SET {
30 30 389: SEQUENCE { 30 335: SEQUENCE {
34 02 1: INTEGER 0 34 1: INTEGER 0
37 30 116: SEQUENCE { 37 129: SEQUENCE {
39 30 102: SEQUENCE { 40 109: SEQUENCE {
41 31 11: SET { 42 31: SET {
43 30 9: SEQUENCE { 44 29: SEQUENCE {
45 06 3: OBJECT IDENTIFIER countryName (2 5 4 6) 46 3: OBJECT IDENTIFIER commonName
50 13 2: PrintableString 'RU' 51 22: UTF8String 'GostR3410-2001 example'
: }
: }
54 31 15: SET {
56 30 13: SEQUENCE {
58 06 3: OBJECT IDENTIFIER localityName (2 5 4 7)
63 13 6: PrintableString 'Moscow'
: } : }
: } : }
71 31 23: SET { 75 18: SET {
73 30 21: SEQUENCE { 77 16: SEQUENCE {
75 06 3: OBJECT IDENTIFIER organizationName (2 5 4 10) 79 3: OBJECT IDENTIFIER organizationName
80 13 14: PrintableString 'OOO Crypto-Pro' 84 9: UTF8String 'CryptoPro'
: } : }
: } : }
96 31 20: SET { 95 11: SET {
98 30 18: SEQUENCE { 97 9: SEQUENCE {
100 06 3: OBJECT IDENTIFIER 99 3: OBJECT IDENTIFIER countryName
: organizationalUnitName (2 5 4 11) 104 2: PrintableString 'RU'
105 13 11: PrintableString 'Development'
: } : }
: } : }
118 31 23: SET { 108 41: SET {
120 30 21: SEQUENCE { 110 39: SEQUENCE {
122 06 3: OBJECT IDENTIFIER commonName (2 5 4 3) 112 9: OBJECT IDENTIFIER emailAddress
127 13 14: PrintableString 'CP CSP Test CA' 123 26: IA5String 'GostR3410-2001@example.com'
: } : }
: } : }
: } : }
143 02 10: INTEGER 151 16: INTEGER
: 1A 04 13 2F 00 03 00 00 0F 61 : 2B F5 C6 1E C2 11 BD 17 C7 DC D4 62 66 B4 2E 21
: } : }
155 30 28: SEQUENCE { 169 28: SEQUENCE {
157 06 6: OBJECT IDENTIFIER GOST R 34.10-94 (1 2 643 2 2 20) 171 6: OBJECT IDENTIFIER id-GostR3410-2001
165 30 18: SEQUENCE { 179 18: SEQUENCE {
167 06 7: OBJECT IDENTIFIER '1 2 643 2 2 32 2' 181 7: OBJECT IDENTIFIER
176 06 7: OBJECT IDENTIFIER '1 2 643 2 2 30 1' : id-GostR3410-2001-CryptoPro-XchA-ParamSet
190 7: OBJECT IDENTIFIER
: id-GostR3411-94-CryptoProParamSet
: } : }
: } : }
185 04 235: OCTET STRING, encapsulates { 199 167: OCTET STRING, encapsulates {
188 30 232: SEQUENCE { 202 164: SEQUENCE {
191 30 40: SEQUENCE { 205 40: SEQUENCE {
193 04 32: OCTET STRING 207 32: OCTET STRING
: 6B B6 75 7D 48 FD FC 6C B1 51 48 4F 0D 92 1F B0 : 6A 2F A8 21 06 95 68 9F 9F E4 47 AA 9E CB 61 15
: 5D 3A 93 11 DC 8A 13 0D 42 77 6C DC 1A 5E 87 F7 : 2B 7E 41 60 BC 5D 8D FB F5 3D 28 1B 18 9A F9 75
227 04 4: OCTET STRING 241 4: OCTET STRING
: 0A A3 26 A0 : 36 6D 98 B7
: } : }
233 A0 187: [0] { 247 120: [0] {
236 06 7: OBJECT IDENTIFIER '1 2 643 2 2 31 1' 249 7: OBJECT IDENTIFIER
245 A0 165: [0] { : id-Gost28147-89-CryptoPro-A-ParamSet
248 30 28: SEQUENCE { 258 99: [0] {
250 06 6: OBJECT IDENTIFIER 260 28: SEQUENCE {
: GOST R 34.10-94 (1 2 643 2 2 20) 262 6: OBJECT IDENTIFIER id-GostR3410-2001
258 30 18: SEQUENCE { 270 18: SEQUENCE {
260 06 7: OBJECT IDENTIFIER '1 2 643 2 2 32 2' 272 7: OBJECT IDENTIFIER
269 06 7: OBJECT IDENTIFIER '1 2 643 2 2 30 1' : id-GostR3410-2001-CryptoPro-XchA-ParamSet
281 7: OBJECT IDENTIFIER
: id-GostR3411-94-CryptoProParamSet
: } : }
: } : }
278 03 132: BIT STRING 0 unused bits, encapsulates { 290 67: BIT STRING 1 unused bits, encapsulates {
282 04 128: OCTET STRING 293 64: OCTET STRING
: 47 A6 19 5E D6 FF E2 6A 6C 32 94 9D 6D 8C 1A 82 : 4D 2B 2F 33 90 E6 DC A3 DD 55 2A CD DF E0 EF FB
: C2 C4 0D 73 09 4E 01 3B B0 32 FE EE 79 1F C7 CC : 31 F7 73 7E 4E FF BF 78 89 8A 2B C3 CD 31 94 04
: DB 27 B0 52 4F E1 10 B1 26 B9 22 51 37 64 F2 06 : 4B 0E 60 48 96 1F DB C7 5D 12 6F DA B2 40 8A 77
: 33 13 00 D0 31 3F E4 B6 D2 D6 F7 31 B9 63 4F 02 : B5 BD EA F2 EC 34 CB 23 9F 9B 8B DD 9E 12 C0 F6
: 05 DD 16 E1 AD 0E E4 B7 CC B8 89 D1 20 D3 EA 45
: 53 02 8C 03 21 7C F2 0C BE BB 0D 7F 4E 04 E5 A5
: 3D F6 7F 2A 1E 17 40 59 4D 9D C5 4A ED 03 15 93
: B9 76 E6 41 BC 3B 70 18 90 B7 4A 7C 8F 4B 06 7D
: } : }
: } : }
413 04 8: OCTET STRING 359 8: OCTET STRING
: CA CD 7B 87 B9 60 17 68 : 97 95 E3 2C 2B AD 2B 0C
: } : }
: } : }
: } : }
: } : }
: } : }
423 30 47: SEQUENCE { 369 56: SEQUENCE {
425 06 9: OBJECT IDENTIFIER data (1 2 840 113549 1 7 1) 371 9: OBJECT IDENTIFIER data
436 30 29: SEQUENCE { 382 29: SEQUENCE {
438 06 6: OBJECT IDENTIFIER GOST 28147-89 (1 2 643 2 2 21) 384 6: OBJECT IDENTIFIER id-Gost28147-89
446 30 19: SEQUENCE { 392 19: SEQUENCE {
448 04 8: OCTET STRING 394 8: OCTET STRING BC 10 8B 1F 0B FF 34 29
: 56 9C 94 5C 37 0F B2 59 404 7: OBJECT IDENTIFIER id-Gost28147-89-CryptoPro-A-ParamSet
458 06 7: OBJECT IDENTIFIER '1 2 643 2 2 31 1'
: } : }
: } : }
467 80 3: [0] 413 12: [0] AA 8E 72 1D EE 4F B3 2E E3 0F A1 37
: E5 CE CA
: } : }
: } : }
: } : }
: } : }
|>GostR3410-2001-keytrans.bin
|MIIBpwYJKoZIhvcNAQcDoIIBmDCCAZQCAQAxggFTMIIBTwIBADCBgTBtMR8wHQYD
|VQQDDBZHb3N0UjM0MTAtMjAwMSBleGFtcGxlMRIwEAYDVQQKDAlDcnlwdG9Qcm8x
|CzAJBgNVBAYTAlJVMSkwJwYJKoZIhvcNAQkBFhpHb3N0UjM0MTAtMjAwMUBleGFt
|cGxlLmNvbQIQK/XGHsIRvRfH3NRiZrQuITAcBgYqhQMCAhMwEgYHKoUDAgIkAAYH
|KoUDAgIeAQSBpzCBpDAoBCBqL6ghBpVon5/kR6qey2EVK35BYLxdjfv1PSgbGJr5
|dQQENm2Yt6B4BgcqhQMCAh8BoGMwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwIC
|HgEDQwEEQE0rLzOQ5tyj3VUqzd/g7/sx93N+Tv+/eImKK8PNMZQESw5gSJYf28dd
|Em/askCKd7W96vLsNMsjn5uL3Z4SwPYECJeV4ywrrSsMMDgGCSqGSIb3DQEHATAd
|BgYqhQMCAhUwEwQIvBCLHwv/NCkGByqFAwICHwGADKqOch3uT7Mu4w+hNw==
|<GostR3410-2001-keytrans.bin
10 Appendix ASN.1 Modules 10 Appendix ASN.1 Modules
Additional ASN.1 modules, referenced here, can be found in [CPALGS]. Additional ASN.1 modules, referenced here, can be found in [CPALGS].
10.1 GostR3410-EncryptionSyntax 10.1 GostR3410-EncryptionSyntax
GostR3410-EncryptionSyntax GostR3410-EncryptionSyntax
{ iso(1) member-body(2) ru(643) rans(2) cryptopro(2) { iso(1) member-body(2) ru(643) rans(2) cryptopro(2)
other(1) modules(1) gostR3410-EncryptionSyntax(5) 2 } other(1) modules(1) gostR3410-EncryptionSyntax(5) 2 }
DEFINITIONS ::= DEFINITIONS ::=
skipping to change at page 17, line 45 skipping to change at page 19, line 10
id-CryptoPro-algorithms, id-CryptoPro-algorithms,
gost28147-89-EncryptionSyntax, gost28147-89-EncryptionSyntax,
gostR3410-94-PKISyntax, gostR3410-94-PKISyntax,
gostR3410-2001-PKISyntax, gostR3410-2001-PKISyntax,
ALGORITHM-IDENTIFIER, ALGORITHM-IDENTIFIER,
cryptographic-Gost-Useful-Definitions cryptographic-Gost-Useful-Definitions
FROM Cryptographic-Gost-Useful-Definitions FROM Cryptographic-Gost-Useful-Definitions
{ iso(1) member-body(2) ru(643) rans(2) { iso(1) member-body(2) ru(643) rans(2)
cryptopro(2) other(1) modules(1) cryptopro(2) other(1) modules(1)
cryptographic-Gost-Useful-Definitions(0) 1 } cryptographic-Gost-Useful-Definitions(0) 1 }
id-GostR3410-94, id-GostR3410-94
GostR3410-94-PublicKeyParameters,
GostR3410-94-PublicKeyAlgorithms
FROM GostR3410-94-PKISyntax gostR3410-94-PKISyntax FROM GostR3410-94-PKISyntax gostR3410-94-PKISyntax
id-GostR3410-2001, id-GostR3410-2001
GostR3410-2001-PublicKeyParameters,
GostR3410-2001-PublicKeyAlgorithms
FROM GostR3410-2001-PKISyntax gostR3410-2001-PKISyntax FROM GostR3410-2001-PKISyntax gostR3410-2001-PKISyntax
id-Gost28147-89-TestParamSet, Gost28147-89-ParamSet,
id-Gost28147-89-CryptoPro-A-ParamSet,
id-Gost28147-89-CryptoPro-B-ParamSet,
id-Gost28147-89-CryptoPro-C-ParamSet,
id-Gost28147-89-CryptoPro-D-ParamSet,
id-Gost28147-89-CryptoPro-Simple-A-ParamSet,
id-Gost28147-89-CryptoPro-Simple-B-ParamSet,
id-Gost28147-89-CryptoPro-Simple-C-ParamSet,
id-Gost28147-89-CryptoPro-Simple-D-ParamSet,
Gost28147-89-EncryptedKey Gost28147-89-EncryptedKey
FROM Gost28147-89-EncryptionSyntax FROM Gost28147-89-EncryptionSyntax
gost28147-89-EncryptionSyntax gost28147-89-EncryptionSyntax
SubjectPublicKeyInfo, AlgorithmIdentifier SubjectPublicKeyInfo
FROM PKIX1Explicit88 {iso(1) identified-organization(3) FROM PKIX1Explicit88 {iso(1) identified-organization(3)
dod(6) internet(1) security(5) mechanisms(5) pkix(7) dod(6) internet(1) security(5) mechanisms(5) pkix(7)
id-mod(0) id-pkix1-explicit-88(1)} id-mod(0) id-pkix1-explicit-88(1)}
; ;
-- CMS/PKCS#7 key transport algorithm & parameters -- CMS/PKCS#7 key agreement algorithms & parameters
Gost28147-89-KeyWrapParameters ::=
SEQUENCE {
encryptionParamSet Gost28147-89-ParamSet
}
id-Gost28147-89-CryptoPro-KeyWrap OBJECT IDENTIFIER ::=
{ id-CryptoPro-algorithms keyWrap(13) cryptoPro(1) }
id-Gost28147-89-None-KeyWrap OBJECT IDENTIFIER ::=
{ id-CryptoPro-algorithms keyWrap(13) none(0) }
Gost28147-89-KeyWrapAlgorithms ALGORITHM-IDENTIFIER ::= {
{ Gost28147-89-KeyWrapParameters IDENTIFIED BY
id-Gost28147-89-CryptoPro-KeyWrap } |
{ Gost28147-89-KeyWrapParameters IDENTIFIED BY
id-Gost28147-89-None-KeyWrap }
}
id-GostR3410-2001-CryptoPro-ESDH OBJECT IDENTIFIER ::=
{ id-CryptoPro-algorithms
gostR3410-2001-CryptoPro-ESDH(96) }
id-GostR3410-94-CryptoPro-ESDH OBJECT IDENTIFIER ::=
{ id-CryptoPro-algorithms
gostR3410-94-CryptoPro-ESDH(97) }
-- CMS/PKCS#7 key transport algorithms & parameters
-- OID for CMS/PKCS#7 Key transport is id-GostR3410-94 from -- OID for CMS/PKCS#7 Key transport is id-GostR3410-94 from
-- GostR3410-94-PKISyntax or id-GostR3410-2001 from -- GostR3410-94-PKISyntax or id-GostR3410-2001 from
-- GostR3410-2001-PKISyntax -- GostR3410-2001-PKISyntax
-- Parameters for CMS/PKCS#7 Key transport are -- Algorithms for CMS/PKCS#7 Key transport are
-- GostR3410-94-PublicKeyParameters from
-- GostR3410-94-PKISyntax with encryptionParameterOID or
-- GostR3410-2001-PublicKeyParameters from
-- GostR3410-2001-PKISyntax with encryptionParameterOID
-- Algorithm for CMS/PKCS#7 Key transport iare
-- GostR3410-94-PublicKeyAlgorithms from -- GostR3410-94-PublicKeyAlgorithms from
-- GostR3410-94-PKISyntax or -- GostR3410-94-PKISyntax or
-- GostR3410-2001-PublicKeyAlgorithms from -- GostR3410-2001-PublicKeyAlgorithms from
-- GostR3410-2001-PKISyntax -- GostR3410-2001-PKISyntax
-- SMIMECapability for CMS/PKCS#7 Key transport are -- SMIMECapability for CMS/PKCS#7 Key transport are
-- id-GostR3410-94 from GostR3410-94-PKISyntax or -- id-GostR3410-94 from GostR3410-94-PKISyntax or
-- id-GostR3410-2001 from GostR3410-2001-PKISyntax -- id-GostR3410-2001 from GostR3410-2001-PKISyntax
id-GostR3410-94-KeyTransportSMIMECapability id-GostR3410-94-KeyTransportSMIMECapability
OBJECT IDENTIFIER ::= id-GostR3410-94 OBJECT IDENTIFIER ::= id-GostR3410-94
id-GostR3410-2001-KeyTransportSMIMECapability id-GostR3410-2001-KeyTransportSMIMECapability
OBJECT IDENTIFIER ::= id-GostR3410-2001 OBJECT IDENTIFIER ::= id-GostR3410-2001
GostR3410-KeyTransport ::= GostR3410-KeyTransport ::=
SEQUENCE { SEQUENCE {
sessionEncryptedKey Gost28147-89-EncryptedKey, sessionEncryptedKey Gost28147-89-EncryptedKey,
transportParameters [0] transportParameters [0]
IMPLICIT GostR3410-TransportParameters OPTIONAL IMPLICIT GostR3410-TransportParameters OPTIONAL
} }
GostR3410-TransportParameters ::= GostR3410-TransportParameters ::=
SEQUENCE { SEQUENCE {
encryptionParamSet encryptionParamSet Gost28147-89-ParamSet,
OBJECT IDENTIFIER (
id-Gost28147-89-TestParamSet |
-- Only for testing purposes
id-Gost28147-89-CryptoPro-A-ParamSet |
id-Gost28147-89-CryptoPro-B-ParamSet |
id-Gost28147-89-CryptoPro-C-ParamSet |
id-Gost28147-89-CryptoPro-D-ParamSet |
id-Gost28147-89-CryptoPro-Simple-A-ParamSet |
id-Gost28147-89-CryptoPro-Simple-B-ParamSet |
id-Gost28147-89-CryptoPro-Simple-C-ParamSet |
id-Gost28147-89-CryptoPro-Simple-D-ParamSet
),
ephemeralPublicKey [0] ephemeralPublicKey [0]
IMPLICIT SubjectPublicKeyInfo OPTIONAL, IMPLICIT SubjectPublicKeyInfo OPTIONAL,
ukm OCTET STRING ( SIZE(8) ) ukm OCTET STRING ( SIZE(8) )
} }
GostR3410-KeyEncryptionAlgorithms
ALGORITHM-IDENTIFIER ::= {
{ GostR3410-94-PublicKeyParameters IDENTIFIED BY
id-GostR3410-94 } |
{ GostR3410-2001-PublicKeyParameters IDENTIFIED BY
id-GostR3410-2001 }
}
END -- GostR3410-EncryptionSyntax END -- GostR3410-EncryptionSyntax
10.2 GostR3410-94-SignatureSyntax 10.2 GostR3410-94-SignatureSyntax
GostR3410-94-SignatureSyntax GostR3410-94-SignatureSyntax
{ iso(1) member-body(2) ru(643) rans(2) cryptopro(2) { iso(1) member-body(2) ru(643) rans(2) cryptopro(2)
other(1) modules(1) gostR3410-94-SignatureSyntax(3) 1 } other(1) modules(1) gostR3410-94-SignatureSyntax(3) 1 }
DEFINITIONS ::= DEFINITIONS ::=
BEGIN BEGIN
-- EXPORTS All -- -- EXPORTS All --
skipping to change at page 21, line 13 skipping to change at page 22, line 11
ALGORITHM-IDENTIFIER ::= { ALGORITHM-IDENTIFIER ::= {
{ GostR3410-2001-PublicKeyParameters IDENTIFIED BY { GostR3410-2001-PublicKeyParameters IDENTIFIED BY
id-GostR3410-2001 } id-GostR3410-2001 }
} }
END -- GostR3410-2001-SignatureSyntax END -- GostR3410-2001-SignatureSyntax
11 References 11 References
Normative references: Normative references:
[CPALGS] V. Popov, I. Kurepkin, S. Leontiev, "Additional crypto-
graphic algorithms for use with GOST 28147-89, GOST R
34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 algo-
rithms.", September 2005, draft-popov-cryptopro-
cpalgs-04.txt
[CPPK] S. Leontiev, D. Shefanovskij, "Algorithms and Identi-
fiers for the Internet X.509 Public Key Infrastructure
Certificates and Certificate Revocation List (CRL),
corresponding to the algorithms GOST R 34.10-94, GOST R
34.10-2001, GOST R 34.11-94", September 2005, draft-
ietf-pkix-gost-cppk-03.txt
[GOST28147] "Cryptographic Protection for Data Processing System", [GOST28147] "Cryptographic Protection for Data Processing System",
GOST 28147-89, Gosudarstvennyi Standard of USSR, Gov- GOST 28147-89, Gosudarstvennyi Standard of USSR, Gov-
ernment Committee of the USSR for Standards, 1989. (In ernment Committee of the USSR for Standards, 1989. (In
Russian); Russian);
[GOSTR341094] "Information technology. Cryptographic Data Security. [GOSTR341094] "Information technology. Cryptographic Data Security.
Produce and check procedures of Electronic Digital Sig- Produce and check procedures of Electronic Digital Sig-
natures based on Asymmetric Cryptographic Algorithm.", natures based on Asymmetric Cryptographic Algorithm.",
GOST R 34.10-94, Gosudarstvennyi Standard of Russian GOST R 34.10-94, Gosudarstvennyi Standard of Russian
Federation, Government Committee of the Russia for Federation, Government Committee of the Russia for
skipping to change at page 21, line 36 skipping to change at page 22, line 47
Signature and verification processes of [electronic] Signature and verification processes of [electronic]
digital signature.", GOST R 34.10-2001, Gosudarstvennyi digital signature.", GOST R 34.10-2001, Gosudarstvennyi
Standard of Russian Federation, Government Committee of Standard of Russian Federation, Government Committee of
the Russia for Standards, 2001. (In Russian); the Russia for Standards, 2001. (In Russian);
[GOSTR341194] "Information technology. Cryptographic Data Security. [GOSTR341194] "Information technology. Cryptographic Data Security.
Hashing function.", GOST R 34.10-94, Gosudarstvennyi Hashing function.", GOST R 34.10-94, Gosudarstvennyi
Standard of Russian Federation, Government Committee of Standard of Russian Federation, Government Committee of
the Russia for Standards, 1994. (In Russian); the Russia for Standards, 1994. (In Russian);
[RFC 3280] Housley, R., Polk, W., Ford, W. and D. Solo,
"Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile", RFC
3280, April 2002.
[RFC 3279] Algorithms and Identifiers for the Internet X.509 Pub-
lic Key Infrastructure Certificate and Certificate
Revocation List (CRL) Profile. L. Bassham, W.
Polk, R. Housley. April 2002.
[RFC 2119] Bradner, S., "Key Words for Use in RFCs to Indi-
cateRequirement Levels", BCP 14, RFC 2119, March 1997.
[CMS] R. Housley, "Cryptographic Message Syntax", RFC 3369, [CMS] R. Housley, "Cryptographic Message Syntax", RFC 3369,
August 2002 August 2002
[RFC 3851] B. Ramsdell, "Secure/Multipurpose Internet Mail Exten- [RFC 3851] B. Ramsdell, "Secure/Multipurpose Internet Mail Exten-
sions (S/MIME) Version 3.1 Message Specification", RFC sions (S/MIME) Version 3.1 Message Specification", RFC
3851. July 2004 3851. July 2004
[X.208-88] CCITT. Recommendation X.208: Specification of Abstract [X.208-88] CCITT. Recommendation X.208: Specification of Abstract
Syntax Notation One (ASN.1). 1988. Syntax Notation One (ASN.1). 1988.
[X.209-88] CCITT. Recommendation X.209: Specification of Basic [X.209-88] CCITT. Recommendation X.209: Specification of Basic
Encoding Rules for Abstract Syntax Notation One Encoding Rules for Abstract Syntax Notation One
(ASN.1). 1988.. (ASN.1). 1988.
[CPPK] S. Leontiev, D. Shefanovskij, "Using the GOST R
34.10-94, GOST R 34.10-2001 and GOST R 34.11-94 algo-
rithms with the Internet X.509 Public Key Infrastruc-
ture Certificate and CRL Profile.", draft-ietf-pkix-
gost-cppk-02.txt
[CPALGS] V. Popov, I. Kurepkin, S. Leontiev "Additional crypto-
graphic algorithms for use with GOST 28147-89, GOST R
34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 algo-
rithms.", draft-popov-cryptopro-cpalgs-03.txt
Informative references: Informative references:
[RFC 2119] Bradner, S., "Key Words for Use in RFCs to Indi-
cateRequirement Levels", BCP 14, RFC 2119, March 1997.
[Schneier95] B. Schneier, Applied cryptography, second edition, [Schneier95] B. Schneier, Applied cryptography, second edition,
John Wiley & Sons, Inc., 1995; John Wiley & Sons, Inc., 1995;
[RFDSL] "Russian Federal Digital Signature Law", 10 Jan 2002 [RFDSL] "Russian Federal Digital Signature Law", 10 Jan 2002
N1-FZ N1-FZ
[RFLLIC] "Russian Federal Law on Licensing of Selected Activity [RFLLIC] "Russian Federal Law on Licensing of Selected Activity
Categories", 08 Aug 2001 N 128-FZ Categories", 08 Aug 2001 N 128-FZ
[CRYPTOLIC] "Russian Federal Goverment Regulation on Licensing of [CRYPTOLIC] "Russian Federal Goverment Regulation on Licensing of
Selected Activity Categories in Cryptography Area", 23 Selected Activity Categories in Cryptography Area", 23
Sep 2002 N 691 Sep 2002 N 691
Acknowledgments Acknowledgments
This document was created in accordance with "Russian Cryptographic This document was created in accordance with "Russian Cryptographic
Software Compatibility Agreement", signed by FGUE STC "Atlas", Software Compatibility Agreement", signed by FGUE STC "Atlas",
CRYPTO-PRO, Factor-TC, MD PREI, Infotecs GmbH, SPRCIS (SPbRCZI), CRYPTO-PRO, Factor-TS, MD PREI, Infotecs GmbH, SPRCIS (SPbRCZI),
Cryptocom, R-Alpha. The aim of this agreement is to achieve mutual Cryptocom, R-Alpha. The aim of this agreement is to achieve mutual
compatibility of the products and solutions. compatibility of the products and solutions.
The authors wish to thank: The authors wish to thank:
Microsoft Corporation Russia for provided information about Microsoft Corporation Russia for provided information about
company products and solutions, and also for technical consulting company products and solutions, and also for technical consulting
in PKI. in PKI.
RSA Security Russia and Demos Co Ltd for active collaboration and RSA Security Russia and Demos Co Ltd for active collaboration and
skipping to change at page 24, line 8 skipping to change at page 24, line 35
Moscow, 127018, Russian Federation Moscow, 127018, Russian Federation
EMail: vpopov@cryptopro.ru EMail: vpopov@cryptopro.ru
Gregory Chudov Gregory Chudov
CRYPTO-PRO CRYPTO-PRO
38, Obraztsova, 38, Obraztsova,
Moscow, 127018, Russian Federation Moscow, 127018, Russian Federation
EMail: chudov@cryptopro.ru EMail: chudov@cryptopro.ru
Alexandr Afanasiev Alexandr Afanasiev
Factor-TC Factor-TS
office 711, 14, Presnenskij val, office 711, 14, Presnenskij val,
Moscow, 123557, Russian Federation Moscow, 123557, Russian Federation
EMail: afa@factor-ts.ru EMail: afa1@factor-ts.ru
Nikolaj Nikishin Nikolaj Nikishin
Infotecs GmbH Infotecs GmbH
p/b 35, 80-5, Leningradskij prospekt, p/b 35, 80-5, Leningradskij prospekt,
Moscow, 125315, Russian Federation Moscow, 125315, Russian Federation
EMail: nikishin@infotecs.ru EMail: nikishin@infotecs.ru
Boleslav Izotov Boleslav Izotov
FGUE STC "Atlas" FGUE STC "Atlas"
38, Obraztsova, 38, Obraztsova,
Moscow, 127018, Russian Federation Moscow, 127018, Russian Federation
EMail: izotov@stcnet.ru EMail: izotov@nii.voskhod.ru
Elena Minaeva Elena Minaeva
MD PREI MD PREI
build 3, 6A, Vtoroj Troitskij per., build 3, 6A, Vtoroj Troitskij per.,
Moscow, Russian Federation Moscow, Russian Federation
EMail: evminaeva@mo.msk.ru EMail: evminaeva@mail.ru
Serguei Murugov Serguei Murugov
R-Alpha R-Alpha
4/1, Raspletina, 4/1, Raspletina,
Moscow, 123060, Russian Federation Moscow, 123060, Russian Federation
EMail: msm@office.ru EMail: msm@top-cross.ru
Igori Ustinov Igor Ustinov
Cryptocom Cryptocom
office 239, 51, Leninskij prospekt, office 239, 51, Leninskij prospekt,
Moscow, 119991, Russian Federation Moscow, 119991, Russian Federation
EMail: igus@cryptocom.ru EMail: igus@cryptocom.ru
Anatolij Erkin Anatolij Erkin
SPRCIS (SPbRCZI) SPRCIS (SPbRCZI)
1, Obrucheva, 1, Obrucheva,
St.Petersburg, 195220, Russian Federation St.Petersburg, 195220, Russian Federation
EMail: erkin@nevsky.net EMail: erkin@nevsky.net
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf-
ipr@ietf.org.
Disclaimer of Validity Disclaimer of Validity
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights. except as set forth therein, the authors retain all their rights.
Acknowledgment Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
Expires January 2006
 End of changes. 

This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/