mirror of
https://github.com/shadps4-emu/ext-cryptopp.git
synced 2024-11-27 03:40:22 +00:00
Add StaticGetValidKeyLength tests for RijndaelEncryption, RijndaelDecryption, TwofishEncryption and TwofishDecryption
This commit is contained in:
parent
60be5a672a
commit
5057991a31
58
validat1.cpp
58
validat1.cpp
@ -1998,26 +1998,62 @@ bool ValidateMARS()
|
||||
bool ValidateRijndael()
|
||||
{
|
||||
cout << "\nRijndael (AES) validation suite running...\n\n";
|
||||
bool pass1 = true, pass2 = true, pass3 = true;
|
||||
|
||||
RijndaelEncryption enc;
|
||||
pass1 = enc.StaticGetValidKeyLength(8) == 16 && pass1;
|
||||
pass1 = enc.StaticGetValidKeyLength(16) == 16 && pass1;
|
||||
pass1 = enc.StaticGetValidKeyLength(24) == 24 && pass1;
|
||||
pass1 = enc.StaticGetValidKeyLength(32) == 32 && pass1;
|
||||
pass1 = enc.StaticGetValidKeyLength(64) == 32 && pass1;
|
||||
pass1 = enc.StaticGetValidKeyLength(128) == 32 && pass1;
|
||||
cout << (pass1 ? "passed:" : "FAILED:") << " RijndaelEncryption StaticGetValidKeyLength\n";
|
||||
|
||||
RijndaelDecryption dec;
|
||||
pass2 = dec.StaticGetValidKeyLength(8) == 16 && pass2;
|
||||
pass2 = dec.StaticGetValidKeyLength(16) == 16 && pass2;
|
||||
pass2 = dec.StaticGetValidKeyLength(24) == 24 && pass2;
|
||||
pass2 = dec.StaticGetValidKeyLength(32) == 32 && pass2;
|
||||
pass2 = dec.StaticGetValidKeyLength(64) == 32 && pass2;
|
||||
pass2 = dec.StaticGetValidKeyLength(128) == 32 && pass2;
|
||||
cout << (pass2 ? "passed:" : "FAILED:") << " RijndaelDecryption StaticGetValidKeyLength\n";
|
||||
|
||||
FileSource valdata(CRYPTOPP_DATA_DIR "TestData/rijndael.dat", true, new HexDecoder);
|
||||
bool pass = true;
|
||||
pass = BlockTransformationTest(FixedRoundsCipherFactory<RijndaelEncryption, RijndaelDecryption>(16), valdata, 4) && pass;
|
||||
pass = BlockTransformationTest(FixedRoundsCipherFactory<RijndaelEncryption, RijndaelDecryption>(24), valdata, 3) && pass;
|
||||
pass = BlockTransformationTest(FixedRoundsCipherFactory<RijndaelEncryption, RijndaelDecryption>(32), valdata, 2) && pass;
|
||||
pass = RunTestDataFile(CRYPTOPP_DATA_DIR "TestVectors/aes.txt") && pass;
|
||||
return pass;
|
||||
pass3 = BlockTransformationTest(FixedRoundsCipherFactory<RijndaelEncryption, RijndaelDecryption>(16), valdata, 4) && pass3;
|
||||
pass3 = BlockTransformationTest(FixedRoundsCipherFactory<RijndaelEncryption, RijndaelDecryption>(24), valdata, 3) && pass3;
|
||||
pass3 = BlockTransformationTest(FixedRoundsCipherFactory<RijndaelEncryption, RijndaelDecryption>(32), valdata, 2) && pass3;
|
||||
pass3 = RunTestDataFile(CRYPTOPP_DATA_DIR "TestVectors/aes.txt") && pass3;
|
||||
return pass1 && pass2 && pass3;
|
||||
}
|
||||
|
||||
bool ValidateTwofish()
|
||||
{
|
||||
cout << "\nTwofish validation suite running...\n\n";
|
||||
bool pass1 = true, pass2 = true, pass3 = true;
|
||||
|
||||
TwofishEncryption enc;
|
||||
// pass1 = enc.StaticGetValidKeyLength(8) == 16 && pass1;
|
||||
pass1 = enc.StaticGetValidKeyLength(16) == 16 && pass1;
|
||||
pass1 = enc.StaticGetValidKeyLength(24) == 24 && pass1;
|
||||
pass1 = enc.StaticGetValidKeyLength(32) == 32 && pass1;
|
||||
// pass1 = enc.StaticGetValidKeyLength(64) == 32 && pass1;
|
||||
// pass1 = enc.StaticGetValidKeyLength(128) == 32 && pass1;
|
||||
cout << (pass1 ? "passed:" : "FAILED:") << " TwofishEncryption StaticGetValidKeyLength\n";
|
||||
|
||||
TwofishDecryption dec;
|
||||
// pass2 = dec.StaticGetValidKeyLength(8) == 16 && pass2;
|
||||
pass2 = dec.StaticGetValidKeyLength(16) == 16 && pass2;
|
||||
pass2 = dec.StaticGetValidKeyLength(24) == 24 && pass2;
|
||||
pass2 = dec.StaticGetValidKeyLength(32) == 32 && pass2;
|
||||
// pass2 = dec.StaticGetValidKeyLength(64) == 32 && pass2;
|
||||
// pass2 = dec.StaticGetValidKeyLength(128) == 32 && pass2;
|
||||
cout << (pass2 ? "passed:" : "FAILED:") << " TwofishDecryption StaticGetValidKeyLength\n";
|
||||
|
||||
FileSource valdata(CRYPTOPP_DATA_DIR "TestData/twofishv.dat", true, new HexDecoder);
|
||||
bool pass = true;
|
||||
pass = BlockTransformationTest(FixedRoundsCipherFactory<TwofishEncryption, TwofishDecryption>(16), valdata, 4) && pass;
|
||||
pass = BlockTransformationTest(FixedRoundsCipherFactory<TwofishEncryption, TwofishDecryption>(24), valdata, 3) && pass;
|
||||
pass = BlockTransformationTest(FixedRoundsCipherFactory<TwofishEncryption, TwofishDecryption>(32), valdata, 2) && pass;
|
||||
return pass;
|
||||
pass3 = BlockTransformationTest(FixedRoundsCipherFactory<TwofishEncryption, TwofishDecryption>(16), valdata, 4) && pass3;
|
||||
pass3 = BlockTransformationTest(FixedRoundsCipherFactory<TwofishEncryption, TwofishDecryption>(24), valdata, 3) && pass3;
|
||||
pass3 = BlockTransformationTest(FixedRoundsCipherFactory<TwofishEncryption, TwofishDecryption>(32), valdata, 2) && pass3;
|
||||
return pass1 && pass2 && pass3;
|
||||
}
|
||||
|
||||
bool ValidateSerpent()
|
||||
|
Loading…
Reference in New Issue
Block a user