From df27d2a83b8cd01fba1854d33098b527be4ea90b Mon Sep 17 00:00:00 2001 From: Alex Barney Date: Sat, 9 Nov 2019 00:32:13 -0700 Subject: [PATCH] Use AES-NI instructions --- .gitignore | 4 +- src/LibHac/Crypto2/Aes.cs | 81 + src/LibHac/Crypto2/AesCbcMode.cs | 59 + src/LibHac/Crypto2/AesCbcModeHw.cs | 105 ++ src/LibHac/Crypto2/AesCoreNi.cs | 122 ++ src/LibHac/Crypto2/AesCtrMode.cs | 69 + src/LibHac/Crypto2/AesCtrModeHw.cs | 84 + src/LibHac/Crypto2/AesEcbMode.cs | 57 + src/LibHac/Crypto2/AesEcbModeHw.cs | 64 + src/LibHac/Crypto2/ICipher.cs | 9 + src/LibHac/LibHac.csproj | 2 +- src/hactoolnet/ProcessBench.cs | 212 ++- tests/LibHac.Tests/CryptoTests/AesCbcTests.cs | 76 + tests/LibHac.Tests/CryptoTests/AesCtrTests.cs | 24 + tests/LibHac.Tests/CryptoTests/AesEcbTests.cs | 76 + .../AesIntrinsicsRequiredTheory.cs | 16 + tests/LibHac.Tests/CryptoTests/Common.cs | 17 + tests/LibHac.Tests/CryptoTests/RspReader.cs | 111 ++ .../CryptoTests/TestVectors/CBCGFSbox128.rsp | 95 + .../CryptoTests/TestVectors/CBCKeySbox128.rsp | 263 +++ .../CryptoTests/TestVectors/CBCMMT128.rsp | 131 ++ .../CryptoTests/TestVectors/CBCVarKey128.rsp | 1547 +++++++++++++++++ .../CryptoTests/TestVectors/CBCVarTxt128.rsp | 1547 +++++++++++++++++ .../CryptoTests/TestVectors/CTR128.rsp | 20 + .../CryptoTests/TestVectors/ECBGFSbox128.rsp | 81 + .../CryptoTests/TestVectors/ECBKeySbox128.rsp | 221 +++ .../CryptoTests/TestVectors/ECBMMT128.rsp | 111 ++ .../CryptoTests/TestVectors/ECBVarKey128.rsp | 1291 ++++++++++++++ .../CryptoTests/TestVectors/ECBVarTxt128.rsp | 1291 ++++++++++++++ tests/LibHac.Tests/LibHac.Tests.csproj | 4 + 30 files changed, 7757 insertions(+), 33 deletions(-) create mode 100644 src/LibHac/Crypto2/Aes.cs create mode 100644 src/LibHac/Crypto2/AesCbcMode.cs create mode 100644 src/LibHac/Crypto2/AesCbcModeHw.cs create mode 100644 src/LibHac/Crypto2/AesCoreNi.cs create mode 100644 src/LibHac/Crypto2/AesCtrMode.cs create mode 100644 src/LibHac/Crypto2/AesCtrModeHw.cs create mode 100644 src/LibHac/Crypto2/AesEcbMode.cs create mode 100644 src/LibHac/Crypto2/AesEcbModeHw.cs create mode 100644 src/LibHac/Crypto2/ICipher.cs create mode 100644 tests/LibHac.Tests/CryptoTests/AesCbcTests.cs create mode 100644 tests/LibHac.Tests/CryptoTests/AesCtrTests.cs create mode 100644 tests/LibHac.Tests/CryptoTests/AesEcbTests.cs create mode 100644 tests/LibHac.Tests/CryptoTests/AesIntrinsicsRequiredTheory.cs create mode 100644 tests/LibHac.Tests/CryptoTests/Common.cs create mode 100644 tests/LibHac.Tests/CryptoTests/RspReader.cs create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/CBCGFSbox128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/CBCKeySbox128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/CBCMMT128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/CBCVarKey128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/CBCVarTxt128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/CTR128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/ECBGFSbox128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/ECBKeySbox128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/ECBMMT128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/ECBVarKey128.rsp create mode 100644 tests/LibHac.Tests/CryptoTests/TestVectors/ECBVarTxt128.rsp diff --git a/.gitignore b/.gitignore index a71fe14e..a16434f5 100644 --- a/.gitignore +++ b/.gitignore @@ -262,4 +262,6 @@ __pycache__/ **/launchSettings.json -global.json \ No newline at end of file +global.json + +!tests/LibHac.Tests/CryptoTests/TestVectors/* \ No newline at end of file diff --git a/src/LibHac/Crypto2/Aes.cs b/src/LibHac/Crypto2/Aes.cs new file mode 100644 index 00000000..e2e8cc2c --- /dev/null +++ b/src/LibHac/Crypto2/Aes.cs @@ -0,0 +1,81 @@ +using System; + +#if HAS_INTRINSICS +using System.Runtime.Intrinsics.X86; +#endif + +namespace LibHac.Crypto2 +{ + public static class AesCrypto + { + public static bool IsAesNiSupported() + { +#if HAS_INTRINSICS + return Aes.IsSupported; +#else + return false; +#endif + } + + public static ICipher CreateEcbDecryptor(ReadOnlySpan key, bool preferDotNetCrypto = false) + { +#if HAS_INTRINSICS + if (IsAesNiSupported() && !preferDotNetCrypto) + { + return new AesEcbDecryptorHw(key); + } +#endif + return new AesEcbDecryptor(key); + } + + public static ICipher CreateEcbEncryptor(ReadOnlySpan key, bool preferDotNetCrypto = false) + { +#if HAS_INTRINSICS + if (IsAesNiSupported() && !preferDotNetCrypto) + { + return new AesEcbEncryptorHw(key); + } +#endif + return new AesEcbEncryptor(key); + } + + public static ICipher CreateCbcDecryptor(ReadOnlySpan key, ReadOnlySpan iv, bool preferDotNetCrypto = false) + { +#if HAS_INTRINSICS + if (IsAesNiSupported() && !preferDotNetCrypto) + { + return new AesCbcDecryptorHw(key, iv); + } +#endif + return new AesCbcDecryptor(key, iv); + } + + public static ICipher CreateCbcEncryptor(ReadOnlySpan key, ReadOnlySpan iv, bool preferDotNetCrypto = false) + { +#if HAS_INTRINSICS + if (IsAesNiSupported() && !preferDotNetCrypto) + { + return new AesCbcEncryptorHw(key, iv); + } +#endif + return new AesCbcEncryptor(key, iv); + } + + public static ICipher CreateCtrDecryptor(ReadOnlySpan key, ReadOnlySpan iv, bool preferDotNetCrypto = false) + { + // Encryption and decryption in counter mode is the same operation + return CreateCtrEncryptor(key, iv, preferDotNetCrypto); + } + + public static ICipher CreateCtrEncryptor(ReadOnlySpan key, ReadOnlySpan iv, bool preferDotNetCrypto = false) + { +#if HAS_INTRINSICS + if (IsAesNiSupported() && !preferDotNetCrypto) + { + return new AesCtrEncryptorHw(key, iv); + } +#endif + return new AesCtrEncryptor(key, iv); + } + } +} diff --git a/src/LibHac/Crypto2/AesCbcMode.cs b/src/LibHac/Crypto2/AesCbcMode.cs new file mode 100644 index 00000000..26e0ee33 --- /dev/null +++ b/src/LibHac/Crypto2/AesCbcMode.cs @@ -0,0 +1,59 @@ +using System; +using System.Security.Cryptography; + +namespace LibHac.Crypto2 +{ + public class AesCbcEncryptor : ICipher + { + private ICryptoTransform _encryptor; + + public AesCbcEncryptor(ReadOnlySpan key, ReadOnlySpan iv) + { + Aes aes = Aes.Create(); + + if (aes == null) throw new CryptographicException("Unable to create AES object"); + aes.Key = key.ToArray(); + aes.IV = iv.ToArray(); + aes.Mode = CipherMode.CBC; + aes.Padding = PaddingMode.None; + + _encryptor = aes.CreateEncryptor(); + } + + public void Transform(ReadOnlySpan input, Span output) + { + var outputBuffer = new byte[input.Length]; + + _encryptor.TransformBlock(input.ToArray(), 0, input.Length, outputBuffer, 0); + + outputBuffer.CopyTo(output); + } + } + + public class AesCbcDecryptor : ICipher + { + private ICryptoTransform _decryptor; + + public AesCbcDecryptor(ReadOnlySpan key, ReadOnlySpan iv) + { + Aes aes = Aes.Create(); + + if (aes == null) throw new CryptographicException("Unable to create AES object"); + aes.Key = key.ToArray(); + aes.IV = iv.ToArray(); + aes.Mode = CipherMode.CBC; + aes.Padding = PaddingMode.None; + + _decryptor = aes.CreateDecryptor(); + } + + public void Transform(ReadOnlySpan input, Span output) + { + var outputBuffer = new byte[input.Length]; + + _decryptor.TransformBlock(input.ToArray(), 0, input.Length, outputBuffer, 0); + + outputBuffer.CopyTo(output); + } + } +} diff --git a/src/LibHac/Crypto2/AesCbcModeHw.cs b/src/LibHac/Crypto2/AesCbcModeHw.cs new file mode 100644 index 00000000..4bb0311f --- /dev/null +++ b/src/LibHac/Crypto2/AesCbcModeHw.cs @@ -0,0 +1,105 @@ +#if HAS_INTRINSICS +using System; +using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; + +namespace LibHac.Crypto2 +{ + public struct AesCbcEncryptorHw : ICipher + { + private AesCoreNi _aesCore; + private Vector128 _iv; + + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + public AesCbcEncryptorHw(ReadOnlySpan key, ReadOnlySpan iv) + { + _aesCore = new AesCoreNi(); + _aesCore.Initialize(key, false); + + _iv = Unsafe.ReadUnaligned>(ref MemoryMarshal.GetReference(iv)); + } + + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + public void Transform(ReadOnlySpan input, Span output) + { + ReadOnlySpan> keys = _aesCore.RoundKeys; + ReadOnlySpan> inBlocks = MemoryMarshal.Cast>(input); + Span> outBlocks = MemoryMarshal.Cast>(output); + + Vector128 b = _iv; + + for (int i = 0; i < inBlocks.Length; i++) + { + b = Sse2.Xor(b, inBlocks[i]); + + b = Sse2.Xor(b, keys[0]); + b = Aes.Encrypt(b, keys[1]); + b = Aes.Encrypt(b, keys[2]); + b = Aes.Encrypt(b, keys[3]); + b = Aes.Encrypt(b, keys[4]); + b = Aes.Encrypt(b, keys[5]); + b = Aes.Encrypt(b, keys[6]); + b = Aes.Encrypt(b, keys[7]); + b = Aes.Encrypt(b, keys[8]); + b = Aes.Encrypt(b, keys[9]); + b = Aes.EncryptLast(b, keys[10]); + + outBlocks[i] = b; + } + + _iv = b; + } + } + + public struct AesCbcDecryptorHw : ICipher + { + private AesCoreNi _aesCore; + private Vector128 _iv; + + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + public AesCbcDecryptorHw(ReadOnlySpan key, ReadOnlySpan iv) + { + _aesCore = new AesCoreNi(); + _aesCore.Initialize(key, true); + + _iv = Unsafe.ReadUnaligned>(ref MemoryMarshal.GetReference(iv)); + } + + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + public void Transform(ReadOnlySpan input, Span output) + { + ReadOnlySpan> keys = _aesCore.RoundKeys; + ReadOnlySpan> inBlocks = MemoryMarshal.Cast>(input); + Span> outBlocks = MemoryMarshal.Cast>(output); + + Vector128 iv = _iv; + + for (int i = 0; i < inBlocks.Length; i++) + { + Vector128 b = inBlocks[i]; + Vector128 nextIv = b; + + b = Sse2.Xor(b, keys[10]); + b = Aes.Decrypt(b, keys[9]); + b = Aes.Decrypt(b, keys[8]); + b = Aes.Decrypt(b, keys[7]); + b = Aes.Decrypt(b, keys[6]); + b = Aes.Decrypt(b, keys[5]); + b = Aes.Decrypt(b, keys[4]); + b = Aes.Decrypt(b, keys[3]); + b = Aes.Decrypt(b, keys[2]); + b = Aes.Decrypt(b, keys[1]); + b = Aes.DecryptLast(b, keys[0]); + + b = Sse2.Xor(b, iv); + iv = nextIv; + outBlocks[i] = b; + } + + _iv = iv; + } + } +} +#endif \ No newline at end of file diff --git a/src/LibHac/Crypto2/AesCoreNi.cs b/src/LibHac/Crypto2/AesCoreNi.cs new file mode 100644 index 00000000..5e547c67 --- /dev/null +++ b/src/LibHac/Crypto2/AesCoreNi.cs @@ -0,0 +1,122 @@ +#if NETCOREAPP +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; + +namespace LibHac.Crypto2 +{ + [StructLayout(LayoutKind.Sequential, Size = RoundKeyCount * RoundKeySize)] + public struct AesCoreNi + { + private const int RoundKeyCount = 11; + private const int RoundKeySize = 0x10; + + private Vector128 _roundKeys; + + public void Initialize(ReadOnlySpan key, bool isDecrypting) + { + KeyExpansion(key, RoundKeys, isDecrypting); + } + + public Span> RoundKeys => + MemoryMarshal.CreateSpan(ref _roundKeys, RoundKeyCount); + + + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + public void Encrypt(ReadOnlySpan input, Span output) + { + ReadOnlySpan> keys = RoundKeys; + ReadOnlySpan> inBlocks = MemoryMarshal.Cast>(input); + Span> outBlocks = MemoryMarshal.Cast>(output); + + for (int i = 0; i < inBlocks.Length; i++) + { + Vector128 b = inBlocks[i]; + + b = Sse2.Xor(b, keys[0]); + b = Aes.Encrypt(b, keys[1]); + b = Aes.Encrypt(b, keys[2]); + b = Aes.Encrypt(b, keys[3]); + b = Aes.Encrypt(b, keys[4]); + b = Aes.Encrypt(b, keys[5]); + b = Aes.Encrypt(b, keys[6]); + b = Aes.Encrypt(b, keys[7]); + b = Aes.Encrypt(b, keys[8]); + b = Aes.Encrypt(b, keys[9]); + b = Aes.EncryptLast(b, keys[10]); + + outBlocks[i] = b; + } + } + + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + public void Decrypt(ReadOnlySpan input, Span output) + { + ReadOnlySpan> keys = RoundKeys; + ReadOnlySpan> inBlocks = MemoryMarshal.Cast>(input); + Span> outBlocks = MemoryMarshal.Cast>(output); + + for (int i = 0; i < inBlocks.Length; i++) + { + Vector128 b = inBlocks[i]; + + b = Sse2.Xor(b, keys[10]); + b = Aes.Decrypt(b, keys[9]); + b = Aes.Decrypt(b, keys[8]); + b = Aes.Decrypt(b, keys[7]); + b = Aes.Decrypt(b, keys[6]); + b = Aes.Decrypt(b, keys[5]); + b = Aes.Decrypt(b, keys[4]); + b = Aes.Decrypt(b, keys[3]); + b = Aes.Decrypt(b, keys[2]); + b = Aes.Decrypt(b, keys[1]); + b = Aes.DecryptLast(b, keys[0]); + + outBlocks[i] = b; + } + } + + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + private static void KeyExpansion(ReadOnlySpan key, Span> roundKeys, bool isDecrypting) + { + roundKeys[0] = Unsafe.ReadUnaligned>(ref MemoryMarshal.GetReference(key)); + + MakeRoundKey(roundKeys, 1, 0x01); + MakeRoundKey(roundKeys, 2, 0x02); + MakeRoundKey(roundKeys, 3, 0x04); + MakeRoundKey(roundKeys, 4, 0x08); + MakeRoundKey(roundKeys, 5, 0x10); + MakeRoundKey(roundKeys, 6, 0x20); + MakeRoundKey(roundKeys, 7, 0x40); + MakeRoundKey(roundKeys, 8, 0x80); + MakeRoundKey(roundKeys, 9, 0x1b); + MakeRoundKey(roundKeys, 10, 0x36); + + if (isDecrypting) + { + for (int i = 1; i < 10; i++) + { + roundKeys[i] = Aes.InverseMixColumns(roundKeys[i]); + } + } + } + + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + private static void MakeRoundKey(Span> keys, int i, byte rcon) + { + Vector128 s = keys[i - 1]; + Vector128 t = keys[i - 1]; + + t = Aes.KeygenAssist(t, rcon); + t = Sse2.Shuffle(t.AsUInt32(), 0xFF).AsByte(); + + s = Sse2.Xor(s, Sse2.ShiftLeftLogical128BitLane(s, 4)); + s = Sse2.Xor(s, Sse2.ShiftLeftLogical128BitLane(s, 8)); + + keys[i] = Sse2.Xor(s, t); + } + } +} +#endif diff --git a/src/LibHac/Crypto2/AesCtrMode.cs b/src/LibHac/Crypto2/AesCtrMode.cs new file mode 100644 index 00000000..0f1ed6e5 --- /dev/null +++ b/src/LibHac/Crypto2/AesCtrMode.cs @@ -0,0 +1,69 @@ +using System; +using System.Buffers; +using System.Buffers.Binary; +using System.Runtime.InteropServices; +using System.Security.Cryptography; + +namespace LibHac.Crypto2 +{ + public class AesCtrEncryptor : ICipher + { + private const int BlockSize = 128; + private const int BlockSizeBytes = BlockSize / 8; + + private readonly ICryptoTransform _encryptor; + private readonly byte[] _counter = new byte[0x10]; + + public AesCtrEncryptor(ReadOnlySpan key, ReadOnlySpan iv) + { + Aes aes = Aes.Create(); + if (aes == null) throw new CryptographicException("Unable to create AES object"); + + aes.Mode = CipherMode.ECB; + aes.Padding = PaddingMode.None; + + _encryptor = aes.CreateEncryptor(key.ToArray(), new byte[0x10]); + + iv.CopyTo(_counter); + } + + public void Transform(ReadOnlySpan input, Span output) + { + int blockCount = Util.DivideByRoundUp(input.Length, BlockSizeBytes); + int length = blockCount * BlockSizeBytes; + + byte[] counterXor = ArrayPool.Shared.Rent(length); + try + { + FillDecryptedCounter(_counter, counterXor.AsSpan(0, length)); + + _encryptor.TransformBlock(counterXor, 0, length, counterXor, 0); + + input.CopyTo(output); + Util.XorArrays(output, counterXor); + } + finally + { + ArrayPool.Shared.Return(counterXor); + } + } + + private static void FillDecryptedCounter(Span counter, Span buffer) + { + Span bufL = MemoryMarshal.Cast(buffer); + Span counterL = MemoryMarshal.Cast(counter); + + ulong hi = counterL[0]; + ulong lo = BinaryPrimitives.ReverseEndianness(counterL[1]); + + for (int i = 0; i < bufL.Length; i += 2) + { + bufL[i] = hi; + bufL[i + 1] = BinaryPrimitives.ReverseEndianness(lo); + lo++; + } + + counterL[1] = BinaryPrimitives.ReverseEndianness(lo); + } + } +} diff --git a/src/LibHac/Crypto2/AesCtrModeHw.cs b/src/LibHac/Crypto2/AesCtrModeHw.cs new file mode 100644 index 00000000..1329c80f --- /dev/null +++ b/src/LibHac/Crypto2/AesCtrModeHw.cs @@ -0,0 +1,84 @@ +#if HAS_INTRINSICS +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; + +namespace LibHac.Crypto2 +{ + public class AesCtrEncryptorHw : ICipher + { + private AesCoreNi _aesCore; + private Vector128 _iv; + + [MethodImpl(MethodImplOptions.AggressiveOptimization)] + public AesCtrEncryptorHw(ReadOnlySpan key, ReadOnlySpan iv) + { + _aesCore = new AesCoreNi(); + _aesCore.Initialize(key, false); + + _iv = Unsafe.ReadUnaligned>(ref MemoryMarshal.GetReference(iv)); + } + + public void Transform(ReadOnlySpan input, Span output) + { + ReadOnlySpan> keys = _aesCore.RoundKeys; + ReadOnlySpan> inBlocks = MemoryMarshal.Cast>(input); + Span> outBlocks = MemoryMarshal.Cast>(output); + + Vector128 byteSwapMask = Vector128.Create((ulong)0x706050403020100, 0x8090A0B0C0D0E0F).AsByte(); + Vector128 inc = Vector128.Create((ulong)0, 1); + + var iv = _iv; + Vector128 bSwappedIv = Ssse3.Shuffle(iv, byteSwapMask).AsUInt64(); + + for (int i = 0; i < inBlocks.Length; i++) + { + Vector128 b = Sse2.Xor(iv, keys[0]); + b = Aes.Encrypt(b, keys[1]); + b = Aes.Encrypt(b, keys[2]); + b = Aes.Encrypt(b, keys[3]); + b = Aes.Encrypt(b, keys[4]); + b = Aes.Encrypt(b, keys[5]); + b = Aes.Encrypt(b, keys[6]); + b = Aes.Encrypt(b, keys[7]); + b = Aes.Encrypt(b, keys[8]); + b = Aes.Encrypt(b, keys[9]); + b = Aes.EncryptLast(b, keys[10]); + + outBlocks[i] = Sse2.Xor(inBlocks[i], b); + + // Increase the counter + bSwappedIv = Sse2.Add(bSwappedIv, inc); + iv = Ssse3.Shuffle(bSwappedIv.AsByte(), byteSwapMask); + } + + _iv = iv; + + if ((input.Length & 0xF) != 0) + { + EncryptCtrPartialBlock(input.Slice(inBlocks.Length * 0x10), output.Slice(outBlocks.Length * 0x10)); + } + } + + private void EncryptCtrPartialBlock(ReadOnlySpan input, Span output) + { + Span counter = stackalloc byte[0x10]; + Unsafe.WriteUnaligned(ref counter[0], _iv); + + _aesCore.Encrypt(counter, counter); + + input.CopyTo(output); + Util.XorArrays(output, counter); + + for (int i = 0; i < counter.Length; i++) + { + if (++counter[i] != 0) break; + } + + Unsafe.ReadUnaligned>(ref counter[0]); + } + } +} +#endif diff --git a/src/LibHac/Crypto2/AesEcbMode.cs b/src/LibHac/Crypto2/AesEcbMode.cs new file mode 100644 index 00000000..bd43f33a --- /dev/null +++ b/src/LibHac/Crypto2/AesEcbMode.cs @@ -0,0 +1,57 @@ +using System; +using System.Security.Cryptography; + +namespace LibHac.Crypto2 +{ + public class AesEcbEncryptor : ICipher + { + private ICryptoTransform _encryptor; + + public AesEcbEncryptor(ReadOnlySpan key) + { + Aes aes = Aes.Create(); + + if (aes == null) throw new CryptographicException("Unable to create AES object"); + aes.Key = key.ToArray(); + aes.Mode = CipherMode.ECB; + aes.Padding = PaddingMode.None; + + _encryptor = aes.CreateEncryptor(); + } + + public void Transform(ReadOnlySpan input, Span output) + { + var outputBuffer = new byte[input.Length]; + + _encryptor.TransformBlock(input.ToArray(), 0, input.Length, outputBuffer, 0); + + outputBuffer.CopyTo(output); + } + } + + public class AesEcbDecryptor : ICipher + { + private ICryptoTransform _decryptor; + + public AesEcbDecryptor(ReadOnlySpan key) + { + Aes aes = Aes.Create(); + + if (aes == null) throw new CryptographicException("Unable to create AES object"); + aes.Key = key.ToArray(); + aes.Mode = CipherMode.ECB; + aes.Padding = PaddingMode.None; + + _decryptor = aes.CreateDecryptor(); + } + + public void Transform(ReadOnlySpan input, Span output) + { + var outputBuffer = new byte[input.Length]; + + _decryptor.TransformBlock(input.ToArray(), 0, input.Length, outputBuffer, 0); + + outputBuffer.CopyTo(output); + } + } +} diff --git a/src/LibHac/Crypto2/AesEcbModeHw.cs b/src/LibHac/Crypto2/AesEcbModeHw.cs new file mode 100644 index 00000000..b257c932 --- /dev/null +++ b/src/LibHac/Crypto2/AesEcbModeHw.cs @@ -0,0 +1,64 @@ + + +#if HAS_INTRINSICS +using System; +using System.Runtime.Intrinsics; +using System.Runtime.InteropServices; +using System.Runtime.Intrinsics.X86; + +namespace LibHac.Crypto2 +{ + public class AesEcbEncryptorHw : ICipher + { + private AesCoreNi _aesCore; + + public AesEcbEncryptorHw(ReadOnlySpan key) + { + _aesCore = new AesCoreNi(); + _aesCore.Initialize(key, false); + } + + public void Transform(ReadOnlySpan input, Span output) + { + ReadOnlySpan> keys = _aesCore.RoundKeys; + ReadOnlySpan> inBlocks = MemoryMarshal.Cast>(input); + Span> outBlocks = MemoryMarshal.Cast>(output); + + for (int i = 0; i < inBlocks.Length; i++) + { + Vector128 b = inBlocks[i]; + + b = Sse2.Xor(b, keys[0]); + b = Aes.Encrypt(b, keys[1]); + b = Aes.Encrypt(b, keys[2]); + b = Aes.Encrypt(b, keys[3]); + b = Aes.Encrypt(b, keys[4]); + b = Aes.Encrypt(b, keys[5]); + b = Aes.Encrypt(b, keys[6]); + b = Aes.Encrypt(b, keys[7]); + b = Aes.Encrypt(b, keys[8]); + b = Aes.Encrypt(b, keys[9]); + b = Aes.EncryptLast(b, keys[10]); + + outBlocks[i] = b; + } + } + } + + public class AesEcbDecryptorHw : ICipher + { + private AesCoreNi _aesCore; + + public AesEcbDecryptorHw(ReadOnlySpan key) + { + _aesCore = new AesCoreNi(); + _aesCore.Initialize(key, true); + } + + public void Transform(ReadOnlySpan input, Span output) + { + _aesCore.Decrypt(input, output); + } + } +} +#endif diff --git a/src/LibHac/Crypto2/ICipher.cs b/src/LibHac/Crypto2/ICipher.cs new file mode 100644 index 00000000..9ad0647d --- /dev/null +++ b/src/LibHac/Crypto2/ICipher.cs @@ -0,0 +1,9 @@ +using System; + +namespace LibHac.Crypto2 +{ + public interface ICipher + { + void Transform(ReadOnlySpan input, Span output); + } +} \ No newline at end of file diff --git a/src/LibHac/LibHac.csproj b/src/LibHac/LibHac.csproj index 5a01d942..46629922 100644 --- a/src/LibHac/LibHac.csproj +++ b/src/LibHac/LibHac.csproj @@ -31,7 +31,7 @@ - $(DefineConstants);STREAM_SPAN;STRING_SPAN;HAS_FILE_SYSTEM_NAME;CROSS_PLATFORM + $(DefineConstants);STREAM_SPAN;STRING_SPAN;HAS_FILE_SYSTEM_NAME;CROSS_PLATFORM;HAS_INTRINSICS diff --git a/src/hactoolnet/ProcessBench.cs b/src/hactoolnet/ProcessBench.cs index e464c39d..f01727ea 100644 --- a/src/hactoolnet/ProcessBench.cs +++ b/src/hactoolnet/ProcessBench.cs @@ -1,5 +1,8 @@ -using System.Diagnostics; +using System; +using System.Diagnostics; +using System.Linq; using LibHac; +using LibHac.Crypto2; using LibHac.Fs; using LibHac.FsSystem; @@ -32,55 +35,202 @@ namespace hactoolnet logger.LogMessage($"{label}{rate}/s"); } + private static void CipherBenchmark(ReadOnlySpan src, Span dst, Func cipherGenerator, + int iterations, string label, IProgressReport logger) + { + cipherGenerator().Transform(src, dst); + + var watch = new Stopwatch(); + var runTimes = new double[iterations]; + + logger.SetTotal(iterations); + + for (int i = 0; i < iterations; i++) + { + ICipher cipher = cipherGenerator(); + + watch.Restart(); + cipher.Transform(src, dst); + watch.Stop(); + + logger.ReportAdd(1); + runTimes[i] = watch.Elapsed.TotalSeconds; + } + + logger.SetTotal(0); + + long srcSize = src.Length; + + double fastestRun = runTimes.Min(); + double averageRun = runTimes.Average(); + double slowestRun = runTimes.Max(); + + string fastestRate = Util.GetBytesReadable((long)(srcSize / fastestRun)); + string averageRate = Util.GetBytesReadable((long)(srcSize / averageRun)); + string slowestRate = Util.GetBytesReadable((long)(srcSize / slowestRun)); + + logger.LogMessage($"{label}{averageRate}/s, fastest run: {fastestRate}/s, slowest run: {slowestRate}/s"); + } + + private static void CipherBenchmarkBlocked(ReadOnlySpan src, Span dst, Func cipherGenerator, + int iterations, string label, IProgressReport logger) + { + cipherGenerator().Transform(src, dst); + + var watch = new Stopwatch(); + var runTimes = new double[iterations]; + + logger.SetTotal(iterations); + + int blockCount = src.Length / 0x10; + + for (int i = 0; i < iterations; i++) + { + ICipher cipher = cipherGenerator(); + + watch.Restart(); + + for (int b = 0; b < blockCount; b++) + { + cipher.Transform(src.Slice(b * 0x10, 0x10), dst.Slice(b * 0x10, 0x10)); + } + + watch.Stop(); + + logger.ReportAdd(1); + runTimes[i] = watch.Elapsed.TotalSeconds; + } + + logger.SetTotal(0); + + long srcSize = src.Length; + + double fastestRun = runTimes.Min(); + double averageRun = runTimes.Average(); + double slowestRun = runTimes.Max(); + + string fastestRate = Util.GetBytesReadable((long)(srcSize / fastestRun)); + string averageRate = Util.GetBytesReadable((long)(srcSize / averageRun)); + string slowestRate = Util.GetBytesReadable((long)(srcSize / slowestRun)); + + logger.LogMessage($"{label}{averageRate}/s, fastest run: {fastestRate}/s, slowest run: {slowestRate}/s"); + } + + private static void RunCipherBenchmark(Func cipherNet, Func cipherLibHac, string label, IProgressReport logger) + { + var srcData = new byte[Size]; + + var dstDataLh = new byte[Size]; + var dstDataNet = new byte[Size]; + var dstDataBlockedLh = new byte[Size]; + var dstDataBlockedNet = new byte[Size]; + + logger.LogMessage(string.Empty); + logger.LogMessage(label); + + if (AesCrypto.IsAesNiSupported()) CipherBenchmark(srcData, dstDataLh, cipherLibHac, Iterations, "LibHac impl: ", logger); + CipherBenchmark(srcData, dstDataNet, cipherNet, Iterations, ".NET impl: ", logger); + + if (AesCrypto.IsAesNiSupported()) CipherBenchmarkBlocked(srcData, dstDataBlockedLh, cipherLibHac, Iterations / 5, "LibHac impl (blocked): ", logger); + CipherBenchmarkBlocked(srcData, dstDataBlockedNet, cipherNet, Iterations / 5, ".NET impl (blocked): ", logger); + + if (AesCrypto.IsAesNiSupported()) + { + logger.LogMessage($"{dstDataLh.SequenceEqual(dstDataNet)}"); + logger.LogMessage($"{dstDataLh.SequenceEqual(dstDataBlockedLh)}"); + logger.LogMessage($"{dstDataLh.SequenceEqual(dstDataBlockedNet)}"); + } + } + public static void Process(Context ctx) { switch (ctx.Options.BenchType?.ToLower()) { case "aesctr": - { + { - IStorage decStorage = new MemoryStorage(new byte[Size]); - IStorage encStorage = new Aes128CtrStorage(new MemoryStorage(new byte[Size]), new byte[0x10], new byte[0x10], true); + IStorage decStorage = new MemoryStorage(new byte[Size]); + IStorage encStorage = new Aes128CtrStorage(new MemoryStorage(new byte[Size]), new byte[0x10], new byte[0x10], true); - CopyBenchmark(decStorage, encStorage, Iterations, "MemoryStorage Encrypt: ", ctx.Logger); - CopyBenchmark(encStorage, decStorage, Iterations, "MemoryStorage Decrypt: ", ctx.Logger); + CopyBenchmark(decStorage, encStorage, Iterations, "MemoryStorage Encrypt: ", ctx.Logger); + CopyBenchmark(encStorage, decStorage, Iterations, "MemoryStorage Decrypt: ", ctx.Logger); - decStorage = new NullStorage(Size); - encStorage = new Aes128CtrStorage(new NullStorage(Size), new byte[0x10], new byte[0x10], true); + decStorage = new NullStorage(Size); + encStorage = new Aes128CtrStorage(new NullStorage(Size), new byte[0x10], new byte[0x10], true); - CopyBenchmark(decStorage, encStorage, Iterations, "NullStorage Encrypt: ", ctx.Logger); - CopyBenchmark(encStorage, decStorage, Iterations, "NullStorage Decrypt: ", ctx.Logger); + CopyBenchmark(decStorage, encStorage, Iterations, "NullStorage Encrypt: ", ctx.Logger); + CopyBenchmark(encStorage, decStorage, Iterations, "NullStorage Decrypt: ", ctx.Logger); - decStorage = new MemoryStorage(new byte[Size]); - encStorage = new CachedStorage(new Aes128CtrStorage(new MemoryStorage(new byte[Size]), new byte[0x10], new byte[0x10], true), 0x4000, 4, true); + decStorage = new MemoryStorage(new byte[Size]); + encStorage = new CachedStorage(new Aes128CtrStorage(new MemoryStorage(new byte[Size]), new byte[0x10], new byte[0x10], true), 0x4000, 4, true); - CopyBenchmark(decStorage, encStorage, Iterations, "CachedStorage Encrypt: ", ctx.Logger); - CopyBenchmark(encStorage, decStorage, Iterations, "CachedStorage Decrypt: ", ctx.Logger); + CopyBenchmark(decStorage, encStorage, Iterations, "CachedStorage Encrypt: ", ctx.Logger); + CopyBenchmark(encStorage, decStorage, Iterations, "CachedStorage Decrypt: ", ctx.Logger); - break; - } + break; + } case "aesxts": - { - IStorage decStorage = new MemoryStorage(new byte[Size]); - IStorage encStorage = new Aes128XtsStorage(new MemoryStorage(new byte[Size]), new byte[0x20], 81920, true); + { + IStorage decStorage = new MemoryStorage(new byte[Size]); + IStorage encStorage = new Aes128XtsStorage(new MemoryStorage(new byte[Size]), new byte[0x20], 81920, true); - CopyBenchmark(decStorage, encStorage, Iterations, "MemoryStorage Encrypt: ", ctx.Logger); - CopyBenchmark(encStorage, decStorage, Iterations, "MemoryStorage Decrypt: ", ctx.Logger); + CopyBenchmark(decStorage, encStorage, Iterations, "MemoryStorage Encrypt: ", ctx.Logger); + CopyBenchmark(encStorage, decStorage, Iterations, "MemoryStorage Decrypt: ", ctx.Logger); - decStorage = new NullStorage(Size); - encStorage = new Aes128XtsStorage(new NullStorage(Size), new byte[0x20], 81920, true); + decStorage = new NullStorage(Size); + encStorage = new Aes128XtsStorage(new NullStorage(Size), new byte[0x20], 81920, true); - CopyBenchmark(decStorage, encStorage, Iterations, "NullStorage Encrypt: ", ctx.Logger); - CopyBenchmark(encStorage, decStorage, Iterations, "NullStorage Decrypt: ", ctx.Logger); + CopyBenchmark(decStorage, encStorage, Iterations, "NullStorage Encrypt: ", ctx.Logger); + CopyBenchmark(encStorage, decStorage, Iterations, "NullStorage Decrypt: ", ctx.Logger); - decStorage = new MemoryStorage(new byte[Size]); - encStorage = new CachedStorage(new Aes128XtsStorage(new MemoryStorage(new byte[Size]), new byte[0x20], 0x4000, true), 4, true); + decStorage = new MemoryStorage(new byte[Size]); + encStorage = new CachedStorage(new Aes128XtsStorage(new MemoryStorage(new byte[Size]), new byte[0x20], 0x4000, true), 4, true); + + CopyBenchmark(decStorage, encStorage, Iterations, "CachedStorage Encrypt: ", ctx.Logger); + CopyBenchmark(encStorage, decStorage, Iterations, "CachedStorage Decrypt: ", ctx.Logger); + break; + } + + case "aesecbnew": + { + Func encryptorNet = () => AesCrypto.CreateEcbEncryptor(new byte[0x10], true); + Func encryptorLh = () => AesCrypto.CreateEcbEncryptor(new byte[0x10]); + + RunCipherBenchmark(encryptorNet, encryptorLh, "AES-ECB encrypt", ctx.Logger); + + Func decryptorNet = () => AesCrypto.CreateEcbDecryptor(new byte[0x10], true); + Func decryptorLh = () => AesCrypto.CreateEcbDecryptor(new byte[0x10]); + + RunCipherBenchmark(decryptorNet, decryptorLh, "AES-ECB decrypt", ctx.Logger); + + break; + } + case "aescbcnew": + { + Func encryptorNet = () => AesCrypto.CreateCbcEncryptor(new byte[0x10], new byte[0x10], true); + Func encryptorLh = () => AesCrypto.CreateCbcEncryptor(new byte[0x10], new byte[0x10]); + + RunCipherBenchmark(encryptorNet, encryptorLh, "AES-CBC encrypt", ctx.Logger); + + Func decryptorNet = () => AesCrypto.CreateCbcDecryptor(new byte[0x10], new byte[0x10], true); + Func decryptorLh = () => AesCrypto.CreateCbcDecryptor(new byte[0x10], new byte[0x10]); + + RunCipherBenchmark(decryptorNet, decryptorLh, "AES-CBC decrypt", ctx.Logger); + + break; + } + + case "aesctrnew": + { + Func encryptorNet = () => AesCrypto.CreateCtrEncryptor(new byte[0x10], new byte[0x10], true); + Func encryptorLh = () => AesCrypto.CreateCtrEncryptor(new byte[0x10], new byte[0x10]); + + RunCipherBenchmark(encryptorNet, encryptorLh, "AES-CTR", ctx.Logger); + + break; + } - CopyBenchmark(decStorage, encStorage, Iterations, "CachedStorage Encrypt: ", ctx.Logger); - CopyBenchmark(encStorage, decStorage, Iterations, "CachedStorage Decrypt: ", ctx.Logger); - break; - } default: ctx.Logger.LogMessage("Unknown benchmark type."); return; diff --git a/tests/LibHac.Tests/CryptoTests/AesCbcTests.cs b/tests/LibHac.Tests/CryptoTests/AesCbcTests.cs new file mode 100644 index 00000000..ff78cc23 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/AesCbcTests.cs @@ -0,0 +1,76 @@ +using LibHac.Crypto2; +using Xunit; + +namespace LibHac.Tests.CryptoTests +{ + public class AesCbcTests + { + public static TheoryData EncryptTestVectors = + RspReader.ReadTestVectors(true, "CBCVarKey128.rsp", "CBCVarTxt128.rsp", "CBCKeySbox128.rsp", "CBCGFSbox128.rsp"); + + public static TheoryData DecryptTestVectors = + RspReader.ReadTestVectors(false, "CBCVarKey128.rsp", "CBCVarTxt128.rsp", "CBCKeySbox128.rsp", "CBCGFSbox128.rsp"); + + public static TheoryData EncryptMultiTestVectors = + RspReader.ReadTestVectors(true, "CBCMMT128.rsp"); + + public static TheoryData DecryptMultiTestVectors = + RspReader.ReadTestVectors(false, "CBCMMT128.rsp"); + + [Theory] + [MemberData(nameof(EncryptTestVectors))] + public static void Encrypt(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateCbcEncryptor(tv.Key, tv.Iv, true)); + } + + [Theory] + [MemberData(nameof(DecryptTestVectors))] + public static void Decrypt(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.CipherText, tv.PlainText, AesCrypto.CreateCbcDecryptor(tv.Key, tv.Iv, true)); + } + + [Theory] + [MemberData(nameof(EncryptMultiTestVectors))] + public static void EncryptMulti(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateCbcEncryptor(tv.Key, tv.Iv, true)); + } + + [Theory] + [MemberData(nameof(DecryptMultiTestVectors))] + public static void DecryptMulti(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.CipherText, tv.PlainText, AesCrypto.CreateCbcDecryptor(tv.Key, tv.Iv, true)); + } + + [AesIntrinsicsRequiredTheory] + [MemberData(nameof(EncryptTestVectors))] + public static void EncryptIntrinsics(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateCbcEncryptor(tv.Key, tv.Iv)); + } + + [AesIntrinsicsRequiredTheory] + [MemberData(nameof(DecryptTestVectors))] + public static void DecryptIntrinsics(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.CipherText, tv.PlainText, AesCrypto.CreateCbcDecryptor(tv.Key, tv.Iv)); + } + + [AesIntrinsicsRequiredTheory] + [MemberData(nameof(EncryptMultiTestVectors))] + public static void EncryptMultiIntrinsics(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateCbcEncryptor(tv.Key, tv.Iv)); + } + + [AesIntrinsicsRequiredTheory] + [MemberData(nameof(DecryptMultiTestVectors))] + public static void DecryptMultiIntrinsics(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.CipherText, tv.PlainText, AesCrypto.CreateCbcDecryptor(tv.Key, tv.Iv)); + } + } +} diff --git a/tests/LibHac.Tests/CryptoTests/AesCtrTests.cs b/tests/LibHac.Tests/CryptoTests/AesCtrTests.cs new file mode 100644 index 00000000..6c6b347a --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/AesCtrTests.cs @@ -0,0 +1,24 @@ +using LibHac.Crypto2; +using Xunit; + +namespace LibHac.Tests.CryptoTests +{ + public class AesCtrTests + { + public static TheoryData TestVectors = RspReader.ReadTestVectors(true, "CTR128.rsp"); + + [Theory] + [MemberData(nameof(TestVectors))] + public static void Transform(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateCtrEncryptor(tv.Key, tv.Iv, true)); + } + + [AesIntrinsicsRequiredTheory] + [MemberData(nameof(TestVectors))] + public static void TransformIntrinsics(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateCtrEncryptor(tv.Key, tv.Iv)); + } + } +} diff --git a/tests/LibHac.Tests/CryptoTests/AesEcbTests.cs b/tests/LibHac.Tests/CryptoTests/AesEcbTests.cs new file mode 100644 index 00000000..1fdd1962 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/AesEcbTests.cs @@ -0,0 +1,76 @@ +using LibHac.Crypto2; +using Xunit; + +namespace LibHac.Tests.CryptoTests +{ + public class AesEcbTests + { + public static TheoryData EncryptTestVectors = + RspReader.ReadTestVectors(true, "ECBVarKey128.rsp", "ECBVarTxt128.rsp", "ECBKeySbox128.rsp", "ECBGFSbox128.rsp"); + + public static TheoryData DecryptTestVectors = + RspReader.ReadTestVectors(false, "ECBVarKey128.rsp", "ECBVarTxt128.rsp", "ECBKeySbox128.rsp", "ECBGFSbox128.rsp"); + + public static TheoryData EncryptMultiTestVectors = + RspReader.ReadTestVectors(true, "ECBMMT128.rsp"); + + public static TheoryData DecryptMultiTestVectors = + RspReader.ReadTestVectors(false, "ECBMMT128.rsp"); + + [Theory] + [MemberData(nameof(EncryptTestVectors))] + public static void Encrypt(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateEcbEncryptor(tv.Key, true)); + } + + [Theory] + [MemberData(nameof(DecryptTestVectors))] + public static void Decrypt(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.CipherText, tv.PlainText, AesCrypto.CreateEcbDecryptor(tv.Key, true)); + } + + [Theory] + [MemberData(nameof(EncryptMultiTestVectors))] + public static void EncryptMulti(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateEcbEncryptor(tv.Key, true)); + } + + [Theory] + [MemberData(nameof(DecryptMultiTestVectors))] + public static void DecryptMulti(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.CipherText, tv.PlainText, AesCrypto.CreateEcbDecryptor(tv.Key, true)); + } + + [AesIntrinsicsRequiredTheory] + [MemberData(nameof(EncryptTestVectors))] + public static void EncryptIntrinsics(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateEcbEncryptor(tv.Key)); + } + + [AesIntrinsicsRequiredTheory] + [MemberData(nameof(DecryptTestVectors))] + public static void DecryptIntrinsics(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.CipherText, tv.PlainText, AesCrypto.CreateEcbDecryptor(tv.Key)); + } + + [AesIntrinsicsRequiredTheory] + [MemberData(nameof(EncryptMultiTestVectors))] + public static void EncryptMultiIntrinsics(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.PlainText, tv.CipherText, AesCrypto.CreateEcbEncryptor(tv.Key)); + } + + [AesIntrinsicsRequiredTheory] + [MemberData(nameof(DecryptMultiTestVectors))] + public static void DecryptMultiIntrinsics(EncryptionTestVector tv) + { + Common.CipherTestCore(tv.CipherText, tv.PlainText, AesCrypto.CreateEcbDecryptor(tv.Key)); + } + } +} diff --git a/tests/LibHac.Tests/CryptoTests/AesIntrinsicsRequiredTheory.cs b/tests/LibHac.Tests/CryptoTests/AesIntrinsicsRequiredTheory.cs new file mode 100644 index 00000000..1abcbc8e --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/AesIntrinsicsRequiredTheory.cs @@ -0,0 +1,16 @@ +using LibHac.Crypto2; +using Xunit; + +namespace LibHac.Tests.CryptoTests +{ + public sealed class AesIntrinsicsRequiredTheoryAttribute : TheoryAttribute + { + public AesIntrinsicsRequiredTheoryAttribute() + { + if (!AesCrypto.IsAesNiSupported()) + { + Skip = "AES intrinsics required"; + } + } + } +} \ No newline at end of file diff --git a/tests/LibHac.Tests/CryptoTests/Common.cs b/tests/LibHac.Tests/CryptoTests/Common.cs new file mode 100644 index 00000000..a4a9b833 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/Common.cs @@ -0,0 +1,17 @@ +using LibHac.Crypto2; +using Xunit; + +namespace LibHac.Tests.CryptoTests +{ + internal static class Common + { + internal static void CipherTestCore(byte[] inputData, byte[] expected, ICipher cipher) + { + var outputData = new byte[expected.Length]; + + cipher.Transform(inputData, outputData); + + Assert.Equal(expected, outputData); + } + } +} diff --git a/tests/LibHac.Tests/CryptoTests/RspReader.cs b/tests/LibHac.Tests/CryptoTests/RspReader.cs new file mode 100644 index 00000000..8801a3a9 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/RspReader.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Reflection; +using Xunit; + +namespace LibHac.Tests.CryptoTests +{ + public class RspReader + { + private StreamReader Reader { get; } + + public RspReader(Stream stream) + { + Reader = new StreamReader(stream); + } + + public IEnumerable GetTestVectors() + { + string line; + bool isEncryptType = false; + + var testVector = new EncryptionTestVector(); + bool canOutputVector = false; + + while ((line = Reader.ReadLine()?.Trim()) != null) + { + if (line.Length == 0) + { + if (canOutputVector) + { + testVector.Encrypt = isEncryptType; + + yield return testVector; + + testVector = new EncryptionTestVector(); + canOutputVector = false; + } + + continue; + } + + if (line[0] == '#') continue; + + if (line[0] == '[') + { + if (line == "[ENCRYPT]") isEncryptType = true; + if (line == "[DECRYPT]") isEncryptType = false; + + continue; + } + + string[] kvp = line.Split(new[] { " = " }, StringSplitOptions.None); + if (kvp.Length != 2) throw new InvalidDataException(); + + canOutputVector = true; + + switch (kvp[0]) + { + case "COUNT": + testVector.Count = int.Parse(kvp[1]); + break; + case "KEY": + testVector.Key = kvp[1].ToBytes(); + break; + case "IV": + testVector.Iv = kvp[1].ToBytes(); + break; + case "PLAINTEXT": + testVector.PlainText = kvp[1].ToBytes(); + break; + case "CIPHERTEXT": + testVector.CipherText = kvp[1].ToBytes(); + break; + } + } + } + + public static TheoryData ReadTestVectors(bool getEncryptTests, params string[] filenames) + { + IEnumerable resourcePaths = filenames.Select(x => $"LibHac.Tests.CryptoTests.TestVectors.{x}"); + var testVectors = new TheoryData(); + + foreach (string path in resourcePaths) + { + using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(path)) + { + var reader = new RspReader(stream); + + foreach (EncryptionTestVector tv in reader.GetTestVectors().Where(x => x.Encrypt == getEncryptTests)) + { + testVectors.Add(tv); + } + } + } + + return testVectors; + } + } + + public class EncryptionTestVector + { + public bool Encrypt { get; set; } + public int Count { get; set; } + public byte[] Key { get; set; } + public byte[] Iv { get; set; } + public byte[] PlainText { get; set; } + public byte[] CipherText { get; set; } + } +} diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/CBCGFSbox128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCGFSbox128.rsp new file mode 100644 index 00000000..8624a2bf --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCGFSbox128.rsp @@ -0,0 +1,95 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f34481ec3cc627bacd5dc3fb08f273e6 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 9798c4640bad75c7c3227db910174e72 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 96ab5c2ff612d9dfaae8c31f30c42168 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 6a118a874519e64e9963798a503f1d35 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = cb9fceec81286ca3e989bd979b0cb284 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = b26aeb1874e47ca8358ff22378f09144 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 58c8e00b2631686d54eab84b91f0aca1 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e +PLAINTEXT = f34481ec3cc627bacd5dc3fb08f273e6 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 +PLAINTEXT = 9798c4640bad75c7c3227db910174e72 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 +PLAINTEXT = 96ab5c2ff612d9dfaae8c31f30c42168 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 +PLAINTEXT = 6a118a874519e64e9963798a503f1d35 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce +PLAINTEXT = cb9fceec81286ca3e989bd979b0cb284 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 +PLAINTEXT = b26aeb1874e47ca8358ff22378f09144 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf +PLAINTEXT = 58c8e00b2631686d54eab84b91f0aca1 + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/CBCKeySbox128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCKeySbox128.rsp new file mode 100644 index 00000000..6bb67fd4 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCKeySbox128.rsp @@ -0,0 +1,263 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e29201190152df4ee058139def610bb + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 + +[DECRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6e29201190152df4ee058139def610bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +IV = 00000000000000000000000000000000 +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +IV = 00000000000000000000000000000000 +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/CBCMMT128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCMMT128.rsp new file mode 100644 index 00000000..c0a6aec0 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCMMT128.rsp @@ -0,0 +1,131 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 1f8e4973953f3fb0bd6b16662e9a3c17 +IV = 2fe2b333ceda8f98f4a99b40d2cd34a8 +PLAINTEXT = 45cf12964fc824ab76616ae2f4bf0822 +CIPHERTEXT = 0f61c4d44c5147c03c195ad7e2cc12b2 + +COUNT = 1 +KEY = 0700d603a1c514e46b6191ba430a3a0c +IV = aad1583cd91365e3bb2f0c3430d065bb +PLAINTEXT = 068b25c7bfb1f8bdd4cfc908f69dffc5ddc726a197f0e5f720f730393279be91 +CIPHERTEXT = c4dc61d9725967a3020104a9738f23868527ce839aab1752fd8bdb95a82c4d00 + +COUNT = 2 +KEY = 3348aa51e9a45c2dbe33ccc47f96e8de +IV = 19153c673160df2b1d38c28060e59b96 +PLAINTEXT = 9b7cee827a26575afdbb7c7a329f887238052e3601a7917456ba61251c214763d5e1847a6ad5d54127a399ab07ee3599 +CIPHERTEXT = d5aed6c9622ec451a15db12819952b6752501cf05cdbf8cda34a457726ded97818e1f127a28d72db5652749f0c6afee5 + +COUNT = 3 +KEY = b7f3c9576e12dd0db63e8f8fac2b9a39 +IV = c80f095d8bb1a060699f7c19974a1aa0 +PLAINTEXT = 9ac19954ce1319b354d3220460f71c1e373f1cd336240881160cfde46ebfed2e791e8d5a1a136ebd1dc469dec00c4187722b841cdabcb22c1be8a14657da200e +CIPHERTEXT = 19b9609772c63f338608bf6eb52ca10be65097f89c1e0905c42401fd47791ae2c5440b2d473116ca78bd9ff2fb6015cfd316524eae7dcb95ae738ebeae84a467 + +COUNT = 4 +KEY = b6f9afbfe5a1562bba1368fc72ac9d9c +IV = 3f9d5ebe250ee7ce384b0d00ee849322 +PLAINTEXT = db397ec22718dbffb9c9d13de0efcd4611bf792be4fce0dc5f25d4f577ed8cdbd4eb9208d593dda3d4653954ab64f05676caa3ce9bfa795b08b67ceebc923fdc89a8c431188e9e482d8553982cf304d1 +CIPHERTEXT = 10ea27b19e16b93af169c4a88e06e35c99d8b420980b058e34b4b8f132b13766f72728202b089f428fecdb41c79f8aa0d0ef68f5786481cca29e2126f69bc14160f1ae2187878ba5c49cf3961e1b7ee9 + +COUNT = 5 +KEY = bbe7b7ba07124ff1ae7c3416fe8b465e +IV = 7f65b5ee3630bed6b84202d97fb97a1e +PLAINTEXT = 2aad0c2c4306568bad7447460fd3dac054346d26feddbc9abd9110914011b4794be2a9a00a519a51a5b5124014f4ed2735480db21b434e99a911bb0b60fe0253763725b628d5739a5117b7ee3aefafc5b4c1bf446467e7bf5f78f31ff7caf187 +CIPHERTEXT = 3b8611bfc4973c5cd8e982b073b33184cd26110159172e44988eb5ff5661a1e16fad67258fcbfee55469267a12dc374893b4e3533d36f5634c3095583596f135aa8cd1138dc898bc5651ee35a92ebf89ab6aeb5366653bc60a70e0074fc11efe + +COUNT = 6 +KEY = 89a553730433f7e6d67d16d373bd5360 +IV = f724558db3433a523f4e51a5bea70497 +PLAINTEXT = 807bc4ea684eedcfdcca30180680b0f1ae2814f35f36d053c5aea6595a386c1442770f4d7297d8b91825ee7237241da8925dd594ccf676aecd46ca2068e8d37a3a0ec8a7d5185a201e663b5ff36ae197110188a23503763b8218826d23ced74b31e9f6e2d7fbfa6cb43420c7807a8625 +CIPHERTEXT = 406af1429a478c3d07e555c5287a60500d37fc39b68e5bbb9bafd6ddb223828561d6171a308d5b1a4551e8a5e7d572918d25c968d3871848d2f16635caa9847f38590b1df58ab5efb985f2c66cfaf86f61b3f9c0afad6c963c49cee9b8bc81a2ddb06c967f325515a4849eec37ce721a + +COUNT = 7 +KEY = c491ca31f91708458e29a925ec558d78 +IV = 9ef934946e5cd0ae97bd58532cb49381 +PLAINTEXT = cb6a787e0dec56f9a165957f81af336ca6b40785d9e94093c6190e5152649f882e874d79ac5e167bd2a74ce5ae088d2ee854f6539e0a94796b1e1bd4c9fcdbc79acbef4d01eeb89776d18af71ae2a4fc47dd66df6c4dbe1d1850e466549a47b636bcc7c2b3a62495b56bb67b6d455f1eebd9bfefecbca6c7f335cfce9b45cb9d +CIPHERTEXT = 7b2931f5855f717145e00f152a9f4794359b1ffcb3e55f594e33098b51c23a6c74a06c1d94fded7fd2ae42c7db7acaef5844cb33aeddc6852585ed0020a6699d2cb53809cefd169148ce42292afab063443978306c582c18b9ce0da3d084ce4d3c482cfd8fcf1a85084e89fb88b40a084d5e972466d07666126fb761f84078f2 + +COUNT = 8 +KEY = f6e87d71b0104d6eb06a68dc6a71f498 +IV = 1c245f26195b76ebebc2edcac412a2f8 +PLAINTEXT = f82bef3c73a6f7f80db285726d691db6bf55eec25a859d3ba0e0445f26b9bb3b16a3161ed1866e4dd8f2e5f8ecb4e46d74a7a78c20cdfc7bcc9e479ba7a0caba9438238ad0c01651d5d98de37f03ddce6e6b4bd4ab03cf9e8ed818aedfa1cf963b932067b97d776dce1087196e7e913f7448e38244509f0caf36bd8217e15336d35c149fd4e41707893fdb84014f8729 +CIPHERTEXT = b09512f3eff9ed0d85890983a73dadbb7c3678d52581be64a8a8fc586f490f2521297a478a0598040ebd0f5509fafb0969f9d9e600eaef33b1b93eed99687b167f89a5065aac439ce46f3b8d22d30865e64e45ef8cd30b6984353a844a11c8cd60dba0e8866b3ee30d24b3fa8a643b328353e06010fa8273c8fd54ef0a2b6930e5520aae5cd5902f9b86a33592ca4365 + +COUNT = 9 +KEY = 2c14413751c31e2730570ba3361c786b +IV = 1dbbeb2f19abb448af849796244a19d7 +PLAINTEXT = 40d930f9a05334d9816fe204999c3f82a03f6a0457a8c475c94553d1d116693adc618049f0a769a2eed6a6cb14c0143ec5cccdbc8dec4ce560cfd206225709326d4de7948e54d603d01b12d7fed752fb23f1aa4494fbb00130e9ded4e77e37c079042d828040c325b1a5efd15fc842e44014ca4374bf38f3c3fc3ee327733b0c8aee1abcd055772f18dc04603f7b2c1ea69ff662361f2be0a171bbdcea1e5d3f +CIPHERTEXT = 6be8a12800455a320538853e0cba31bd2d80ea0c85164a4c5c261ae485417d93effe2ebc0d0a0b51d6ea18633d210cf63c0c4ddbc27607f2e81ed9113191ef86d56f3b99be6c415a4150299fb846ce7160b40b63baf1179d19275a2e83698376d28b92548c68e06e6d994e2c1501ed297014e702cdefee2f656447706009614d801de1caaf73f8b7fa56cf1ba94b631933bbe577624380850f117435a0355b2b + +[DECRYPT] + +COUNT = 0 +KEY = 6a7082cf8cda13eff48c8158dda206ae +IV = bd4172934078c2011cb1f31cffaf486e +CIPHERTEXT = f8eb31b31e374e960030cd1cadb0ef0c +PLAINTEXT = 940bc76d61e2c49dddd5df7f37fcf105 + +COUNT = 1 +KEY = 625eefa18a4756454e218d8bfed56e36 +IV = 73d9d0e27c2ec568fbc11f6a0998d7c8 +CIPHERTEXT = 5d6fed86f0c4fe59a078d6361a142812514b295dc62ff5d608a42ea37614e6a1 +PLAINTEXT = 360dc1896ce601dfb2a949250067aad96737847a4580ede2654a329b842fe81e + +COUNT = 2 +KEY = fd6e0b954ae2e3b723d6c9fcae6ab09b +IV = f08b65c9f4dd950039941da2e8058c4e +CIPHERTEXT = e29e3114c8000eb484395b256b1b3267894f290d3999819ff35da03e6463c186c4d7ebb964941f1986a2d69572fcaba8 +PLAINTEXT = a206385945b21f812a9475f47fddbb7fbdda958a8d14c0dbcdaec36e8b28f1f6ececa1ceae4ce17721d162c1d42a66c1 + +COUNT = 3 +KEY = 7b1ab9144b0239315cd5eec6c75663bd +IV = 0b1e74f45c17ff304d99c059ce5cde09 +CIPHERTEXT = d3f89b71e033070f9d7516a6cb4ea5ef51d6fb63d4f0fea089d0a60e47bbb3c2e10e9ba3b282c7cb79aefe3068ce228377c21a58fe5a0f8883d0dbd3d096beca +PLAINTEXT = b968aeb199ad6b3c8e01f26c2edad444538c78bfa36ed68ca76123b8cdce615a01f6112bb80bfc3f17490578fb1f909a52e162637b062db04efee291a1f1af60 + +COUNT = 4 +KEY = 36466b6bd25ea3857ea42f0cac1919b1 +IV = 7186fb6bdfa98a16189544b228f3bcd3 +CIPHERTEXT = 9ed957bd9bc52bba76f68cfbcde52157a8ca4f71ac050a3d92bdebbfd7c78316b4c9f0ba509fad0235fdafe90056ad115dfdbf08338b2acb1c807a88182dd2a882d1810d4302d598454e34ef2b23687d +PLAINTEXT = 999983467c47bb1d66d7327ab5c58f61ddb09b93bd2460cb78cbc12b5fa1ea0c5f759ccc5e478697687012ff4673f6e61eecaeda0ccad2d674d3098c7d17f887b62b56f56b03b4d055bf3a4460e83efa + +COUNT = 5 +KEY = 89373ee6e28397640d5082eed4123239 +IV = 1a74d7c859672c804b82472f7e6d3c6b +CIPHERTEXT = 1bcba44ddff503db7c8c2ec4c4eea0e827957740cce125c1e11769842fa97e25f1b89269e6d77923a512a358312f4ba1cd33f2d111280cd83e1ef9e7cf7036d55048d5c273652afa611cc81b4e9dac7b5078b7c4716062e1032ead1e3329588a +PLAINTEXT = 45efd00daa4cdc8273ef785cae9e944a7664a2391e1e2c449f475acec0124bbc22944331678617408a1702917971f4654310ffb9229bec6173715ae512d37f93aaa6abf009f7e30d65669d1db0366b5bce4c7b00f871014f5753744a1878dc57 + +COUNT = 6 +KEY = bab0cceddc0abd63e3f82e9fbff7b8aa +IV = 68b9140f300490c5c942f66e777eb806 +CIPHERTEXT = c65b94b1f291fa9f0600f22c3c0432c895ad5d177bcccc9ea44e8ec339c9adf43855b326179d6d81aa36ef59462fd86127e9d81b0f286f93306bf74d4c79e47c1b3d4b74edd3a16290e3c63b742e41f20d66ceee794316bb63d3bd002712a1b136ba6185bd5c1dab81b07db90d2af5e5 +PLAINTEXT = c5585ff215bbb73ba5393440852fb199436de0d15e55c631f877670aa3eda9f672eb1f876f09544e63558436b8928000db2f02a5ad90f95b05ac4cf49e198e617e7678480fdf0efacc6aae691271e6cdd3541ebf719a1ccaedb24e2f80f92455dd5910cb5086b0960a3942ec182dcbd7 + +COUNT = 7 +KEY = 9c702898efa44557b29ed283f5bc0293 +IV = cec6e1b82e8b2a591a9fa5ff1cf5cc51 +CIPHERTEXT = ba9f646755dacc22911f51d7de2f7e7cb0bc0b75257ea44fe883edb055c7c28ede04c3a0adcb10128ad4517d0093fa16bb0bcd2635e7a0ba92c7609bc8d8568002a7a983473724d256513aa7d51b477aabec1975ab5faf2872a6407e922180eff02f1ef86a4591c8bd3d143da6f0ef0e4806f94ace0d5b0151c99640fccbc843 +PLAINTEXT = 1d1f8d81bdc3e2c7cb057f408e6450000c5aaed3260ff1e87fbb6f324df6887ffd8f78d7e2a04c9ed9deda9d64482d2b002f4a2b78d8b4f691875c8295d4a64b22257ceaf713ed2f4b92530d7ad7151d629acda882b4829577a43990b0948c1149c22fe4273656d1b08833930e8b06709a94579a78fc220f7057bbc1fa9f6563 + +COUNT = 8 +KEY = 5674636dbdb38f705f0b08c372ef4785 +IV = 3f20ce0509b57420d53b6be4d0b7f0a9 +CIPHERTEXT = 198351f453103face6655666fe90bdbd9630e3733b2d66c013a634e91f2bf015bd2d975d71b26322e44defa32d4e9dce50363557046ece08ba38f258dae5fd3e5049c647476c81e73482e40c171d89f9fea29452caf995733589b0061464fbd5dabe27dc5ea463a3deeb7dcb43664ae6a65c498c143883ab8e83b51e5410b181647602443dc3cfffe86f0205398fa83c +PLAINTEXT = 6d40fd2f908f48ce19241b6b278b1b1676dffd4a97ce9f8a1574c33bc59237deb536bee376fd6c381e6987700e39283aa111cf1a59f26fae6fb6700bf012646a2ab80239bf5e1632329043aa87d7911978b36523a2bc0bed9a9737ccf7a00baa2f3822b4e9e742e168e7069290705fed2eb63aa044b78f97dd33a8d6b24741ec1fd8c8db79d93b884e762dba0f406961 + +COUNT = 9 +KEY = 97a1025529b9925e25bbe78770ca2f99 +IV = d4b4eab92aa9637e87d366384ed6915c +CIPHERTEXT = 22cdc3306fcd4d31ccd32720cbb61bad28d855670657c48c7b88c31f4fa1f93c01b57da90be63ead67d6a325525e6ed45083e6fb70a53529d1fa0f55653b942af59d78a2660361d63a7290155ac5c43312a25b235dacbbc863faf00940c99624076dfa44068e7c554c9038176953e571751dfc0954d41d113771b06466b1c8d13e0d4cb675ed58d1a619e1540970983781dc11d2dd8525ab5745958d615defda +PLAINTEXT = e8b89150d8438bf5b17449d6ed26bd72127e10e4aa57cad85283e8359e089208e84921649f5b60ea21f7867cbc9620560c4c6238db021216db453c9943f1f1a60546173daef2557c3cdd855031b353d4bf176f28439e48785c37d38f270aa4a6faad2baabcb0c0b2d1dd5322937498ce803ba1148440a52e227ddba4872fe4d81d2d76a939d24755adb8a7b8452ceed2d179e1a5848f316f5c016300a390bfa7 + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/CBCVarKey128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCVarKey128.rsp new file mode 100644 index 00000000..0ee5c2af --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCVarKey128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c + +[DECRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff80000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +IV = 00000000000000000000000000000000 +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +IV = 00000000000000000000000000000000 +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/CBCVarTxt128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCVarTxt128.rsp new file mode 100644 index 00000000..f9fab992 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/CBCVarTxt128.rsp @@ -0,0 +1,1547 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for CBC +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:33 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = 80000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = c0000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = e0000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f0000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = f8000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fc000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fe000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ff000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ff800000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffc00000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffe00000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fff00000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fff80000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffc0000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffe0000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffff0000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffff8000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffc000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffe000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffff000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffff800000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffc00000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffe00000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffff00000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffff80000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffc0000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffe0000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffff0000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffff8000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffc000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffe000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffff000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffff800000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffc00000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffe00000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffff00000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffff80000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffc0000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffe0000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff0000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff8000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffc000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffe000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff800000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffc00000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffe00000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff00000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff80000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffc0000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffe0000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff0000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff8000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffc000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffe000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff800000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffc00000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffe00000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff00000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff80000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffc0000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffe0000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff0000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff8000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffc000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffe000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff800000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffc00000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffe00000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff00000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff80000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffc0000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff0000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff8000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffc000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffe000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff800000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff00000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff80000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff800000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff0000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffff +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 +PLAINTEXT = 80000000000000000000000000000000 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 +PLAINTEXT = c0000000000000000000000000000000 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 +PLAINTEXT = e0000000000000000000000000000000 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 +PLAINTEXT = f0000000000000000000000000000000 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 +PLAINTEXT = f8000000000000000000000000000000 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 +PLAINTEXT = fc000000000000000000000000000000 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a +PLAINTEXT = fe000000000000000000000000000000 + +COUNT = 7 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b +PLAINTEXT = ff000000000000000000000000000000 + +COUNT = 8 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f +PLAINTEXT = ff800000000000000000000000000000 + +COUNT = 9 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a +PLAINTEXT = ffc00000000000000000000000000000 + +COUNT = 10 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 +PLAINTEXT = ffe00000000000000000000000000000 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 +PLAINTEXT = fff00000000000000000000000000000 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f +PLAINTEXT = fff80000000000000000000000000000 + +COUNT = 13 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 +PLAINTEXT = fffc0000000000000000000000000000 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 +PLAINTEXT = fffe0000000000000000000000000000 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a +PLAINTEXT = ffff0000000000000000000000000000 + +COUNT = 16 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 +PLAINTEXT = ffff8000000000000000000000000000 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b +PLAINTEXT = ffffc000000000000000000000000000 + +COUNT = 18 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b +PLAINTEXT = ffffe000000000000000000000000000 + +COUNT = 19 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 +PLAINTEXT = fffff000000000000000000000000000 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 +PLAINTEXT = fffff800000000000000000000000000 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 +PLAINTEXT = fffffc00000000000000000000000000 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 +PLAINTEXT = fffffe00000000000000000000000000 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b +PLAINTEXT = ffffff00000000000000000000000000 + +COUNT = 24 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 +PLAINTEXT = ffffff80000000000000000000000000 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 +PLAINTEXT = ffffffc0000000000000000000000000 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 +PLAINTEXT = ffffffe0000000000000000000000000 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 +PLAINTEXT = fffffff0000000000000000000000000 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 +PLAINTEXT = fffffff8000000000000000000000000 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 +PLAINTEXT = fffffffc000000000000000000000000 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a +PLAINTEXT = fffffffe000000000000000000000000 + +COUNT = 31 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 +PLAINTEXT = ffffffff000000000000000000000000 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f +PLAINTEXT = ffffffff800000000000000000000000 + +COUNT = 33 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce +PLAINTEXT = ffffffffc00000000000000000000000 + +COUNT = 34 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f +PLAINTEXT = ffffffffe00000000000000000000000 + +COUNT = 35 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea +PLAINTEXT = fffffffff00000000000000000000000 + +COUNT = 36 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c +PLAINTEXT = fffffffff80000000000000000000000 + +COUNT = 37 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 +PLAINTEXT = fffffffffc0000000000000000000000 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 +PLAINTEXT = fffffffffe0000000000000000000000 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 +PLAINTEXT = ffffffffff0000000000000000000000 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 +PLAINTEXT = ffffffffff8000000000000000000000 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 +PLAINTEXT = ffffffffffc000000000000000000000 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 +PLAINTEXT = ffffffffffe000000000000000000000 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 +PLAINTEXT = fffffffffff000000000000000000000 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 +PLAINTEXT = fffffffffff800000000000000000000 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 +PLAINTEXT = fffffffffffc00000000000000000000 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 +PLAINTEXT = fffffffffffe00000000000000000000 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 +PLAINTEXT = ffffffffffff00000000000000000000 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 +PLAINTEXT = ffffffffffff80000000000000000000 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f +PLAINTEXT = ffffffffffffc0000000000000000000 + +COUNT = 50 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f +PLAINTEXT = ffffffffffffe0000000000000000000 + +COUNT = 51 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 +PLAINTEXT = fffffffffffff0000000000000000000 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 +PLAINTEXT = fffffffffffff8000000000000000000 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c +PLAINTEXT = fffffffffffffc000000000000000000 + +COUNT = 54 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 +PLAINTEXT = fffffffffffffe000000000000000000 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b +PLAINTEXT = ffffffffffffff000000000000000000 + +COUNT = 56 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a +PLAINTEXT = ffffffffffffff800000000000000000 + +COUNT = 57 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a +PLAINTEXT = ffffffffffffffc00000000000000000 + +COUNT = 58 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 +PLAINTEXT = ffffffffffffffe00000000000000000 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 +PLAINTEXT = fffffffffffffff00000000000000000 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f +PLAINTEXT = fffffffffffffff80000000000000000 + +COUNT = 61 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 +PLAINTEXT = fffffffffffffffc0000000000000000 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c +PLAINTEXT = fffffffffffffffe0000000000000000 + +COUNT = 63 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e +PLAINTEXT = ffffffffffffffff0000000000000000 + +COUNT = 64 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 +PLAINTEXT = ffffffffffffffff8000000000000000 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 +PLAINTEXT = ffffffffffffffffc000000000000000 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc +PLAINTEXT = ffffffffffffffffe000000000000000 + +COUNT = 67 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 +PLAINTEXT = fffffffffffffffff000000000000000 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 +PLAINTEXT = fffffffffffffffff800000000000000 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 +PLAINTEXT = fffffffffffffffffc00000000000000 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 +PLAINTEXT = fffffffffffffffffe00000000000000 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e +PLAINTEXT = ffffffffffffffffff00000000000000 + +COUNT = 72 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf +PLAINTEXT = ffffffffffffffffff80000000000000 + +COUNT = 73 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f +PLAINTEXT = ffffffffffffffffffc0000000000000 + +COUNT = 74 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 +PLAINTEXT = ffffffffffffffffffe0000000000000 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a +PLAINTEXT = fffffffffffffffffff0000000000000 + +COUNT = 76 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 +PLAINTEXT = fffffffffffffffffff8000000000000 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 +PLAINTEXT = fffffffffffffffffffc000000000000 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 +PLAINTEXT = fffffffffffffffffffe000000000000 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b +PLAINTEXT = ffffffffffffffffffff000000000000 + +COUNT = 80 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 +PLAINTEXT = ffffffffffffffffffff800000000000 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 +PLAINTEXT = ffffffffffffffffffffc00000000000 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 +PLAINTEXT = ffffffffffffffffffffe00000000000 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 +PLAINTEXT = fffffffffffffffffffff00000000000 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed +PLAINTEXT = fffffffffffffffffffff80000000000 + +COUNT = 85 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 +PLAINTEXT = fffffffffffffffffffffc0000000000 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 +PLAINTEXT = fffffffffffffffffffffe0000000000 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 +PLAINTEXT = ffffffffffffffffffffff0000000000 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 +PLAINTEXT = ffffffffffffffffffffff8000000000 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 +PLAINTEXT = ffffffffffffffffffffffc000000000 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 +PLAINTEXT = ffffffffffffffffffffffe000000000 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 +PLAINTEXT = fffffffffffffffffffffff000000000 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 +PLAINTEXT = fffffffffffffffffffffff800000000 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f +PLAINTEXT = fffffffffffffffffffffffc00000000 + +COUNT = 94 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f +PLAINTEXT = fffffffffffffffffffffffe00000000 + +COUNT = 95 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 +PLAINTEXT = ffffffffffffffffffffffff00000000 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 +PLAINTEXT = ffffffffffffffffffffffff80000000 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 +PLAINTEXT = ffffffffffffffffffffffffc0000000 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 +PLAINTEXT = ffffffffffffffffffffffffe0000000 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 +PLAINTEXT = fffffffffffffffffffffffff0000000 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a +PLAINTEXT = fffffffffffffffffffffffff8000000 + +COUNT = 101 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 +PLAINTEXT = fffffffffffffffffffffffffc000000 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 +PLAINTEXT = fffffffffffffffffffffffffe000000 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 +PLAINTEXT = ffffffffffffffffffffffffff000000 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 +PLAINTEXT = ffffffffffffffffffffffffff800000 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 +PLAINTEXT = ffffffffffffffffffffffffffc00000 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 +PLAINTEXT = ffffffffffffffffffffffffffe00000 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 +PLAINTEXT = fffffffffffffffffffffffffff00000 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c +PLAINTEXT = fffffffffffffffffffffffffff80000 + +COUNT = 109 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 +PLAINTEXT = fffffffffffffffffffffffffffc0000 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 +PLAINTEXT = fffffffffffffffffffffffffffe0000 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 +PLAINTEXT = ffffffffffffffffffffffffffff0000 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d +PLAINTEXT = ffffffffffffffffffffffffffff8000 + +COUNT = 113 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 +PLAINTEXT = ffffffffffffffffffffffffffffc000 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 +PLAINTEXT = ffffffffffffffffffffffffffffe000 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba +PLAINTEXT = fffffffffffffffffffffffffffff000 + +COUNT = 116 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 +PLAINTEXT = fffffffffffffffffffffffffffff800 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee +PLAINTEXT = fffffffffffffffffffffffffffffc00 + +COUNT = 118 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f +PLAINTEXT = fffffffffffffffffffffffffffffe00 + +COUNT = 119 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 +PLAINTEXT = ffffffffffffffffffffffffffffff00 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc +PLAINTEXT = ffffffffffffffffffffffffffffff80 + +COUNT = 121 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 +PLAINTEXT = ffffffffffffffffffffffffffffffc0 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb +PLAINTEXT = ffffffffffffffffffffffffffffffe0 + +COUNT = 123 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 +PLAINTEXT = fffffffffffffffffffffffffffffff0 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e +PLAINTEXT = fffffffffffffffffffffffffffffff8 + +COUNT = 125 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 +PLAINTEXT = fffffffffffffffffffffffffffffffc + +COUNT = 126 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 +PLAINTEXT = fffffffffffffffffffffffffffffffe + +COUNT = 127 +KEY = 00000000000000000000000000000000 +IV = 00000000000000000000000000000000 +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e +PLAINTEXT = ffffffffffffffffffffffffffffffff + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/CTR128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/CTR128.rsp new file mode 100644 index 00000000..0adda5f4 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/CTR128.rsp @@ -0,0 +1,20 @@ +[ENCRYPT] + +COUNT = 0 +KEY = ae6852f8121067cc4bf7a5765577f39e +IV = 00000030000000000000000000000001 +PLAINTEXT = 53696e676c6520626c6f636b206d7367 +CIPHERTEXT = e4095d4fb7a7b3792d6175a3261311b8 + +COUNT = 1 +KEY = 7e24067817fae0d743d6ce1f32539163 +IV = 006cb6dbc0543b59da48d90b00000001 +PLAINTEXT = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f +CIPHERTEXT = 5104a106168a72d9790d41ee8edad388eb2e1efc46da57c8fce630df9141be28 + +COUNT = 2 +KEY = 7691be035e5020a8ac6e618529f9a0dc +IV = 00e0017b27777f3f4a1786f000000001 +PLAINTEXT = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223 +CIPHERTEXT = c1cf48a89f2ffdd9cf4652e9efdb72d74540a42bde6d7836d59a5ceaaef3105325b2072f + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/ECBGFSbox128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBGFSbox128.rsp new file mode 100644 index 00000000..f3f4e85e --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBGFSbox128.rsp @@ -0,0 +1,81 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS GFSbox test data for ECB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:26 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +PLAINTEXT = f34481ec3cc627bacd5dc3fb08f273e6 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e + +COUNT = 1 +KEY = 00000000000000000000000000000000 +PLAINTEXT = 9798c4640bad75c7c3227db910174e72 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +PLAINTEXT = 96ab5c2ff612d9dfaae8c31f30c42168 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +PLAINTEXT = 6a118a874519e64e9963798a503f1d35 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +PLAINTEXT = cb9fceec81286ca3e989bd979b0cb284 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce + +COUNT = 5 +KEY = 00000000000000000000000000000000 +PLAINTEXT = b26aeb1874e47ca8358ff22378f09144 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +PLAINTEXT = 58c8e00b2631686d54eab84b91f0aca1 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 0336763e966d92595a567cc9ce537f5e +PLAINTEXT = f34481ec3cc627bacd5dc3fb08f273e6 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = a9a1631bf4996954ebc093957b234589 +PLAINTEXT = 9798c4640bad75c7c3227db910174e72 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = ff4f8391a6a40ca5b25d23bedd44a597 +PLAINTEXT = 96ab5c2ff612d9dfaae8c31f30c42168 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = dc43be40be0e53712f7e2bf5ca707209 +PLAINTEXT = 6a118a874519e64e9963798a503f1d35 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 92beedab1895a94faa69b632e5cc47ce +PLAINTEXT = cb9fceec81286ca3e989bd979b0cb284 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 459264f4798f6a78bacb89c15ed3d601 +PLAINTEXT = b26aeb1874e47ca8358ff22378f09144 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 08a4e2efec8a8e3312ca7460b9040bbf +PLAINTEXT = 58c8e00b2631686d54eab84b91f0aca1 + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/ECBKeySbox128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBKeySbox128.rsp new file mode 100644 index 00000000..f5a28327 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBKeySbox128.rsp @@ -0,0 +1,221 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS KeySbox test data for ECB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:26 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6e29201190152df4ee058139def610bb + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 + +[DECRYPT] + +COUNT = 0 +KEY = 10a58869d74be5a374cf867cfb473859 +CIPHERTEXT = 6d251e6944b051e04eaa6fb4dbf78465 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = caea65cdbb75e9169ecd22ebe6e54675 +CIPHERTEXT = 6e29201190152df4ee058139def610bb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = a2e2fa9baf7d20822ca9f0542f764a41 +CIPHERTEXT = c3b44b95d9d2f25670eee9a0de099fa3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = b6364ac4e1de1e285eaf144a2415f7a0 +CIPHERTEXT = 5d9b05578fc944b3cf1ccf0e746cd581 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = 64cf9c7abc50b888af65f49d521944b2 +CIPHERTEXT = f7efc89d5dba578104016ce5ad659c05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = 47d6742eefcc0465dc96355e851b64d9 +CIPHERTEXT = 0306194f666d183624aa230a8b264ae7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = 3eb39790678c56bee34bbcdeccf6cdb5 +CIPHERTEXT = 858075d536d79ccee571f7d7204b1f67 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = 64110a924f0743d500ccadae72c13427 +CIPHERTEXT = 35870c6a57e9e92314bcb8087cde72ce +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = 18d8126516f8a12ab1a36d9f04d68e51 +CIPHERTEXT = 6c68e9be5ec41e22c825b7c7affb4363 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = f530357968578480b398a3c251cd1093 +CIPHERTEXT = f5df39990fc688f1b07224cc03e86cea +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = da84367f325d42d601b4326964802e8e +CIPHERTEXT = bba071bcb470f8f6586e5d3add18bc66 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = e37b1c6aa2846f6fdb413f238b089f23 +CIPHERTEXT = 43c9f7e62f5d288bb27aa40ef8fe1ea8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = 6c002b682483e0cabcc731c253be5674 +CIPHERTEXT = 3580d19cff44f1014a7c966a69059de5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = 143ae8ed6555aba96110ab58893a8ae1 +CIPHERTEXT = 806da864dd29d48deafbe764f8202aef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = b69418a85332240dc82492353956ae0c +CIPHERTEXT = a303d940ded8f0baff6f75414cac5243 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = 71b5c08a1993e1362e4d0ce9b22b78d5 +CIPHERTEXT = c2dabd117f8a3ecabfbb11d12194d9d0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = e234cdca2606b81f29408d5f6da21206 +CIPHERTEXT = fff60a4740086b3b9c56195b98d91a7b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = 13237c49074a3da078dc1d828bb78c6f +CIPHERTEXT = 8146a08e2357f0caa30ca8c94d1a0544 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = 3071a2a48fe6cbd04f1a129098e308f8 +CIPHERTEXT = 4b98e06d356deb07ebb824e5713f7be3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = 90f42ec0f68385f2ffc5dfc03a654dce +CIPHERTEXT = 7a20a53d460fc9ce0423a7a0764c6cf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = febd9a24d8b65c1c787d50a4ed3619a9 +CIPHERTEXT = f4a70d8af877f9b02b4c40df57d45b17 +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/ECBMMT128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBMMT128.rsp new file mode 100644 index 00000000..f1364c07 --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBMMT128.rsp @@ -0,0 +1,111 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS MMT test data for ECB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:26 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = edfdb257cb37cdf182c5455b0c0efebb +PLAINTEXT = 1695fe475421cace3557daca01f445ff +CIPHERTEXT = 7888beae6e7a426332a7eaa2f808e637 + +COUNT = 1 +KEY = 7723d87d773a8bbfe1ae5b081235b566 +PLAINTEXT = 1b0a69b7bc534c16cecffae02cc5323190ceb413f1db3e9f0f79ba654c54b60e +CIPHERTEXT = ad5b089515e7821087c61652dc477ab1f2cc6331a70dfc59c9ffb0c723c682f6 + +COUNT = 2 +KEY = 280afe063216a10b9cad9b2095552b16 +PLAINTEXT = 6f172bb6ec364833411841a8f9ea2051735d600538a9ea5e8cd2431a432903c1d6178988b616ed76e00036c5b28ccd8b +CIPHERTEXT = 4cc2a8f13c8c7c36ed6a814db7f26900c7e04df49cbad916ce6a44d0ae4fe7edc0b402794675b3694933ebbc356525d8 + +COUNT = 3 +KEY = ef60fb1400c83936414a25651eb51a1b +PLAINTEXT = 593559318cc66bf695e49feb42794bdfb66bce895ec222ca2609b133ecf66ac7344d13021e01e11a969c4684cbe20abae2b19d3ceb2cacd41419f21f1c865149 +CIPHERTEXT = 3ea6f4305217bd47eebe773da4b578549cac744c00cbd8f9d596d38010304bd850cc2f4b19a91c2e022eabf100266185ca2705127815dfd46efbe4ecd46a3058 + +COUNT = 4 +KEY = c5805cd1c4a7b98a715badb709720bf4 +PLAINTEXT = 84f809fc5c84652376cc0df10095bc00b9f0547fa91a2d3310a0adbc9cc6191ade2aaa6fffa5e406af7223955f9277bfb06eb1dd2bbfbefe32ab342c36302bf22bc64e1b394032bbb5f4e6744f1bcbf2 +CIPHERTEXT = a6dc096bc21b0658e416a0f679fefc6e958e9c56e3ce04fdf6e392c2db770a60d9523c255925e14a3e02a1002bf3875c2e501bac618bee1f55f9850454854eef9d693d90937cc8387b6f4c4414e2080b + +COUNT = 5 +KEY = 4c35be028e1475278346eae531cbee5c +PLAINTEXT = 7adcf4a494f6b09790c82c8bb97db62c5d3fa4032f06dfeceaad9ecb374b747bd1c08d07e78e351dc2eb99bfa714d23cffe31f5fb5a472e6e0252f35a20c304c4f6d0cf7d29c99444d40af3a00a92fc86c6444fcb80ce9765362ac1bdba0b10e +CIPHERTEXT = 22217953f71932ab4360d97ef495081559f1fcb09caca41fa0c65f7b1792b560eabe18f3b3b06ef80c41886f24c5d6d32d20427e83d8b5564d9ac7435a2842c1cf7c6fcc229eb7f518d3e0167d510efbaee39a0438fc800eb6acfc203c93280c + +COUNT = 6 +KEY = 00cc73c990d376b82246e45ea3ae2e37 +PLAINTEXT = 37a1205ea929355d2e4ee52d5e1d9cda279ae01e640287ccb153276e7e0ecf2d633cf4f2b3afaecb548a2590ce0445c6a168bac3dc601813eb74591bb1ce8dfcd740cdbb6388719e8cd283d9cc7e736938240b410dd5a6a48ba49dd2066503e63ab592ffdf3be49e7d2de74f82158b8c +CIPHERTEXT = c88e03383ba9da6f982c057fe92c0bb3ed5b9cd18295a100e13a4e12d440b919bbb8b221abead362902ce44d30d0b80e56bee1f66a7d8de0b1e1b4dbf76c90c1807a3bc5f277e9814c82ab120f7e10217dfdf6092ce4958f8906c5e32279c6537dd1fbae20cb7a1d9f89d0490b6aefc1 + +COUNT = 7 +KEY = 0a53aa7a3e4a4f364e8c6c7224af5501 +PLAINTEXT = eaf1760c0f25310dada6debeb966304db7a9f1b2d1c3af922623b263649031d299b3c56146d61d55b6ebf4cf8dd04039a4d1ace3146f49ee915f806afad64cbb2d04a64120de40382e2175dcae9480d1ca8dedc38fb64e4a40112f10f03a4c354fed01f2c5c7017dbd514b2d443a5adfd2e49c986723266cda41a69e6e459908 +CIPHERTEXT = 5ece70a44da41bc7cfb9b582ea9ce0980030ec4af331e76499961f88860aa0554aba3ecbf77ca4293a3fee854a2caf3ae800343fb4521388b16b6dc599b3d60bf82777f98e1a8d04ab9cd54dd9a248095795d4dfe4858bfd9a05f54c795bb086e15f7c22228184ec66a9ca10b1cf71a6bb9303c5cd1dcc056460a86df651f053 + +COUNT = 8 +KEY = b80bcc929052cb5450479442e2b809ce +PLAINTEXT = 8177d79c8f239178186b4dc5f1df2ea7fee7d0db535489ef983aefb3b2029aeba0bb2b46a2b18c94a1417a33cbeb41ca7ea9c73a677fccd2eb5470c3c500f6d3f1a6c755c944ba586f88921f6ae6c9d194e78c7233c406126633e144c3810ad23ee1b5af4c04a22d49e99e7017f74c2309492569ff49be17d2804920f2ac5f514d13fd3e7318cc7cf80ca5101a465428 +CIPHERTEXT = 5befb3062a7a7246af1f77b0ec0ac614e28be06ac2c81b19e5a0481bf160f9f2bc43f28f6548787639e4ce3e0f1e95475f0e81ceb793004c8e46670ebd48b866d5b43d104874ead4be8a236bf90b48f862f7e252dec4475fdbb841a662efcd25ed64b2910e9baaea9466e413a4241438b31df0bd3df9a16f4641636754e259861728aa7ddf435cc51f54f79a1db25f52 + +COUNT = 9 +KEY = ebea9c6a82213a00ac1d22faea22116f +PLAINTEXT = 451f45663b44fd005f3c288ae57b383883f02d9ad3dc1715f9e3d6948564257b9b06d7dd51935fee580a96bbdfefb918b4e6b1daac809847465578cb8b5356ed38556f801ff7c11ecba9cdd263039c15d05900fc228e1caf302d261d7fb56cee663595b96f192a78ff4455393a5fe8162170a066fdaeac35019469f22b3470686bced2f007a1a2e43e01b4562caaa502ed541b8205874ec1ffb1c8b255766942 +CIPHERTEXT = 01043053f832ef9b911ed387ba577451e30d51d4b6b11f319d4cd539d067b7f4f9b4f41f7f3d4e920c57cbe2b5e1885aa66203ae493e93a1df63793a9563c176bc6775dd09cc9161e278a01beb8fd8a19200326bd95abc5f716768e34f90b50523d30fdabb103a3bc020afbbb0cb3bd2ad512a6fea79f8d64cef347458dec48be89451cb0b807d73593f273d9fc521b789a77524404f43e00f20b3b77b938b1a + +[DECRYPT] + +COUNT = 0 +KEY = 54b760dd2968f079ac1d5dd20626445d +CIPHERTEXT = 065bd5a9540d22d5d7b0f75d66cb8b30 +PLAINTEXT = 46f2c98932349c338e9d67f744a1c988 + +COUNT = 1 +KEY = bce4c486cc4a12622b9147df9bca452c +CIPHERTEXT = 76fa67e121894dbc2ad85ae7f9c5c44d14ccee5b87d5e7708950338f5c84cf58 +PLAINTEXT = 8c8e6ed8a6bdb3baabec78189b7d61010d6d168de2c08ec56f9b9c004a191e21 + +COUNT = 2 +KEY = 279161759d29e92dc8f1fafd8d45533d +CIPHERTEXT = 1ce69ab7624fed511fb42b8fb639f566d72783f9ab49801651961b048e0f5b7cc0ebb2f514f2d625f927ccc4d5a94593 +PLAINTEXT = 8838058bd98072b72fd75641edb216301fee8323ff8c4ba18ee6a4623c2fdeb3df5f8a240a8e7e6d5ae15444614f41fb + +COUNT = 3 +KEY = 9ba852520c9fd1eb367b6ad2aed07abd +CIPHERTEXT = 6c53489f6a4bd0f7cd15d20f6ebc7e649fd95b76b107e6daba967c8a9484797f29a8a282ee31c03fae4f8e9b8930d5473c2ed695a347e88b7ccd62376d5ebb41 +PLAINTEXT = 6061df5bcd421fabdb5235fc032502650448fd8233a0237c5f6f249a63d7db3e4283ac9a8684a363ef64e760c5886564659da619466851568b32091df5516f57 + +COUNT = 4 +KEY = cd6a33abb95d7ab92980f9c2b810c90f +CIPHERTEXT = 33cb1a98ce4be97f5b222aa861c945643f372687cbf7f8193a7d304e40baceb877eedfbc05be47437a86bdb1f7f0171b95c6c8b50404a7897332f26fb0f0923991d3a02e926f29babfb52e63d580efff +PLAINTEXT = 3f098ae7e7524ddb556403c5d3d0b10e5db6c324843ca54a47e34ad9bdbccc93a645e96f2e98651751f0f1a697398ea801a69079c1808b6a8e3bb02a4cf3292f1a7a05b954571339f7899f9aaa2ae1e9 + +COUNT = 5 +KEY = ff71b9f6311a44072ddb1a77488c4870 +CIPHERTEXT = 19d76b386a7715dec7aad8bb01d126c7385a4387f087faec67718f78274cf4a2d7ec3f7c56885c930bbfff1676d8dd3b0b4e1cdf418c086de6f50700b527cfcc2a81d6ba95e30a526eb4c3dee82af6ccc8c5ab55781db15c57de90995411bff6 +PLAINTEXT = 3dfe918048f4c0b0b22fbc55e5af751cf3e6ce348eb9a888795033f6dd216afbea65fc8df41c0ce6c7316a8183d36060bf19709fe2bec6d13bbdf1a434cc5b8f10aadb368c269d2dc4474a1f8112640fe52803b1883cb7756743100a758dd862 + +COUNT = 6 +KEY = 8ec6a5a054fea2fc8dafb5939a4bd788 +CIPHERTEXT = 4d6f972946a2e4ca05bfbeecd00535ece6c81ed963c4167063b1c34b6a185d5504646d81a83cd5bce2101120b2f2bc6a2fa856ae6fff4449ab6218189faa13e73038e82c5141c3f6276a8a206b9563ca11fa76092779f4deff2e58659047ed4f1a129092095ab75f1cf4b255c69531f4 +PLAINTEXT = 6e19cec775595c2f768de3bda3682fb4026ed1889fc3de11bc45a2a3e2b22694ddaab3274c81b29204fa034eedac564a7dfe27aabb6ff420f9aa5abadf15c74676efeabd96a7ff2491813ba53cb5ab76eacd37255a28daecbbe580f5eb77f9bc0339e0da59b2b307f52974b6182cb106 + +COUNT = 7 +KEY = b53e54b1b09f78abcd6afac1f7e7cda9 +CIPHERTEXT = 447557bd1561b09a082cabdbf49b0612b46c9793db3c987aa4a843ef28b39fa8d46799b019c0566765c5c8cb53f87ff51ff0c2e65c45df84e9acbfe02163bdba52d0b847706567320bc6ede07f2eaef86b0f602364f86510eabc58bc9ad1e6f0a6f6df0b83188c01e17744a4e0053a22810e99cf5a1ed3258f203509fdc3c050 +PLAINTEXT = 398db04b45a724393e4baec86a220f22358df1bbf0cab278dcfecf7a3f8f6275ef45ed9f039bc1f5030c3a0c245fbb6ea0bff3e2da0859ac498db6624a572023de7c221bf3567f51e98947970dfc581b3ca670ab92953d3bdd97dbf5d6bef8aa2f31500d221198ed9f23b049eaeed67683083034b4a5a82a0e49319e368c6f55 + +COUNT = 8 +KEY = 9e79b681c57d7feb7db7e8a6ad41382c +CIPHERTEXT = fa2e97bed2f0b76ed2f8c1275f6d50ecfc1131240622ba9da17e5dd0f20a7d678f537ffc33762524b73e17ac3d8dc322affd679768c66ca430e3f6ab6e70b95f99570e87f02b46ff6b543efff16d339fcbead89b59fea65403bc7418737c47a301806be66fd7c307d7825da8e1d6496c3921acb7419010b60350fea069f4cf3bb017bfa11a424344e3109d30778fad90 +PLAINTEXT = a2e19c08fa204640b1bc73beac58f81a7923f3ef2a0affcf1568c9179d816cf1bd16b79418f0266f0ff904e06045f276df187ed72b8f6641b065b854a7d3f152b8e153cd77ec605e5b75454245745dc0e0dcfc616f5246f868b6ee5a1df56c4906c5c34bc42309d370733e50d9a1addc3f37cbe4b331ac7d3a920c794484a16b05599f46f42046a6dc9063b1d5a8ae1f + +COUNT = 9 +KEY = 44f0ee626d0446e0a3924cfb078944bb +CIPHERTEXT = 931b2f5f3a5820d53a6beaaa6431083a3488f4eb03b0f5b57ef838e1579623103bd6e6800377538b2e51ef708f3c4956432e8a8ee6a34e190642b26ad8bdae6c2af9a6c7996f3b6004d2671e41f1c9f40ee03d1c4a52b0a0654a331f15f34dce4acb96bd6507815ca4347a3de11a311b7de5351c9787c4538158e28974ffa83d8296dfe9cd09cd87f7bf4f54d97d28d4788799163408323943b3e72f5eab66c1 +PLAINTEXT = 9c29eecb2de04254fafb896a994102d1da30ddb49d82728eb23dbd029901e9b75b3d0aee03f7a05f6c852d8fada0b5c28e8c9aed334fad11829df3dfadc5c2e471eb41af9e48a8a465e03d5ebdb0216915081f3b5a0ebb2308dfc2d28e5a8ba3f32adae4c3575921bc657b63d46ba5a618880ee9ad8af3fba5643a5026facd7d667ce599327f936cdda7e1bb742a33a019990b76be648a6ec725daed540ed9e7 + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/ECBVarKey128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBVarKey128.rsp new file mode 100644 index 00000000..0d7fa96f --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBVarKey128.rsp @@ -0,0 +1,1291 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarKey test data for ECB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:26 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a + +COUNT = 6 +KEY = fe000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b + +COUNT = 12 +KEY = fff80000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +PLAINTEXT = 00000000000000000000000000000000 +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c + +[DECRYPT] + +COUNT = 0 +KEY = 80000000000000000000000000000000 +CIPHERTEXT = 0edd33d3c621e546455bd8ba1418bec8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 1 +KEY = c0000000000000000000000000000000 +CIPHERTEXT = 4bc3f883450c113c64ca42e1112a9e87 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 2 +KEY = e0000000000000000000000000000000 +CIPHERTEXT = 72a1da770f5d7ac4c9ef94d822affd97 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 3 +KEY = f0000000000000000000000000000000 +CIPHERTEXT = 970014d634e2b7650777e8e84d03ccd8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 4 +KEY = f8000000000000000000000000000000 +CIPHERTEXT = f17e79aed0db7e279e955b5f493875a7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 5 +KEY = fc000000000000000000000000000000 +CIPHERTEXT = 9ed5a75136a940d0963da379db4af26a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 6 +KEY = fe000000000000000000000000000000 +CIPHERTEXT = c4295f83465c7755e8fa364bac6a7ea5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 7 +KEY = ff000000000000000000000000000000 +CIPHERTEXT = b1d758256b28fd850ad4944208cf1155 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 8 +KEY = ff800000000000000000000000000000 +CIPHERTEXT = 42ffb34c743de4d88ca38011c990890b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 9 +KEY = ffc00000000000000000000000000000 +CIPHERTEXT = 9958f0ecea8b2172c0c1995f9182c0f3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 10 +KEY = ffe00000000000000000000000000000 +CIPHERTEXT = 956d7798fac20f82a8823f984d06f7f5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 11 +KEY = fff00000000000000000000000000000 +CIPHERTEXT = a01bf44f2d16be928ca44aaf7b9b106b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 12 +KEY = fff80000000000000000000000000000 +CIPHERTEXT = b5f1a33e50d40d103764c76bd4c6b6f8 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 13 +KEY = fffc0000000000000000000000000000 +CIPHERTEXT = 2637050c9fc0d4817e2d69de878aee8d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 14 +KEY = fffe0000000000000000000000000000 +CIPHERTEXT = 113ecbe4a453269a0dd26069467fb5b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 15 +KEY = ffff0000000000000000000000000000 +CIPHERTEXT = 97d0754fe68f11b9e375d070a608c884 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 16 +KEY = ffff8000000000000000000000000000 +CIPHERTEXT = c6a0b3e998d05068a5399778405200b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 17 +KEY = ffffc000000000000000000000000000 +CIPHERTEXT = df556a33438db87bc41b1752c55e5e49 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 18 +KEY = ffffe000000000000000000000000000 +CIPHERTEXT = 90fb128d3a1af6e548521bb962bf1f05 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 19 +KEY = fffff000000000000000000000000000 +CIPHERTEXT = 26298e9c1db517c215fadfb7d2a8d691 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 20 +KEY = fffff800000000000000000000000000 +CIPHERTEXT = a6cb761d61f8292d0df393a279ad0380 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 21 +KEY = fffffc00000000000000000000000000 +CIPHERTEXT = 12acd89b13cd5f8726e34d44fd486108 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 22 +KEY = fffffe00000000000000000000000000 +CIPHERTEXT = 95b1703fc57ba09fe0c3580febdd7ed4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 23 +KEY = ffffff00000000000000000000000000 +CIPHERTEXT = de11722d893e9f9121c381becc1da59a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 24 +KEY = ffffff80000000000000000000000000 +CIPHERTEXT = 6d114ccb27bf391012e8974c546d9bf2 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 25 +KEY = ffffffc0000000000000000000000000 +CIPHERTEXT = 5ce37e17eb4646ecfac29b9cc38d9340 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 26 +KEY = ffffffe0000000000000000000000000 +CIPHERTEXT = 18c1b6e2157122056d0243d8a165cddb +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 27 +KEY = fffffff0000000000000000000000000 +CIPHERTEXT = 99693e6a59d1366c74d823562d7e1431 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 28 +KEY = fffffff8000000000000000000000000 +CIPHERTEXT = 6c7c64dc84a8bba758ed17eb025a57e3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 29 +KEY = fffffffc000000000000000000000000 +CIPHERTEXT = e17bc79f30eaab2fac2cbbe3458d687a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 30 +KEY = fffffffe000000000000000000000000 +CIPHERTEXT = 1114bc2028009b923f0b01915ce5e7c4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 31 +KEY = ffffffff000000000000000000000000 +CIPHERTEXT = 9c28524a16a1e1c1452971caa8d13476 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 32 +KEY = ffffffff800000000000000000000000 +CIPHERTEXT = ed62e16363638360fdd6ad62112794f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 33 +KEY = ffffffffc00000000000000000000000 +CIPHERTEXT = 5a8688f0b2a2c16224c161658ffd4044 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 34 +KEY = ffffffffe00000000000000000000000 +CIPHERTEXT = 23f710842b9bb9c32f26648c786807ca +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 35 +KEY = fffffffff00000000000000000000000 +CIPHERTEXT = 44a98bf11e163f632c47ec6a49683a89 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 36 +KEY = fffffffff80000000000000000000000 +CIPHERTEXT = 0f18aff94274696d9b61848bd50ac5e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 37 +KEY = fffffffffc0000000000000000000000 +CIPHERTEXT = 82408571c3e2424540207f833b6dda69 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 38 +KEY = fffffffffe0000000000000000000000 +CIPHERTEXT = 303ff996947f0c7d1f43c8f3027b9b75 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 39 +KEY = ffffffffff0000000000000000000000 +CIPHERTEXT = 7df4daf4ad29a3615a9b6ece5c99518a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 40 +KEY = ffffffffff8000000000000000000000 +CIPHERTEXT = c72954a48d0774db0b4971c526260415 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 41 +KEY = ffffffffffc000000000000000000000 +CIPHERTEXT = 1df9b76112dc6531e07d2cfda04411f0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 42 +KEY = ffffffffffe000000000000000000000 +CIPHERTEXT = 8e4d8e699119e1fc87545a647fb1d34f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 43 +KEY = fffffffffff000000000000000000000 +CIPHERTEXT = e6c4807ae11f36f091c57d9fb68548d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 44 +KEY = fffffffffff800000000000000000000 +CIPHERTEXT = 8ebf73aad49c82007f77a5c1ccec6ab4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 45 +KEY = fffffffffffc00000000000000000000 +CIPHERTEXT = 4fb288cc2040049001d2c7585ad123fc +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 46 +KEY = fffffffffffe00000000000000000000 +CIPHERTEXT = 04497110efb9dceb13e2b13fb4465564 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 47 +KEY = ffffffffffff00000000000000000000 +CIPHERTEXT = 75550e6cb5a88e49634c9ab69eda0430 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 48 +KEY = ffffffffffff80000000000000000000 +CIPHERTEXT = b6768473ce9843ea66a81405dd50b345 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 49 +KEY = ffffffffffffc0000000000000000000 +CIPHERTEXT = cb2f430383f9084e03a653571e065de6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 50 +KEY = ffffffffffffe0000000000000000000 +CIPHERTEXT = ff4e66c07bae3e79fb7d210847a3b0ba +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 51 +KEY = fffffffffffff0000000000000000000 +CIPHERTEXT = 7b90785125505fad59b13c186dd66ce3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 52 +KEY = fffffffffffff8000000000000000000 +CIPHERTEXT = 8b527a6aebdaec9eaef8eda2cb7783e5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 53 +KEY = fffffffffffffc000000000000000000 +CIPHERTEXT = 43fdaf53ebbc9880c228617d6a9b548b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 54 +KEY = fffffffffffffe000000000000000000 +CIPHERTEXT = 53786104b9744b98f052c46f1c850d0b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 55 +KEY = ffffffffffffff000000000000000000 +CIPHERTEXT = b5ab3013dd1e61df06cbaf34ca2aee78 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 56 +KEY = ffffffffffffff800000000000000000 +CIPHERTEXT = 7470469be9723030fdcc73a8cd4fbb10 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 57 +KEY = ffffffffffffffc00000000000000000 +CIPHERTEXT = a35a63f5343ebe9ef8167bcb48ad122e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 58 +KEY = ffffffffffffffe00000000000000000 +CIPHERTEXT = fd8687f0757a210e9fdf181204c30863 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 59 +KEY = fffffffffffffff00000000000000000 +CIPHERTEXT = 7a181e84bd5457d26a88fbae96018fb0 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 60 +KEY = fffffffffffffff80000000000000000 +CIPHERTEXT = 653317b9362b6f9b9e1a580e68d494b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 61 +KEY = fffffffffffffffc0000000000000000 +CIPHERTEXT = 995c9dc0b689f03c45867b5faa5c18d1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 62 +KEY = fffffffffffffffe0000000000000000 +CIPHERTEXT = 77a4d96d56dda398b9aabecfc75729fd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 63 +KEY = ffffffffffffffff0000000000000000 +CIPHERTEXT = 84be19e053635f09f2665e7bae85b42d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 64 +KEY = ffffffffffffffff8000000000000000 +CIPHERTEXT = 32cd652842926aea4aa6137bb2be2b5e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 65 +KEY = ffffffffffffffffc000000000000000 +CIPHERTEXT = 493d4a4f38ebb337d10aa84e9171a554 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 66 +KEY = ffffffffffffffffe000000000000000 +CIPHERTEXT = d9bff7ff454b0ec5a4a2a69566e2cb84 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 67 +KEY = fffffffffffffffff000000000000000 +CIPHERTEXT = 3535d565ace3f31eb249ba2cc6765d7a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 68 +KEY = fffffffffffffffff800000000000000 +CIPHERTEXT = f60e91fc3269eecf3231c6e9945697c6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 69 +KEY = fffffffffffffffffc00000000000000 +CIPHERTEXT = ab69cfadf51f8e604d9cc37182f6635a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 70 +KEY = fffffffffffffffffe00000000000000 +CIPHERTEXT = 7866373f24a0b6ed56e0d96fcdafb877 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 71 +KEY = ffffffffffffffffff00000000000000 +CIPHERTEXT = 1ea448c2aac954f5d812e9d78494446a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 72 +KEY = ffffffffffffffffff80000000000000 +CIPHERTEXT = acc5599dd8ac02239a0fef4a36dd1668 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 73 +KEY = ffffffffffffffffffc0000000000000 +CIPHERTEXT = d8764468bb103828cf7e1473ce895073 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 74 +KEY = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 1b0d02893683b9f180458e4aa6b73982 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 75 +KEY = fffffffffffffffffff0000000000000 +CIPHERTEXT = 96d9b017d302df410a937dcdb8bb6e43 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 76 +KEY = fffffffffffffffffff8000000000000 +CIPHERTEXT = ef1623cc44313cff440b1594a7e21cc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 77 +KEY = fffffffffffffffffffc000000000000 +CIPHERTEXT = 284ca2fa35807b8b0ae4d19e11d7dbd7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 78 +KEY = fffffffffffffffffffe000000000000 +CIPHERTEXT = f2e976875755f9401d54f36e2a23a594 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 79 +KEY = ffffffffffffffffffff000000000000 +CIPHERTEXT = ec198a18e10e532403b7e20887c8dd80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 80 +KEY = ffffffffffffffffffff800000000000 +CIPHERTEXT = 545d50ebd919e4a6949d96ad47e46a80 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 81 +KEY = ffffffffffffffffffffc00000000000 +CIPHERTEXT = dbdfb527060e0a71009c7bb0c68f1d44 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 82 +KEY = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 9cfa1322ea33da2173a024f2ff0d896d +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 83 +KEY = fffffffffffffffffffff00000000000 +CIPHERTEXT = 8785b1a75b0f3bd958dcd0e29318c521 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 84 +KEY = fffffffffffffffffffff80000000000 +CIPHERTEXT = 38f67b9e98e4a97b6df030a9fcdd0104 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 85 +KEY = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 192afffb2c880e82b05926d0fc6c448b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 86 +KEY = fffffffffffffffffffffe0000000000 +CIPHERTEXT = 6a7980ce7b105cf530952d74daaf798c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 87 +KEY = ffffffffffffffffffffff0000000000 +CIPHERTEXT = ea3695e1351b9d6858bd958cf513ef6c +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 88 +KEY = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 6da0490ba0ba0343b935681d2cce5ba1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 89 +KEY = ffffffffffffffffffffffc000000000 +CIPHERTEXT = f0ea23af08534011c60009ab29ada2f1 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 90 +KEY = ffffffffffffffffffffffe000000000 +CIPHERTEXT = ff13806cf19cc38721554d7c0fcdcd4b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 91 +KEY = fffffffffffffffffffffff000000000 +CIPHERTEXT = 6838af1f4f69bae9d85dd188dcdf0688 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 92 +KEY = fffffffffffffffffffffff800000000 +CIPHERTEXT = 36cf44c92d550bfb1ed28ef583ddf5d7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 93 +KEY = fffffffffffffffffffffffc00000000 +CIPHERTEXT = d06e3195b5376f109d5c4ec6c5d62ced +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 94 +KEY = fffffffffffffffffffffffe00000000 +CIPHERTEXT = c440de014d3d610707279b13242a5c36 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 95 +KEY = ffffffffffffffffffffffff00000000 +CIPHERTEXT = f0c5c6ffa5e0bd3a94c88f6b6f7c16b9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 96 +KEY = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 3e40c3901cd7effc22bffc35dee0b4d9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 97 +KEY = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = b63305c72bedfab97382c406d0c49bc6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 98 +KEY = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 36bbaab22a6bd4925a99a2b408d2dbae +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 99 +KEY = fffffffffffffffffffffffff0000000 +CIPHERTEXT = 307c5b8fcd0533ab98bc51e27a6ce461 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 100 +KEY = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 829c04ff4c07513c0b3ef05c03e337b5 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 101 +KEY = fffffffffffffffffffffffffc000000 +CIPHERTEXT = f17af0e895dda5eb98efc68066e84c54 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 102 +KEY = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 277167f3812afff1ffacb4a934379fc3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 103 +KEY = ffffffffffffffffffffffffff000000 +CIPHERTEXT = 2cb1dc3a9c72972e425ae2ef3eb597cd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 104 +KEY = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 36aeaa3a213e968d4b5b679d3a2c97fe +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 105 +KEY = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 9241daca4fdd034a82372db50e1a0f3f +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 106 +KEY = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = c14574d9cd00cf2b5a7f77e53cd57885 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 107 +KEY = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 793de39236570aba83ab9b737cb521c9 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 108 +KEY = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 16591c0f27d60e29b85a96c33861a7ef +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 109 +KEY = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 44fb5c4d4f5cb79be5c174a3b1c97348 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 110 +KEY = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = 674d2b61633d162be59dde04222f4740 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 111 +KEY = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = b4750ff263a65e1f9e924ccfd98f3e37 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 112 +KEY = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 62d0662d6eaeddedebae7f7ea3a4f6b6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 113 +KEY = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = 70c46bb30692be657f7eaa93ebad9897 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 114 +KEY = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 323994cfb9da285a5d9642e1759b224a +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 115 +KEY = fffffffffffffffffffffffffffff000 +CIPHERTEXT = 1dbf57877b7b17385c85d0b54851e371 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 116 +KEY = fffffffffffffffffffffffffffff800 +CIPHERTEXT = dfa5c097cdc1532ac071d57b1d28d1bd +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 117 +KEY = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = 3a0c53fa37311fc10bd2a9981f513174 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 118 +KEY = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = ba4f970c0a25c41814bdae2e506be3b4 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 119 +KEY = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 2dce3acb727cd13ccd76d425ea56e4f6 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 120 +KEY = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = 5160474d504b9b3eefb68d35f245f4b3 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 121 +KEY = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 41a8a947766635dec37553d9a6c0cbb7 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 122 +KEY = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 25d6cfe6881f2bf497dd14cd4ddf445b +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 123 +KEY = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = 41c78c135ed9e98c096640647265da1e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 124 +KEY = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = 5a4d404d8917e353e92a21072c3b2305 +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 125 +KEY = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 02bc96846b3fdc71643f384cd3cc3eaf +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 126 +KEY = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 9ba4a9143f4e5d4048521c4f8877d88e +PLAINTEXT = 00000000000000000000000000000000 + +COUNT = 127 +KEY = ffffffffffffffffffffffffffffffff +CIPHERTEXT = a1f6258c877d5fcd8964484538bfc92c +PLAINTEXT = 00000000000000000000000000000000 + diff --git a/tests/LibHac.Tests/CryptoTests/TestVectors/ECBVarTxt128.rsp b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBVarTxt128.rsp new file mode 100644 index 00000000..9808157b --- /dev/null +++ b/tests/LibHac.Tests/CryptoTests/TestVectors/ECBVarTxt128.rsp @@ -0,0 +1,1291 @@ +# CAVS 11.1 +# Config info for aes_values +# AESVS VarTxt test data for ECB +# State : Encrypt and Decrypt +# Key Length : 128 +# Generated on Fri Apr 22 15:11:26 2011 + +[ENCRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +PLAINTEXT = 80000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +PLAINTEXT = c0000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +PLAINTEXT = e0000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +PLAINTEXT = f0000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +PLAINTEXT = f8000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fc000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fe000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a + +COUNT = 7 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ff000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b + +COUNT = 8 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ff800000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f + +COUNT = 9 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffc00000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a + +COUNT = 10 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffe00000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fff00000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fff80000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f + +COUNT = 13 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffc0000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffe0000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffff0000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a + +COUNT = 16 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffff8000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffc000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b + +COUNT = 18 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffe000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b + +COUNT = 19 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffff000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffff800000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffc00000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffe00000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffff00000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b + +COUNT = 24 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffff80000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffc0000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffe0000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffff0000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffff8000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffc000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffe000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a + +COUNT = 31 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffff000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffff800000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f + +COUNT = 33 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffc00000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce + +COUNT = 34 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffe00000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f + +COUNT = 35 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffff00000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea + +COUNT = 36 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffff80000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c + +COUNT = 37 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffc0000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffe0000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff0000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffff8000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffc000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffe000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffff800000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffc00000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffe00000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff00000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffff80000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffc0000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f + +COUNT = 50 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffe0000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f + +COUNT = 51 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff0000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffff8000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffc000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c + +COUNT = 54 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffe000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b + +COUNT = 56 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffff800000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a + +COUNT = 57 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffc00000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a + +COUNT = 58 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffe00000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff00000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffff80000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f + +COUNT = 61 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffc0000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffe0000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c + +COUNT = 63 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff0000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e + +COUNT = 64 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffff8000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffc000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffe000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc + +COUNT = 67 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffff800000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffc00000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffe00000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff00000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e + +COUNT = 72 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffff80000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf + +COUNT = 73 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffc0000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f + +COUNT = 74 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffe0000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff0000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a + +COUNT = 76 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffff8000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffc000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffe000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b + +COUNT = 80 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffff800000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffc00000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffe00000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff00000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffff80000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed + +COUNT = 85 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffc0000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffe0000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff0000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffff8000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffc000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffe000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffff800000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffc00000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f + +COUNT = 94 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffe00000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f + +COUNT = 95 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff00000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffff80000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffc0000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffe0000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff0000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffff8000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a + +COUNT = 101 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffc000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffe000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffff800000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffc00000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffe00000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff00000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffff80000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c + +COUNT = 109 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffc0000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffe0000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff0000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffff8000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d + +COUNT = 113 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffc000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffe000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba + +COUNT = 116 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffff800 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffc00 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee + +COUNT = 118 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffe00 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f + +COUNT = 119 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff00 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffff80 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc + +COUNT = 121 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffc0 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffe0 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb + +COUNT = 123 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff0 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffff8 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e + +COUNT = 125 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffc +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 + +COUNT = 126 +KEY = 00000000000000000000000000000000 +PLAINTEXT = fffffffffffffffffffffffffffffffe +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 + +COUNT = 127 +KEY = 00000000000000000000000000000000 +PLAINTEXT = ffffffffffffffffffffffffffffffff +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e + +[DECRYPT] + +COUNT = 0 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3ad78e726c1ec02b7ebfe92b23d9ec34 +PLAINTEXT = 80000000000000000000000000000000 + +COUNT = 1 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = aae5939c8efdf2f04e60b9fe7117b2c2 +PLAINTEXT = c0000000000000000000000000000000 + +COUNT = 2 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = f031d4d74f5dcbf39daaf8ca3af6e527 +PLAINTEXT = e0000000000000000000000000000000 + +COUNT = 3 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 96d9fd5cc4f07441727df0f33e401a36 +PLAINTEXT = f0000000000000000000000000000000 + +COUNT = 4 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 30ccdb044646d7e1f3ccea3dca08b8c0 +PLAINTEXT = f8000000000000000000000000000000 + +COUNT = 5 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 16ae4ce5042a67ee8e177b7c587ecc82 +PLAINTEXT = fc000000000000000000000000000000 + +COUNT = 6 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = b6da0bb11a23855d9c5cb1b4c6412e0a +PLAINTEXT = fe000000000000000000000000000000 + +COUNT = 7 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = db4f1aa530967d6732ce4715eb0ee24b +PLAINTEXT = ff000000000000000000000000000000 + +COUNT = 8 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = a81738252621dd180a34f3455b4baa2f +PLAINTEXT = ff800000000000000000000000000000 + +COUNT = 9 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 77e2b508db7fd89234caf7939ee5621a +PLAINTEXT = ffc00000000000000000000000000000 + +COUNT = 10 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = b8499c251f8442ee13f0933b688fcd19 +PLAINTEXT = ffe00000000000000000000000000000 + +COUNT = 11 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 965135f8a81f25c9d630b17502f68e53 +PLAINTEXT = fff00000000000000000000000000000 + +COUNT = 12 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 8b87145a01ad1c6cede995ea3670454f +PLAINTEXT = fff80000000000000000000000000000 + +COUNT = 13 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 8eae3b10a0c8ca6d1d3b0fa61e56b0b2 +PLAINTEXT = fffc0000000000000000000000000000 + +COUNT = 14 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 64b4d629810fda6bafdf08f3b0d8d2c5 +PLAINTEXT = fffe0000000000000000000000000000 + +COUNT = 15 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = d7e5dbd3324595f8fdc7d7c571da6c2a +PLAINTEXT = ffff0000000000000000000000000000 + +COUNT = 16 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = f3f72375264e167fca9de2c1527d9606 +PLAINTEXT = ffff8000000000000000000000000000 + +COUNT = 17 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 8ee79dd4f401ff9b7ea945d86666c13b +PLAINTEXT = ffffc000000000000000000000000000 + +COUNT = 18 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = dd35cea2799940b40db3f819cb94c08b +PLAINTEXT = ffffe000000000000000000000000000 + +COUNT = 19 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 6941cb6b3e08c2b7afa581ebdd607b87 +PLAINTEXT = fffff000000000000000000000000000 + +COUNT = 20 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 2c20f439f6bb097b29b8bd6d99aad799 +PLAINTEXT = fffff800000000000000000000000000 + +COUNT = 21 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 625d01f058e565f77ae86378bd2c49b3 +PLAINTEXT = fffffc00000000000000000000000000 + +COUNT = 22 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = c0b5fd98190ef45fbb4301438d095950 +PLAINTEXT = fffffe00000000000000000000000000 + +COUNT = 23 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 13001ff5d99806efd25da34f56be854b +PLAINTEXT = ffffff00000000000000000000000000 + +COUNT = 24 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3b594c60f5c8277a5113677f94208d82 +PLAINTEXT = ffffff80000000000000000000000000 + +COUNT = 25 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = e9c0fc1818e4aa46bd2e39d638f89e05 +PLAINTEXT = ffffffc0000000000000000000000000 + +COUNT = 26 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = f8023ee9c3fdc45a019b4e985c7e1a54 +PLAINTEXT = ffffffe0000000000000000000000000 + +COUNT = 27 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 35f40182ab4662f3023baec1ee796b57 +PLAINTEXT = fffffff0000000000000000000000000 + +COUNT = 28 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3aebbad7303649b4194a6945c6cc3694 +PLAINTEXT = fffffff8000000000000000000000000 + +COUNT = 29 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = a2124bea53ec2834279bed7f7eb0f938 +PLAINTEXT = fffffffc000000000000000000000000 + +COUNT = 30 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = b9fb4399fa4facc7309e14ec98360b0a +PLAINTEXT = fffffffe000000000000000000000000 + +COUNT = 31 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = c26277437420c5d634f715aea81a9132 +PLAINTEXT = ffffffff000000000000000000000000 + +COUNT = 32 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 171a0e1b2dd424f0e089af2c4c10f32f +PLAINTEXT = ffffffff800000000000000000000000 + +COUNT = 33 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 7cadbe402d1b208fe735edce00aee7ce +PLAINTEXT = ffffffffc00000000000000000000000 + +COUNT = 34 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 43b02ff929a1485af6f5c6d6558baa0f +PLAINTEXT = ffffffffe00000000000000000000000 + +COUNT = 35 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 092faacc9bf43508bf8fa8613ca75dea +PLAINTEXT = fffffffff00000000000000000000000 + +COUNT = 36 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = cb2bf8280f3f9742c7ed513fe802629c +PLAINTEXT = fffffffff80000000000000000000000 + +COUNT = 37 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 215a41ee442fa992a6e323986ded3f68 +PLAINTEXT = fffffffffc0000000000000000000000 + +COUNT = 38 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = f21e99cf4f0f77cea836e11a2fe75fb1 +PLAINTEXT = fffffffffe0000000000000000000000 + +COUNT = 39 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 95e3a0ca9079e646331df8b4e70d2cd6 +PLAINTEXT = ffffffffff0000000000000000000000 + +COUNT = 40 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 4afe7f120ce7613f74fc12a01a828073 +PLAINTEXT = ffffffffff8000000000000000000000 + +COUNT = 41 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 827f000e75e2c8b9d479beed913fe678 +PLAINTEXT = ffffffffffc000000000000000000000 + +COUNT = 42 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 35830c8e7aaefe2d30310ef381cbf691 +PLAINTEXT = ffffffffffe000000000000000000000 + +COUNT = 43 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 191aa0f2c8570144f38657ea4085ebe5 +PLAINTEXT = fffffffffff000000000000000000000 + +COUNT = 44 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 85062c2c909f15d9269b6c18ce99c4f0 +PLAINTEXT = fffffffffff800000000000000000000 + +COUNT = 45 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 678034dc9e41b5a560ed239eeab1bc78 +PLAINTEXT = fffffffffffc00000000000000000000 + +COUNT = 46 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = c2f93a4ce5ab6d5d56f1b93cf19911c1 +PLAINTEXT = fffffffffffe00000000000000000000 + +COUNT = 47 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 1c3112bcb0c1dcc749d799743691bf82 +PLAINTEXT = ffffffffffff00000000000000000000 + +COUNT = 48 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 00c55bd75c7f9c881989d3ec1911c0d4 +PLAINTEXT = ffffffffffff80000000000000000000 + +COUNT = 49 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = ea2e6b5ef182b7dff3629abd6a12045f +PLAINTEXT = ffffffffffffc0000000000000000000 + +COUNT = 50 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 22322327e01780b17397f24087f8cc6f +PLAINTEXT = ffffffffffffe0000000000000000000 + +COUNT = 51 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = c9cacb5cd11692c373b2411768149ee7 +PLAINTEXT = fffffffffffff0000000000000000000 + +COUNT = 52 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = a18e3dbbca577860dab6b80da3139256 +PLAINTEXT = fffffffffffff8000000000000000000 + +COUNT = 53 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 79b61c37bf328ecca8d743265a3d425c +PLAINTEXT = fffffffffffffc000000000000000000 + +COUNT = 54 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = d2d99c6bcc1f06fda8e27e8ae3f1ccc7 +PLAINTEXT = fffffffffffffe000000000000000000 + +COUNT = 55 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 1bfd4b91c701fd6b61b7f997829d663b +PLAINTEXT = ffffffffffffff000000000000000000 + +COUNT = 56 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 11005d52f25f16bdc9545a876a63490a +PLAINTEXT = ffffffffffffff800000000000000000 + +COUNT = 57 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3a4d354f02bb5a5e47d39666867f246a +PLAINTEXT = ffffffffffffffc00000000000000000 + +COUNT = 58 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = d451b8d6e1e1a0ebb155fbbf6e7b7dc3 +PLAINTEXT = ffffffffffffffe00000000000000000 + +COUNT = 59 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 6898d4f42fa7ba6a10ac05e87b9f2080 +PLAINTEXT = fffffffffffffff00000000000000000 + +COUNT = 60 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = b611295e739ca7d9b50f8e4c0e754a3f +PLAINTEXT = fffffffffffffff80000000000000000 + +COUNT = 61 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 7d33fc7d8abe3ca1936759f8f5deaf20 +PLAINTEXT = fffffffffffffffc0000000000000000 + +COUNT = 62 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3b5e0f566dc96c298f0c12637539b25c +PLAINTEXT = fffffffffffffffe0000000000000000 + +COUNT = 63 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = f807c3e7985fe0f5a50e2cdb25c5109e +PLAINTEXT = ffffffffffffffff0000000000000000 + +COUNT = 64 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 41f992a856fb278b389a62f5d274d7e9 +PLAINTEXT = ffffffffffffffff8000000000000000 + +COUNT = 65 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 10d3ed7a6fe15ab4d91acbc7d0767ab1 +PLAINTEXT = ffffffffffffffffc000000000000000 + +COUNT = 66 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 21feecd45b2e675973ac33bf0c5424fc +PLAINTEXT = ffffffffffffffffe000000000000000 + +COUNT = 67 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 1480cb3955ba62d09eea668f7c708817 +PLAINTEXT = fffffffffffffffff000000000000000 + +COUNT = 68 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 66404033d6b72b609354d5496e7eb511 +PLAINTEXT = fffffffffffffffff800000000000000 + +COUNT = 69 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 1c317a220a7d700da2b1e075b00266e1 +PLAINTEXT = fffffffffffffffffc00000000000000 + +COUNT = 70 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = ab3b89542233f1271bf8fd0c0f403545 +PLAINTEXT = fffffffffffffffffe00000000000000 + +COUNT = 71 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = d93eae966fac46dca927d6b114fa3f9e +PLAINTEXT = ffffffffffffffffff00000000000000 + +COUNT = 72 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 1bdec521316503d9d5ee65df3ea94ddf +PLAINTEXT = ffffffffffffffffff80000000000000 + +COUNT = 73 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = eef456431dea8b4acf83bdae3717f75f +PLAINTEXT = ffffffffffffffffffc0000000000000 + +COUNT = 74 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 06f2519a2fafaa596bfef5cfa15c21b9 +PLAINTEXT = ffffffffffffffffffe0000000000000 + +COUNT = 75 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 251a7eac7e2fe809e4aa8d0d7012531a +PLAINTEXT = fffffffffffffffffff0000000000000 + +COUNT = 76 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3bffc16e4c49b268a20f8d96a60b4058 +PLAINTEXT = fffffffffffffffffff8000000000000 + +COUNT = 77 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = e886f9281999c5bb3b3e8862e2f7c988 +PLAINTEXT = fffffffffffffffffffc000000000000 + +COUNT = 78 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 563bf90d61beef39f48dd625fcef1361 +PLAINTEXT = fffffffffffffffffffe000000000000 + +COUNT = 79 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 4d37c850644563c69fd0acd9a049325b +PLAINTEXT = ffffffffffffffffffff000000000000 + +COUNT = 80 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = b87c921b91829ef3b13ca541ee1130a6 +PLAINTEXT = ffffffffffffffffffff800000000000 + +COUNT = 81 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 2e65eb6b6ea383e109accce8326b0393 +PLAINTEXT = ffffffffffffffffffffc00000000000 + +COUNT = 82 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 9ca547f7439edc3e255c0f4d49aa8990 +PLAINTEXT = ffffffffffffffffffffe00000000000 + +COUNT = 83 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = a5e652614c9300f37816b1f9fd0c87f9 +PLAINTEXT = fffffffffffffffffffff00000000000 + +COUNT = 84 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 14954f0b4697776f44494fe458d814ed +PLAINTEXT = fffffffffffffffffffff80000000000 + +COUNT = 85 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 7c8d9ab6c2761723fe42f8bb506cbcf7 +PLAINTEXT = fffffffffffffffffffffc0000000000 + +COUNT = 86 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = db7e1932679fdd99742aab04aa0d5a80 +PLAINTEXT = fffffffffffffffffffffe0000000000 + +COUNT = 87 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 4c6a1c83e568cd10f27c2d73ded19c28 +PLAINTEXT = ffffffffffffffffffffff0000000000 + +COUNT = 88 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 90ecbe6177e674c98de412413f7ac915 +PLAINTEXT = ffffffffffffffffffffff8000000000 + +COUNT = 89 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 90684a2ac55fe1ec2b8ebd5622520b73 +PLAINTEXT = ffffffffffffffffffffffc000000000 + +COUNT = 90 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 7472f9a7988607ca79707795991035e6 +PLAINTEXT = ffffffffffffffffffffffe000000000 + +COUNT = 91 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 56aff089878bf3352f8df172a3ae47d8 +PLAINTEXT = fffffffffffffffffffffff000000000 + +COUNT = 92 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 65c0526cbe40161b8019a2a3171abd23 +PLAINTEXT = fffffffffffffffffffffff800000000 + +COUNT = 93 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 377be0be33b4e3e310b4aabda173f84f +PLAINTEXT = fffffffffffffffffffffffc00000000 + +COUNT = 94 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 9402e9aa6f69de6504da8d20c4fcaa2f +PLAINTEXT = fffffffffffffffffffffffe00000000 + +COUNT = 95 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 123c1f4af313ad8c2ce648b2e71fb6e1 +PLAINTEXT = ffffffffffffffffffffffff00000000 + +COUNT = 96 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 1ffc626d30203dcdb0019fb80f726cf4 +PLAINTEXT = ffffffffffffffffffffffff80000000 + +COUNT = 97 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 76da1fbe3a50728c50fd2e621b5ad885 +PLAINTEXT = ffffffffffffffffffffffffc0000000 + +COUNT = 98 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 082eb8be35f442fb52668e16a591d1d6 +PLAINTEXT = ffffffffffffffffffffffffe0000000 + +COUNT = 99 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = e656f9ecf5fe27ec3e4a73d00c282fb3 +PLAINTEXT = fffffffffffffffffffffffff0000000 + +COUNT = 100 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 2ca8209d63274cd9a29bb74bcd77683a +PLAINTEXT = fffffffffffffffffffffffff8000000 + +COUNT = 101 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 79bf5dce14bb7dd73a8e3611de7ce026 +PLAINTEXT = fffffffffffffffffffffffffc000000 + +COUNT = 102 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3c849939a5d29399f344c4a0eca8a576 +PLAINTEXT = fffffffffffffffffffffffffe000000 + +COUNT = 103 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = ed3c0a94d59bece98835da7aa4f07ca2 +PLAINTEXT = ffffffffffffffffffffffffff000000 + +COUNT = 104 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 63919ed4ce10196438b6ad09d99cd795 +PLAINTEXT = ffffffffffffffffffffffffff800000 + +COUNT = 105 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 7678f3a833f19fea95f3c6029e2bc610 +PLAINTEXT = ffffffffffffffffffffffffffc00000 + +COUNT = 106 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3aa426831067d36b92be7c5f81c13c56 +PLAINTEXT = ffffffffffffffffffffffffffe00000 + +COUNT = 107 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 9272e2d2cdd11050998c845077a30ea0 +PLAINTEXT = fffffffffffffffffffffffffff00000 + +COUNT = 108 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 088c4b53f5ec0ff814c19adae7f6246c +PLAINTEXT = fffffffffffffffffffffffffff80000 + +COUNT = 109 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 4010a5e401fdf0a0354ddbcc0d012b17 +PLAINTEXT = fffffffffffffffffffffffffffc0000 + +COUNT = 110 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = a87a385736c0a6189bd6589bd8445a93 +PLAINTEXT = fffffffffffffffffffffffffffe0000 + +COUNT = 111 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 545f2b83d9616dccf60fa9830e9cd287 +PLAINTEXT = ffffffffffffffffffffffffffff0000 + +COUNT = 112 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 4b706f7f92406352394037a6d4f4688d +PLAINTEXT = ffffffffffffffffffffffffffff8000 + +COUNT = 113 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = b7972b3941c44b90afa7b264bfba7387 +PLAINTEXT = ffffffffffffffffffffffffffffc000 + +COUNT = 114 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 6f45732cf10881546f0fd23896d2bb60 +PLAINTEXT = ffffffffffffffffffffffffffffe000 + +COUNT = 115 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 2e3579ca15af27f64b3c955a5bfc30ba +PLAINTEXT = fffffffffffffffffffffffffffff000 + +COUNT = 116 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 34a2c5a91ae2aec99b7d1b5fa6780447 +PLAINTEXT = fffffffffffffffffffffffffffff800 + +COUNT = 117 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = a4d6616bd04f87335b0e53351227a9ee +PLAINTEXT = fffffffffffffffffffffffffffffc00 + +COUNT = 118 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 7f692b03945867d16179a8cefc83ea3f +PLAINTEXT = fffffffffffffffffffffffffffffe00 + +COUNT = 119 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3bd141ee84a0e6414a26e7a4f281f8a2 +PLAINTEXT = ffffffffffffffffffffffffffffff00 + +COUNT = 120 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = d1788f572d98b2b16ec5d5f3922b99bc +PLAINTEXT = ffffffffffffffffffffffffffffff80 + +COUNT = 121 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 0833ff6f61d98a57b288e8c3586b85a6 +PLAINTEXT = ffffffffffffffffffffffffffffffc0 + +COUNT = 122 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 8568261797de176bf0b43becc6285afb +PLAINTEXT = ffffffffffffffffffffffffffffffe0 + +COUNT = 123 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = f9b0fda0c4a898f5b9e6f661c4ce4d07 +PLAINTEXT = fffffffffffffffffffffffffffffff0 + +COUNT = 124 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 8ade895913685c67c5269f8aae42983e +PLAINTEXT = fffffffffffffffffffffffffffffff8 + +COUNT = 125 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 39bde67d5c8ed8a8b1c37eb8fa9f5ac0 +PLAINTEXT = fffffffffffffffffffffffffffffffc + +COUNT = 126 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 5c005e72c1418c44f569f2ea33ba54f3 +PLAINTEXT = fffffffffffffffffffffffffffffffe + +COUNT = 127 +KEY = 00000000000000000000000000000000 +CIPHERTEXT = 3f5b8cc9ea855a0afa7347d23e8d664e +PLAINTEXT = ffffffffffffffffffffffffffffffff + diff --git a/tests/LibHac.Tests/LibHac.Tests.csproj b/tests/LibHac.Tests/LibHac.Tests.csproj index 6d782ac9..8f6a71cd 100644 --- a/tests/LibHac.Tests/LibHac.Tests.csproj +++ b/tests/LibHac.Tests/LibHac.Tests.csproj @@ -16,6 +16,10 @@ + + + +