/// <summary>
        /// Декодирование ASN.1 структуры параметров шифрования.
        /// </summary>
        ///
        /// <param name="data">ASN.1 закодированные параметры
        /// шифровыания.</param>
        ///
        /// <returns>Строковое представление OID шифрования.</returns>
        ///
        /// <argnull name="data" />
        /// <exception cref="CryptographicException">При ошибках
        /// декодирования исходной структуры.</exception>
        public static string DecodeGost28147_89_BlobParameters(
            byte[] data)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }
            Asn1BerDecodeBuffer buffer =
                new Asn1BerDecodeBuffer(data);
            Gost28147_89_BlobParameters asnParams =
                new Gost28147_89_BlobParameters();

            asnParams.Decode(buffer);
            return(ToString(asnParams.encryptionParamSet));
        }
        /// <summary>
        /// ASN.1 кодирование структуры параметров шифрования.
        /// </summary>
        ///
        /// <param name="parameters">OID параметров шифрования.</param>
        ///
        /// <returns>Закодированная ASN.1 структура.</returns>
        ///
        /// <argnull name="parameters" />
        /// <exception cref="CryptographicException">При ошибках
        /// кодирования структуры.</exception>
        public static byte[] EncodeGost28147_89_BlobParameters(
            string parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException("parameters");
            }
            Asn1BerEncodeBuffer         buffer    = new Asn1BerEncodeBuffer();
            Gost28147_89_BlobParameters asnParams =
                new Gost28147_89_BlobParameters();

            asnParams.encryptionParamSet =
                CreateGost28147_89_ParamSet(parameters);
            asnParams.Encode(buffer);
            return(buffer.MsgCopy);
        }