MICA: Něco konkrétního? První testovací případ z
NIST 800-38A, F.1.1 (přičemž klíč obsahuje několik bajtů větších než 127) funguje:
using (var aes = new AesManaged { Mode = CipherMode.ECB, Padding = PaddingMode.None })
{
aes.Key = new byte[] { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c };
aes.IV = new byte[16];
var origData = new byte[] { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96, 0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a };
var encryptedData = new byte[16];
var decryptedData = new byte[16];
using (var encryptor = aes.CreateEncryptor())
{
encryptor.TransformBlock(origData, 0, 16, encryptedData, 0);
}
using (var decryptor = aes.CreateDecryptor())
{
decryptor.TransformBlock(encryptedData, 0, 16, decryptedData, 0);
}
Assert.AreEqual(new byte[] { 0x3a, 0xd7, 0x7b, 0xb4, 0x0d, 0x7a, 0x36, 0x60, 0xa8, 0x9e, 0xca, 0xf3, 0x24, 0x66, 0xef, 0x97 }, encryptedData);
Assert.AreEqual(origData, decryptedData);
}