PKIX Working Group Serguei Leontiev, CRYPTO-PRO INTERNET-DRAFT Dennis Shefanovskij, DEMOS Co Ltd Expires December 15, 2003 June 15, 2003 Intended Category: Informational Algorithms and Identifiers 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 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Comments or suggestions for improvement may be done via "ietf-pkix" mailing list, or directly to the authors. Abstract This document describes identifiers and appropriate parameters for the algorithms GOST R 34.10-94, GOST R 34.10-2001, GOST R 34.11-94, and also ASN.1 encoding scheme for digital signatures and public keys, used in Internet X.509 Public Key Infrastructure (PKI). This specification extends [RFC 3279], "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile" and, correspondingly, [RFC 3280], "Internet X.509 Public Key Infrastructure: Certificate and Certificate Revocation List (CRL) Profile". All realizations of this Leontiev, Shefanovski Informational [Page 1] Internet-Draft GOST Public Keys for X.509 June 2003 specification also MUST correspond [RFC 3280]. Table of Contents 1 Introduction. . . . . . . . . . . . . . . . . . . . . . 2 2 Algorithm Support . . . . . . . . . . . . . . . . . . . 3 2.1 One-way Hash Functions. . . . . . . . . . . . . . . . . 4 2.1.1 One-way Hash Function GOST R 34.11-94 . . . . . . . . . 4 2.2 Signature Algorithms. . . . . . . . . . . . . . . . . . 4 2.2.1 Signature Algorithm GOST R 34.10-94 . . . . . . . . . . 5 2.2.2 Signature Algorithm GOST R 34.10-2001 . . . . . . . . . 6 2.3 Subject Public Key Algorithms . . . . . . . . . . . . . 7 2.3.1 GOST R 34.10-94 Keys. . . . . . . . . . . . . . . . . . 7 2.3.2 GOST R 34.10-2001 Keys. . . . . . . . . . . . . . . . . 9 3 Algorithm Parameters. . . . . . . . . . . . . . . . . . 11 3.1 GOST R 34.11-94 Parameters. . . . . . . . . . . . . . . 13 3.2 GOST R 34.10-94 Parameters. . . . . . . . . . . . . . . 13 3.3 GOST R 34.10-2001 Parameters. . . . . . . . . . . . . . 14 4 Security Considerations . . . . . . . . . . . . . . . . 14 5 Appendix ASN.1 Moduls . . . . . . . . . . . . . . . . . 14 5.1 Cryptographic-Gost-Useful-Definitions . . . . . . . . . 14 5.2 GostR3411-94-DigestSyntax . . . . . . . . . . . . . . . 17 5.3 GostR3411-94-ParamSetSyntax . . . . . . . . . . . . . . 18 5.4 GostR3410-94-PKISyntax. . . . . . . . . . . . . . . . . 21 5.5 GostR3410-94-ParamSetSyntax . . . . . . . . . . . . . . 23 5.6 GostR3410-2001-PKISyntax. . . . . . . . . . . . . . . . 33 5.7 GostR3410-2001-ParamSetSyntax . . . . . . . . . . . . . 35 6 References. . . . . . . . . . . . . . . . . . . . . . . 41 Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 42 Author's Addresses . . . . . . . . . . . . . . . . . . . . . . 43 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 44 1 Introduction The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC 2119]. This document defines identifiers and corresponding algorithm parameters and attributes proposed by CRYPTO-PRO Company within "Russian Cryptographic Software Compatibility Agreement" community for the algorithms GOST R 34.10-94, GOST R 34.10-2001, GOST R 34.11-94, key establishment algorithms based on GOST R 34.10-94 public keys, key establishment algorithms based on GOST R 34.10-2001 public keys, and also ASN.1 encoding [X.660] for digital signatures and public keys, used in Internet X.509 Public Key Infrastructure (PKI). Leontiev, Shefanovski Informational [Page 2] Internet-Draft GOST Public Keys for X.509 June 2003 This specification extends [RFC 3279], "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile" and, correspondingly, [RFC 3280], "Internet X.509 Public Key Infrastructure: Certificate and Certificate Revocation List (CRL) Profile". All realizations of this specification MUST also correspond [RFC 3280]. This specification defines the content of the signatureAlgorithm, signatureValue, signature, and subjectPublicKeyInfo fields within Internet X.509 certificates and CRLs. This document defines one-way hash-function GOST R 34.11-94 [GOST3411] for use in the generation of digital signatures. This algorithm is used in conjunction with digital signature algorithms. This specification describes the encoding of digital signatures, generated with the following cryptographic algorithms: * GOST R 34.10-94; * GOST R 34.10-2001. This document also defines the contents of the subjectPublicKeyInfo field for Internet X.509 certificates. For each algorithm, the appropriate alternatives for the keyUsage extension are provided. This specification describes encoding formats for public keys used with the following cryptographic algorithms: * GOST R 34.10-94 [GOST341094]; * GOST R 34.10-2001 [GOST34102001]; * Key establishment algorithms based on GOST R 34.10-94 public keys [CPALGS]; * Key establishment algorithms based on GOST R 34.10-2001 public keys [CPALGS]. 2 Algorithm Support This section is review of cryptographic algorithms, which may be used within the Internet X.509 certificates and CRL profile [RFC 3280]. The one-way hash functions and digital signature algorithms, which may be used to sign certificates and CRLs, and identifies object identifiers (OIDs) for public keys contained in a certificate are also described in this section. The appropriate CA and/or applications MUST support digital signatures and public keys fully for one of the specified algorithms. Hence when using any of the algorithms identified in this specification in CA and/or applications MUST support them as described below. Leontiev, Shefanovski Informational [Page 3] Internet-Draft GOST Public Keys for X.509 June 2003 2.1 One-way Hash Functions This section identifies one-way, collision free hash function GOST R 34.11-94 - the only one could be used in digital signature algorithms GOST R 34.10-94/2001. The data that is hashed for certificates and CRL signing is fully described in [RFC 3280]. 2.1.1 One-way Hash Function GOST R 34.11-94 GOST R 34.11-94 has been developed by "GUBS of Federal Agency Government Communication and Information" and "All-Russian Scientific and Research Institute of Standardization". The algorithm GOST R 34.11-94 produces a 256-bit hash value of the arbitrary finite bit length input. This document does not contain GOST R 34.11-94 full specification, which could be found in [GOSTR3411] in Russian, [Schneier95] ch. 18.11, p. 454. contain the brief technical description in English. The initial value (IV) and S-box are optional for algorithm parameters (Algorithm Parameters part in [GOST28147] in Russian, description in English see in [Schneier95] ch. 14.1, p. 331). The Standard [GOST3411] does not define hash function algorithm parameters, which ought to be set by OID in software code. The Parameters for OID prescribed below are included in appendix. 2.2 Signature Algorithms In according to [RFC 3280] the Certificates and CRL may be signed with either GOST R 34.10-94 or with GOST R 34.10-2001 signature algorithms. The signatureAlgorithm field of Certificates or CertificateRevocationList for certificate or CRL indicates the algorithm ID used for signature and associated parameters, essential as OID. In case of omitted parameters, these ones are generated hereditarily from top of issuers. This section also defines algorithm identifiers and parameters that MUST be used in the signatureAlgorithm field in a Certificate or CertificateRevocationList. Signature algorithms are always used conjointly with a one-way hash function GOST R 34.11-94 as indicated in [GOSTR341094] and [GOSTR34102001]. This section identifies OIDS for GOST R 34.10-94 and GOST R 34.10-2001. The contents of the parameters component for each algorithm may vary and details are provided below for each algorithm separately. The data to be signed (per example, the one-way hash function output Leontiev, Shefanovski Informational [Page 4] Internet-Draft GOST Public Keys for X.509 June 2003 value) is preformatted for the signature algorithm to be used. Then, a private key operation is performed to generate the signature value. This signature value is then ASN.1 encoded as a BIT STRING and included in the Certificate or CertificateRevocationList in the signatureValue field. 2.2.1 Signature Algorithm GOST R 34.10-94 GOST R 34.10-94 has been developed by "GUBS of Federal Agency Government Communication and Information" and "All-Russian Scientific and Research Institute of Standardization". This signature algorithm MUST be used conjointly with one-way, collision free hash function GOST R 34.11-94. This document does not contain GOST R 34.10-94 standard description, which is fully described in [GOSTR341094] in Russian, and brief description in English could be found in [Schneier95] ch. 20.3, p. 495. The ASN.1 OID used to identify GOST R 34.10-94 signature algorithm in fields signatureAlgorithm in Certificate and CertificateRevocationList is the next: id-CryptoPro-algorithms OBJECT IDENTIFIER ::= { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) } id-GostR3411-94-with-GostR3410-94 OBJECT IDENTIFIER ::= { id-CryptoPro-algorithms gostR3411-94-with-gostR3410-94(4)} GostR3410-94-CertificateSignatureAlgorithms ALGORITHM-IDENTIFIER ::= { { NULL IDENTIFIED BY id-GostR3411-94-with-GostR3410-94 } | { GostR3410-94-PublicKeyParameters IDENTIFIED BY id-GostR3411-94-with-GostR3410-94 } } See chapter Algorithms Parameters for further details. When the id-GostR3411-94-with-GostR3410-94 algorithm identifier appears in an AlgorithmIdentifier and parameters are omitted, the software MUST use the parameters from the signer's public key. Signature algorithm GOST R 34.10-94 generates digital signature in the form of a binary 512-bit vector (256||256). This vector is encoded as two data blocks, being given after decoding at the signature verification algorithm input. At first, 256 block then 256 block. signatureValue field BIT STRING type: GostR3410-94-SignatureValue ::= BIT STRING Leontiev, Shefanovski Informational [Page 5] Internet-Draft GOST Public Keys for X.509 June 2003 At that, least-significant of the first octet (GostR3410EncryptedDigest[0]) corresponds to least-significant (1-st) of vector 256||256 (s1 = (GostR3410EncryptedDigest[0] & 1)). Whereas most-significant of 64-th octet (GostData[31]) corresponds to most-significant (512-d) of vector 256||256 (r'256 = ((GostR3410EncryptedDigest[63] & 0x80)>>7)). 2.2.2 Signature Algorithm GOST R 34.10-2001 GOST R 34.10-2001 was developed by "GUBS of Federal Agency Government Communication and Information" and "All-Russian Scientific and Research Institute of Standardization". This signature algorithm MUST be used conjointly with one-way, collision free hash function GOST R 34.11-94. This document does not contain GOST R 34.10-2001 standard description, which is fully described in [GOSTR34102001]. The ASN.1 OID used to identify GOST R 34.10-2001 signature algorithm in fields signatureAlgorithm of Certificate and CertificateRevocationList is: id-GostR3411-94-with-GostR3410-2001 OBJECT IDENTIFIER ::= { id-CryptoPro-algorithms gostR3411-94-with-gostR3410-2001(3) } GostR3410-2001-CertificateSignatureAlgorithms ALGORITHM-IDENTIFIER ::= { { NULL IDENTIFIED BY id-GostR3411-94-with-GostR3410-2001 } | { GostR3410-2001-PublicKeyParameters IDENTIFIED BY id-GostR3411-94-with-GostR3410-2001 } } See chapter Algorithms Parameters for further details. When the id-GostR3411-94-with-GostR3410-2001 algorithm identifier appears in an AlgorithmIdentifier and parameters are omitted, the MUST use the parameters concerned with the public key of the issuer of this certificate or CRL. Signature algorithm GOST R 34.10-2001 generates digital signature in the form of a binary 512-bit vector (256||256). This vector encoded as two data blocks, piping after encoding to input of signature verification algorithm in according to GOST R 34.10-2001, first block 256, then block 256. The field signatureValue has type BIT STRING: GostR3410-2001-CertificateSignature ::= BIT STRING At that, least-significant of the first octet (GostR3410EncryptedDigest[0]) corresponds to least-significant (1-st) Leontiev, Shefanovski Informational [Page 6] Internet-Draft GOST Public Keys for X.509 June 2003 of vector 256||256 (s1 = (GostR3410EncryptedDigest[0] & 1)). Whereas most-significant of 64-th octet (GostData[31]) corresponds to most-significant (512-d) of vector 256||256 (r256 = ((GostR3410EncryptedDigest[63] & 0x80)>>7)). 2.3 Subject Public Key Algorithms In according to [RFC 3280] the certificates may contain a public key for any algorithm. Within the framework of this specification the only GOST R 34.10-94 and GOST R 34.10-2001 public key algorithms defined. The algorithm and associated parameters are definable as OID in certificate through ASN.1 structure AlgorithmIdentifier. This section identifies defines OID and public key parameters for the GOST R 34.10-94 and GOST R 34.10-2001 algorithms. The appropriate CA MUST use the predefined OID issuing certificates containing public keys for these algorithms. The appropriate applications supporting any of these algorithms MUST fully recognize the OID identified in this section 2.3.1 GOST R 34.10-94 Keys This section defines OID and parameters encoding scheme for public key including into certificate. Public key GOST R 34.10-94 could be used for digital signature verification by GOST R 34.10-94 [GOSTR341094] algorithm and for key exchange algorithm based on GOST R 34.10-94 [CPALGS]. Public key OID for GOST R 34.10-94 declared in this document is: id-GostR3410-94 OBJECT IDENTIFIER ::= { id-CryptoPro-algorithms gostR3410-94(20) } An assumed cryptographic key usage could be pointed in keyUsage field [RFC 3280]. The usage the same key for signature and for key establishment is NOT RECOMMENDED, but possible. SubjectPublicKeyInfo sintax of primary certificate context for id- GostR3410-94 algorithm produced in following ASN.1 structure: SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING } GostR3410-94-PublicKeyAlgorithms ALGORITHM-IDENTIFIER ::= { { GostR3410-94-PublicKeyParameters IDENTIFIED BY Leontiev, Shefanovski Informational [Page 7] Internet-Draft GOST Public Keys for X.509 June 2003 id-GostR3410-94 } } GostR3410-94-PublicKeyParameters ::= SEQUENCE { publicKeyParamSet OBJECT IDENTIFIER, digestParamSet OBJECT IDENTIFIER, encryptionParamSet OBJECT IDENTIFIER OPTIONAL } where: * publicKeyParamSet - public key parameters identifier for GOST R 34.10-94; * digestParamSet - parameters identifier for GOST R 34.11-94; * encryptionParamSet - optional parameters identifier for GOST 28147-89 MAY be presented anytime and MUST be presented if keyUsage is keyAgreement or keyEnchiperment. AlgorithmIdentifier within subjectPublicKeyInfo could takes place only if a certificate contains these parameters. If GOST R 34.10-94 algorithm parameters are omitted in subjectPublicKeyInfo, and CA signs subject certificate using GOST R 34.10-94, then GOST R 34.10-94 parameters taken from subjectPublicKeyInfo field of issuer certificate are applicable to public key of GOST R 34.10-94 subject. That is, cryptographic parameters inheritance takes place. If subjectPublicKeyInfo AlgorithmIdentifier field contain no parameters, but CA sign certificate using signature algorithm different from GOST R 34.10-94, then certificate users MUST reject it. Public key GOST R 34.10-94 MUST be ASN.1 encoded in following way. In GOST R 34.10-94 public key is a number y = a^x (mod p), where a and p - parameters, and y is a bit-vector (1024), at that encoding should present 1024 (BIT STRING) as a vector holding data in a little-endian. At first, a key is presented as an OCTET STRING, and then, being DER-encoded, presented as a BIT STRING. GostR3410-94-PublicKey ::= BIT STRING GostR3410-94-PublicKeyOctetString ::= OCTET STRING If the keyUsage extension is present in an end-entity certificate, which contains a GOST R 34.10-94 public key, the following values MAY be present: digitalSignature; Leontiev, Shefanovski Informational [Page 8] Internet-Draft GOST Public Keys for X.509 June 2003 nonRepudiation. keyEncipherment; keyAgreement. If the keyAgreement or keyEnchiperment extension is present in a certificate GOST R 34.10-94 public key, the following values MAY be present as well: encipherOnly; decipherOnly. The keyUsage extension MUST NOT assert both encipherOnly and decipherOnly. If the keyUsage extension is present in an CA or CRL signer certificate which contain a GOST R 34.10-94 public key, the following values MAY be present: digitalSignature; nonRepudiation; keyCertSign; cRLSign. 2.3.2 GOST R 34.10-2001 Keys This section defines OID and parameters encoding for public key including in certificate. Public key GOST R 34.10-2001 could be used for digital signature generation by GOST R 34.10-2001 [GOSTR34102001] algorithm and for key exchange algorithm based on GOST R 34.10-2001 [CPALGS]. Public key OID for GOST R 34.10-2001 is: id-GostR3410-2001 OBJECT IDENTIFIER ::= { id-CryptoPro-algorithms gostR3410-2001(19) } Assumed cryptographic key usage could be pointed in keyUsage field [RFC 3280]. The usage of the same key for digital signature and key establishment is NOT RECOMMENDED, but possible. SubjectPublicKeyInfo syntax of primary certificate context for id- GostR3410-94 algorithm produced in following ASN.1 structure: SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING } GostR3410-2001-PublicKeyAlgorithms ALGORITHM-IDENTIFIER ::= { Leontiev, Shefanovski Informational [Page 9] Internet-Draft GOST Public Keys for X.509 June 2003 { GostR3410-2001-PublicKeyParameters IDENTIFIED BY id-GostR3410-2001 } } GostR3410-2001-PublicKeyParameters ::= SEQUENCE { publicKeyParamSet OBJECT IDENTIFIER, digestParamSet OBJECT IDENTIFIER, encryptionParamSet OBJECT IDENTIFIER OPTIONAL } * publicKeyParamSet - public key parameters identifier for GOST R 34.10-2001; * digestParamSet - parameters identifier for GOST R 34.11-94; * encryptionParamSet - optional parameters identifier for GOST 28147-89 MAY be presented anytime and MUST be presented if keyUsage differs from digitalSignature, nonRepudiation, keyCertSign and cRLSign. AlgorithmIdentifier within subjectPublicKeyInfo takes place only if a certificate could contain parameters. If GOST R 34.10-2001 algorithm parameters are omitted in subjectPublicKeyInfo, and CA signs subject certificate using GOST R 34.10-2001, then GOST R 34.10-2001 parameters taken from subjectPublicKeyInfo field of issuer certificate are applicable to public key of GOST R 34.10-2001 subject. That is, cryptographic parameters inheritance takes place. If subjectPublicKeyInfo AlgorithmIdentifier field contain no parameters, but CA sign certificate using signature algorithm different from GOST R 34.10-2001, then certificate users MUST reject it. GOST R 34.10-2001 public key MUST be ASN.1 encoded in a following way. GOST R 34.10-2001 specifies that public key is a point on the elliptic curve Q = dP, where d is a private key, P is a base point, and Q presents in a way of 512-bit vector (256||256). This vector DER-encoded as two data blocks. At first, 256 block, then 256 block. subjectPublicKey field BIT STRING type is presented as a taken up object GostR3410-2001-PublicKeyOctetString. At that, least-significant of the first octet (GostR3410-2001-PublicKeyOctetString[0]) corresponds to least- significant (1-st) of vector 256||256 (Yq1 = (GostR3410-2001-PublicKeyOctetString[0] & 1)). Whereas most-significant of 64-th octet (GostR3410-2001-PublicKeyOctetString[63]) corresponds to most- Leontiev, Shefanovski Informational [Page 10] Internet-Draft GOST Public Keys for X.509 June 2003 significant (512-d) of vector 256||256 (Xq256 = ((GostR3410-2001-PublicKeyOctetString[63] & 0x80)>>7)). In other words, 256||256 vector is stored in little-endian, that correspond binary vector form and their concatenation in GOST R 34.10-2001 ch. 5.3. At first, key is placed in OCTET STRING, than is DER-encoded and placed in BIT STRING. GostR3410-2001-PublicKey ::= BIT STRING GostR3410-2001-PublicKeyOctetString ::= OCTET STRING If the keyUsage extension is present in an end-entity certificate, which conveys a GOST R 34.10-2001 public key, the following values MAY be present: digitalSignature; nonRepudiation. keyEncipherment; keyAgreement. If the keyAgreement or keyEnchiperment extension is present in a certificate, the following values MAY be present: encipherOnly; decipherOnly. The keyUsage extension MUST NOT assert both encipherOnly and decipherOnly. If the keyUsage extension is present in an CA or CRL signer certificate which contain a GOST R 34.10-2001 public key, the following values MAY be present: digitalSignature; nonRepudiation; keyCertSign; cRLSign. 3 Algorithm Parameters Cryptographic algorithm parameters in certificates and CRL are indicated by appropriate OID. Algorithm parameters OID, proposed hereby, are the next. For hash function parameters GOST R 34.11-94: id-CryptoPro-hashes OBJECT IDENTIFIER ::= Leontiev, Shefanovski Informational [Page 11] Internet-Draft GOST Public Keys for X.509 June 2003 { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) hashes(30) } id-GostR3411-94-TestParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-hashes test(0) } id-GostR3411-94-CryptoProParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-hashes cryptopro(1) } For public key parameters GOST R 34.10-94: id-CryptoPro-signs OBJECT IDENTIFIER ::= { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) signs(32) } id-GostR3410-94-TestParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-signs test(0) } id-GostR3410-94-CryptoPro-A-ParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-signs cryptopro-A(2) } id-GostR3410-94-CryptoPro-B-ParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-signs cryptopro-B(3) } id-GostR3410-94-CryptoPro-C-ParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-signs cryptopro-C(4) } id-GostR3410-94-CryptoPro-D-ParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-signs cryptopro-D(5) } For public key parameters GOST R 34.10-2001: id-CryptoPro-ecc-signs OBJECT IDENTIFIER ::= { iso(1) member-body(2) ru(643) rans(2) cryptopro(2) ecc-signs(35) } id-GostR3410-2001-TestParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-ecc-signs test(0) } id-GostR3410-2001-CryptoPro-A-ParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-ecc-signs cryptopro-A(1) } id-GostR3410-2001-CryptoPro-B-ParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-ecc-signs cryptopro-B(2) } id-GostR3410-2001-CryptoPro-C-ParamSet OBJECT IDENTIFIER ::= { id-CryptoPro-ecc-signs cryptopro-C(3) } Specific further parameter values are presented in Appendix. If any organization needs to assign their own parameters, they should Leontiev, Shefanovski Informational [Page 12] Internet-Draft GOST Public Keys for X.509 June 2003 be described and MUST be published in a way of appendix to this document or in other way in following forms: 3.1 GOST R 34.11-94 Parameters Hash function parameters GOST R 34.11-94 according to [GOSTR3411]: GostR3411-94-ParamSetParameters ::= SEQUENCE { hUZ Gost28147-89-UZ, h0 GostR3411-94-Digest } hUZ - S-box [GOSTR3411], [GOST28147]. h0 - initializing value(IV) [GOSTR3411]. 3.2 GOST R 34.10-94 Parameters algorithm parameters GOST R 34.10-94 according to [GOSTR341094]: GostR3410-94-ParamSetParameters ::= SEQUENCE { p INTEGER, q INTEGER, a INTEGER, validationAlgorithm AlgorithmIdentifier {{ GostR3410-94-ValidationAlgorithms }} OPTIONAL } p - modulus, prime number, 2^1023