LibHac/tests/LibHac.Tests/CryptoTests/AesEcbTests.cs

77 lines
2.9 KiB
C#
Raw Permalink Normal View History

2019-11-19 02:31:06 +01:00
using LibHac.Crypto;
2019-11-09 08:32:13 +01:00
using Xunit;
namespace LibHac.Tests.CryptoTests
{
public class AesEcbTests
{
public static TheoryData<EncryptionTestVector> EncryptTestVectors =
2019-11-25 21:11:40 +01:00
RspReader.ReadEncryptionTestVectors(true, "ECBVarKey128.rsp", "ECBVarTxt128.rsp", "ECBKeySbox128.rsp", "ECBGFSbox128.rsp");
2019-11-09 08:32:13 +01:00
public static TheoryData<EncryptionTestVector> DecryptTestVectors =
2019-11-25 21:11:40 +01:00
RspReader.ReadEncryptionTestVectors(false, "ECBVarKey128.rsp", "ECBVarTxt128.rsp", "ECBKeySbox128.rsp", "ECBGFSbox128.rsp");
2019-11-09 08:32:13 +01:00
public static TheoryData<EncryptionTestVector> EncryptMultiTestVectors =
2019-11-25 21:11:40 +01:00
RspReader.ReadEncryptionTestVectors(true, "ECBMMT128.rsp");
2019-11-09 08:32:13 +01:00
public static TheoryData<EncryptionTestVector> DecryptMultiTestVectors =
2019-11-25 21:11:40 +01:00
RspReader.ReadEncryptionTestVectors(false, "ECBMMT128.rsp");
2019-11-09 08:32:13 +01:00
[Theory]
[MemberData(nameof(EncryptTestVectors))]
public static void Encrypt(EncryptionTestVector tv)
{
2019-11-19 02:20:21 +01:00
Common.CipherTestCore(tv.PlainText, tv.CipherText, Aes.CreateEcbEncryptor(tv.Key, true));
2019-11-09 08:32:13 +01:00
}
[Theory]
[MemberData(nameof(DecryptTestVectors))]
public static void Decrypt(EncryptionTestVector tv)
{
2019-11-19 02:20:21 +01:00
Common.CipherTestCore(tv.CipherText, tv.PlainText, Aes.CreateEcbDecryptor(tv.Key, true));
2019-11-09 08:32:13 +01:00
}
[Theory]
[MemberData(nameof(EncryptMultiTestVectors))]
public static void EncryptMulti(EncryptionTestVector tv)
{
2019-11-19 02:20:21 +01:00
Common.CipherTestCore(tv.PlainText, tv.CipherText, Aes.CreateEcbEncryptor(tv.Key, true));
2019-11-09 08:32:13 +01:00
}
[Theory]
[MemberData(nameof(DecryptMultiTestVectors))]
public static void DecryptMulti(EncryptionTestVector tv)
{
2019-11-19 02:20:21 +01:00
Common.CipherTestCore(tv.CipherText, tv.PlainText, Aes.CreateEcbDecryptor(tv.Key, true));
2019-11-09 08:32:13 +01:00
}
[AesIntrinsicsRequiredTheory]
[MemberData(nameof(EncryptTestVectors))]
public static void EncryptIntrinsics(EncryptionTestVector tv)
{
2019-11-19 02:20:21 +01:00
Common.CipherTestCore(tv.PlainText, tv.CipherText, Aes.CreateEcbEncryptor(tv.Key));
2019-11-09 08:32:13 +01:00
}
[AesIntrinsicsRequiredTheory]
[MemberData(nameof(DecryptTestVectors))]
public static void DecryptIntrinsics(EncryptionTestVector tv)
{
2019-11-19 02:20:21 +01:00
Common.CipherTestCore(tv.CipherText, tv.PlainText, Aes.CreateEcbDecryptor(tv.Key));
2019-11-09 08:32:13 +01:00
}
[AesIntrinsicsRequiredTheory]
[MemberData(nameof(EncryptMultiTestVectors))]
public static void EncryptMultiIntrinsics(EncryptionTestVector tv)
{
2019-11-19 02:20:21 +01:00
Common.CipherTestCore(tv.PlainText, tv.CipherText, Aes.CreateEcbEncryptor(tv.Key));
2019-11-09 08:32:13 +01:00
}
[AesIntrinsicsRequiredTheory]
[MemberData(nameof(DecryptMultiTestVectors))]
public static void DecryptMultiIntrinsics(EncryptionTestVector tv)
{
2019-11-19 02:20:21 +01:00
Common.CipherTestCore(tv.CipherText, tv.PlainText, Aes.CreateEcbDecryptor(tv.Key));
2019-11-09 08:32:13 +01:00
}
}
}