Exemplo n.º 1
0
        public static bool TestXTS()
        {
            Rijndael rijndael = Rijndael.Create();

            // http://social.msdn.microsoft.com/Forums/vstudio/en-US/aa02f456-db79-4cf0-9cee-4e04c0ac11a8/strange-behaviour-with-transformblock-and-rijndaelmanaged
            rijndael.Padding = PaddingMode.None;
            rijndael.Mode    = CipherMode.ECB;

            byte[] result1 = XTSHelper.XTSEncrypt(rijndael, KEY1, KEY2, DataUnitIndex, Plaintext, 0, Plaintext.Length);
            byte[] result2 = XTSHelper.XTSDecrypt(rijndael, KEY1, KEY2, DataUnitIndex, Ciphertext, 0, Ciphertext.Length);

            return(ByteUtils.AreByteArraysEqual(Ciphertext, result1) && ByteUtils.AreByteArraysEqual(Plaintext, result2));
        }