我正在尝试将更大的块大小用于AES加密:
private static void EncryptFile(string inFile, RSACryptoServiceProvider rsaPublicKey)
{
using (AesCryptoServiceProvider aes = new AesCryptoServiceProvider())
{
// Create instance of AesManaged for
// symetric encryption of the data.
aes.KeySize = 256;
// Allocating 64K
aes.BlockSize = 8 * 1024 * 64;
}
}
并遇到以下异常:
未处理System.Security.Cryptography.CryptographicException
Message =指定的块大小对此算法无效。
来源= mscorlib StackTrace:
在System.Security.Cryptography.SymmetricAlgorithm.set_BlockSize(Int32
值)
在ConsoleApplication4.Program.EncryptFile(String inFile,RSACryptoServiceProvider rsaPublicKey)中
C:\ Projects \ ConsoleApplication4 \ Program.cs:第117行
我肯定错过了一些有趣的线索,有什么线索吗?
最佳答案
看来AES仅支持等于128的块大小。看来您可以通过将数据作为多个块进行处理来解决此问题。
source