У меня есть немного трудного понимания класса RSACryptoServiceProvider
... Я должен зашифровать сообщение длиной длиной 256 бит с ключом , который также имеет длину 256 бит. Должен ли вывод также иметь длину 256 бит? Вот мой код:RSA-алгоритм с использованием RSACryptoServiceProvider
//key generation
byte[] bytes = new byte[32];
var rng = new RNGCryptoServiceProvider();
rng.GetBytes(bytes);
k2 = bytes;
//encryption function
static public byte[] Encryption(byte[] Data, RSAParameters RSAKey, bool DoOAEPPadding)
{
byte[] encryptedData;
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
{
RSA.ImportParameters(RSAKey);
encryptedData = RSA.Encrypt(Data, DoOAEPPadding);
}
return encryptedData;
}
И, наконец, расчет
ciphertext = Encryption(k2, RSA.ExportParameters(false), false);
производит byte[128]
шифротекста аки 1024 бита. Должен ли я получить зашифрованный текст размером byte[32]
?
Возможно, вы должны указать свои переменные после ваших функций ... –