我正在尝试使用更大的块大小进行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未处理 消息=指定的块大小对此算法无效 Source = mscorlib StackTrace: 在System.Security.Cryptography.SymmetricAlgorithm.set_BlockSize(Int32 值) 在ConsoleApplication4.Program.EncryptFile(String inFile,RSACryptoServiceProvider rsaPublicKey)in C:\ Projects \ ConsoleApplication4 \ Program.cs:第117行
我确实错过了某些可能的任何线索?
答案 0 :(得分:6)
AES似乎只支持块大小等于128.看来您可以通过将数据处理为多个块来解决这个问题。
答案 1 :(得分:1)
每种算法仅支持某些块大小。