C # RSA расшифровка - PullRequest
       35

C # RSA расшифровка

1 голос
/ 04 октября 2011

Я написал этот код для расшифровки байтового массива с помощью алгоритма RSA:

Класс ключа RSA:

    public class RsaKeys
    {
        #region Properties

        /// <summary>
        /// The modulus N.
        /// </summary>
        public byte[] N
        { get; set; }

        /// <summary>
        /// The public exponent E.
        /// </summary>
        public byte[] E
        { get; set; }

        /// <summary>
        /// The private exponent E.
        /// </summary>
        public byte[] D
        { get; set; }

        #endregion
    }

код для расшифровки:

    public static byte[] RsaDecryptByteToByte(byte[] Byte, RsaKeys Key) // TODO: test me
    {
        RSACryptoServiceProvider myRsa = new RSACryptoServiceProvider(2048);

        RSAParameters rsaParams = new RSAParameters();

        rsaParams.D = Key.D;
        rsaParams.Exponent = Key.E;
        rsaParams.Modulus = Key.N;

        myRsa.ImportParameters(rsaParams);

        return myRsa.Decrypt(Byte, false); // ERROR!!!
    }

но в последней строке (myRsa.Decrypt (Byte, false);) выдается ошибка («Ключ не существует.»): (

Ответы [ 2 ]

1 голос
/ 05 октября 2011

А как насчет всех других полей объекта RSAParameters?Есть еще много полей для закрытого ключа, который вы не предоставляете.

0 голосов
/ 04 октября 2011

изменить ваш параметр "Ключ" => "ключ" (строчные буквы)

...