mirror of
https://github.com/shadps4-emu/ext-cryptopp.git
synced 2024-11-23 09:59:42 +00:00
Split bench1.cpp into two files
Renamed bench2.cpp to bench3.cpp. Split bench1.cpp into bench1.cpp and bench2.cpp
This commit is contained in:
parent
7afd05c336
commit
1f914feaf9
@ -32,6 +32,7 @@ bench.h
|
|||||||
bds10.zip
|
bds10.zip
|
||||||
bench1.cpp
|
bench1.cpp
|
||||||
bench2.cpp
|
bench2.cpp
|
||||||
|
bench3.cpp
|
||||||
bfinit.cpp
|
bfinit.cpp
|
||||||
blake2.cpp
|
blake2.cpp
|
||||||
blake2-simd.cpp
|
blake2-simd.cpp
|
||||||
|
@ -749,7 +749,7 @@ OBJS := $(SRCS:.cpp=.o)
|
|||||||
OBJS := $(OBJS:.S=.o)
|
OBJS := $(OBJS:.S=.o)
|
||||||
|
|
||||||
# List test.cpp first to tame C++ static initialization problems.
|
# List test.cpp first to tame C++ static initialization problems.
|
||||||
TESTSRCS := adhoc.cpp test.cpp bench1.cpp bench2.cpp validat0.cpp validat1.cpp validat2.cpp validat3.cpp validat4.cpp datatest.cpp regtest1.cpp regtest2.cpp regtest3.cpp dlltest.cpp fipsalgt.cpp
|
TESTSRCS := adhoc.cpp test.cpp bench1.cpp bench2.cpp bench3.cpp validat0.cpp validat1.cpp validat2.cpp validat3.cpp validat4.cpp datatest.cpp regtest1.cpp regtest2.cpp regtest3.cpp dlltest.cpp fipsalgt.cpp
|
||||||
TESTINCL := bench.h factory.h validate.h
|
TESTINCL := bench.h factory.h validate.h
|
||||||
|
|
||||||
# Test objects
|
# Test objects
|
||||||
|
@ -337,7 +337,7 @@ OBJS := $(SRCS:.cpp=.o)
|
|||||||
OBJS := $(OBJS:.S=.o)
|
OBJS := $(OBJS:.S=.o)
|
||||||
|
|
||||||
# List test.cpp first to tame C++ static initialization problems.
|
# List test.cpp first to tame C++ static initialization problems.
|
||||||
TESTSRCS := adhoc.cpp test.cpp bench1.cpp bench2.cpp validat0.cpp validat1.cpp validat2.cpp validat3.cpp validat4.cpp datatest.cpp regtest1.cpp regtest2.cpp regtest3.cpp dlltest.cpp fipsalgt.cpp
|
TESTSRCS := adhoc.cpp test.cpp bench1.cpp bench2.cpp bench3.cpp validat0.cpp validat1.cpp validat2.cpp validat3.cpp validat4.cpp datatest.cpp regtest1.cpp regtest2.cpp regtest3.cpp dlltest.cpp fipsalgt.cpp
|
||||||
TESTINCL := bench.h factory.h validate.h
|
TESTINCL := bench.h factory.h validate.h
|
||||||
|
|
||||||
# Test objects
|
# Test objects
|
||||||
|
16
bench.h
16
bench.h
@ -48,8 +48,20 @@ void Benchmark2(double t, double hertz);
|
|||||||
// Public key systems
|
// Public key systems
|
||||||
void Benchmark3(double t, double hertz);
|
void Benchmark3(double t, double hertz);
|
||||||
|
|
||||||
void OutputResultBytes(const char *name, const char* provider, double length, double timeTaken);
|
// These are defined in bench1.cpp
|
||||||
void OutputResultOperations(const char *name, const char* provider, const char *operation, bool pc, unsigned long iterations, double timeTaken);
|
extern void OutputResultKeying(double iterations, double timeTaken);
|
||||||
|
extern void OutputResultBytes(const char *name, const char *provider, double length, double timeTaken);
|
||||||
|
extern void OutputResultOperations(const char *name, const char *provider, const char *operation, bool pc, unsigned long iterations, double timeTaken);
|
||||||
|
|
||||||
|
// These are defined in bench1.cpp
|
||||||
|
extern void BenchMark(const char *name, BufferedTransformation &bt, double timeTotal);
|
||||||
|
extern void BenchMark(const char *name, StreamTransformation &cipher, double timeTotal);
|
||||||
|
extern void BenchMark(const char *name, HashTransformation &ht, double timeTotal);
|
||||||
|
extern void BenchMark(const char *name, RandomNumberGenerator &rng, double timeTotal);
|
||||||
|
|
||||||
|
// These are defined in bench2.cpp
|
||||||
|
extern void BenchMarkKeying(SimpleKeyingInterface &c, size_t keyLength, const NameValuePairs ¶ms);
|
||||||
|
extern void BenchMark(const char *name, AuthenticatedSymmetricCipher &cipher, double timeTotal);
|
||||||
|
|
||||||
NAMESPACE_END // Test
|
NAMESPACE_END // Test
|
||||||
NAMESPACE_END // CryptoPP
|
NAMESPACE_END // CryptoPP
|
||||||
|
230
bench1.cpp
230
bench1.cpp
@ -5,21 +5,17 @@
|
|||||||
#include "bench.h"
|
#include "bench.h"
|
||||||
#include "validate.h"
|
#include "validate.h"
|
||||||
|
|
||||||
#include "aes.h"
|
#include "cpu.h"
|
||||||
#include "kalyna.h"
|
|
||||||
#include "threefish.h"
|
|
||||||
#include "blumshub.h"
|
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "filters.h"
|
#include "filters.h"
|
||||||
#include "hex.h"
|
#include "hex.h"
|
||||||
#include "modes.h"
|
|
||||||
#include "factory.h"
|
#include "factory.h"
|
||||||
#include "smartptr.h"
|
#include "smartptr.h"
|
||||||
#include "cpu.h"
|
#include "stdcpp.h"
|
||||||
|
|
||||||
#include "drbg.h"
|
#include "drbg.h"
|
||||||
#include "rdrand.h"
|
#include "rdrand.h"
|
||||||
#include "padlkrng.h"
|
#include "padlkrng.h"
|
||||||
#include "stdcpp.h"
|
|
||||||
|
|
||||||
#if CRYPTOPP_MSC_VERSION
|
#if CRYPTOPP_MSC_VERSION
|
||||||
# pragma warning(disable: 4355)
|
# pragma warning(disable: 4355)
|
||||||
@ -163,14 +159,6 @@ void BenchMark(const char *name, StreamTransformation &cipher, double timeTotal)
|
|||||||
OutputResultBytes(name, provider.c_str(), double(blocks) * BUF_SIZE, timeTaken);
|
OutputResultBytes(name, provider.c_str(), double(blocks) * BUF_SIZE, timeTaken);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BenchMark(const char *name, AuthenticatedSymmetricCipher &cipher, double timeTotal)
|
|
||||||
{
|
|
||||||
if (cipher.NeedsPrespecifiedDataLengths())
|
|
||||||
cipher.SpecifyDataLengths(0, cipher.MaxMessageLength(), 0);
|
|
||||||
|
|
||||||
BenchMark(name, static_cast<StreamTransformation &>(cipher), timeTotal);
|
|
||||||
}
|
|
||||||
|
|
||||||
void BenchMark(const char *name, HashTransformation &ht, double timeTotal)
|
void BenchMark(const char *name, HashTransformation &ht, double timeTotal)
|
||||||
{
|
{
|
||||||
const int BUF_SIZE=2048U;
|
const int BUF_SIZE=2048U;
|
||||||
@ -278,50 +266,6 @@ void BenchMark(const char *name, NIST_DRBG &rng, double timeTotal)
|
|||||||
OutputResultBytes(name, provider.c_str(), double(blocks) * BUF_SIZE, timeTaken);
|
OutputResultBytes(name, provider.c_str(), double(blocks) * BUF_SIZE, timeTaken);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BenchMarkKeying(SimpleKeyingInterface &c, size_t keyLength, const NameValuePairs ¶ms)
|
|
||||||
{
|
|
||||||
unsigned long iterations = 0;
|
|
||||||
double timeTaken;
|
|
||||||
|
|
||||||
clock_t start = ::clock();
|
|
||||||
do
|
|
||||||
{
|
|
||||||
for (unsigned int i=0; i<1024; i++)
|
|
||||||
c.SetKey(defaultKey, keyLength, params);
|
|
||||||
timeTaken = double(::clock() - start) / CLOCK_TICKS_PER_SECOND;
|
|
||||||
iterations += 1024;
|
|
||||||
}
|
|
||||||
while (timeTaken < g_allocatedTime);
|
|
||||||
|
|
||||||
OutputResultKeying(iterations, timeTaken);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class T_FactoryOutput, class T_Interface>
|
|
||||||
void BenchMarkByName2(const char *factoryName, size_t keyLength = 0, const char *displayName=NULLPTR, const NameValuePairs ¶ms = g_nullNameValuePairs)
|
|
||||||
{
|
|
||||||
std::string name(factoryName ? factoryName : "");
|
|
||||||
member_ptr<T_FactoryOutput> obj(ObjectFactoryRegistry<T_FactoryOutput>::Registry().CreateObject(name.c_str()));
|
|
||||||
|
|
||||||
if (keyLength == 0)
|
|
||||||
keyLength = obj->DefaultKeyLength();
|
|
||||||
|
|
||||||
if (displayName != NULLPTR)
|
|
||||||
name = displayName;
|
|
||||||
else if (keyLength != 0)
|
|
||||||
name += " (" + IntToString(keyLength * 8) + "-bit key)";
|
|
||||||
|
|
||||||
obj->SetKey(defaultKey, keyLength, CombinedNameValuePairs(params, MakeParameters(Name::IV(), ConstByteArrayParameter(defaultKey, obj->IVSize()), false)));
|
|
||||||
BenchMark(name.c_str(), *static_cast<T_Interface *>(obj.get()), g_allocatedTime);
|
|
||||||
BenchMarkKeying(*obj, keyLength, CombinedNameValuePairs(params, MakeParameters(Name::IV(), ConstByteArrayParameter(defaultKey, obj->IVSize()), false)));
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class T_FactoryOutput>
|
|
||||||
void BenchMarkByName(const char *factoryName, size_t keyLength = 0, const char *displayName = NULLPTR, const NameValuePairs ¶ms = g_nullNameValuePairs)
|
|
||||||
{
|
|
||||||
CRYPTOPP_UNUSED(params);
|
|
||||||
BenchMarkByName2<T_FactoryOutput, T_FactoryOutput>(factoryName, keyLength, displayName, params);
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
void BenchMarkByNameKeyLess(const char *factoryName, const char *displayName = NULLPTR, const NameValuePairs ¶ms = g_nullNameValuePairs)
|
void BenchMarkByNameKeyLess(const char *factoryName, const char *displayName = NULLPTR, const NameValuePairs ¶ms = g_nullNameValuePairs)
|
||||||
{
|
{
|
||||||
@ -507,173 +451,5 @@ void Benchmark1(double t, double hertz)
|
|||||||
std::cout << "\n</TABLE>" << std::endl;
|
std::cout << "\n</TABLE>" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Benchmark2(double t, double hertz)
|
|
||||||
{
|
|
||||||
g_allocatedTime = t;
|
|
||||||
g_hertz = hertz;
|
|
||||||
|
|
||||||
const char *cpb, *cpk;
|
|
||||||
if (g_hertz > 1.0f)
|
|
||||||
{
|
|
||||||
cpb = "<TH>Cycles Per Byte";
|
|
||||||
cpk = "<TH>Cycles to<BR>Setup Key and IV";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cpb = cpk = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cout << "\n<TABLE>";
|
|
||||||
std::cout << "\n<COLGROUP><COL style=\"text-align: left;\"><COL style=\"text-align: right;\"><COL style=";
|
|
||||||
std::cout << "\"text-align: right;\"><COL style=\"text-align: right;\"><COL style=\"text-align: right;\">";
|
|
||||||
std::cout << "\n<THEAD style=\"background: #F0F0F0\">";
|
|
||||||
std::cout << "\n<TR><TH>Algorithm<TH>Provider<TH>MiB/Second" << cpb;
|
|
||||||
std::cout << "<TH>Microseconds to<BR>Setup Key and IV" << cpk;
|
|
||||||
|
|
||||||
std::cout << "\n<TBODY style=\"background: white;\">";
|
|
||||||
{
|
|
||||||
#if CRYPTOPP_AESNI_AVAILABLE
|
|
||||||
if (HasCLMUL())
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, MessageAuthenticationCode>("AES/GCM", 0, "GMAC(AES)");
|
|
||||||
else
|
|
||||||
#elif CRYPTOPP_ARM_PMULL_AVAILABLE
|
|
||||||
if (HasPMULL())
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, MessageAuthenticationCode>("AES/GCM", 0, "GMAC(AES)");
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, MessageAuthenticationCode>("AES/GCM", 0, "GMAC(AES) (2K tables)", MakeParameters(Name::TableSize(), 2048));
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, MessageAuthenticationCode>("AES/GCM", 0, "GMAC(AES) (64K tables)", MakeParameters(Name::TableSize(), 64 * 1024));
|
|
||||||
}
|
|
||||||
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("VMAC(AES)-64");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("VMAC(AES)-128");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("HMAC(SHA-1)");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("HMAC(SHA-256)");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("Two-Track-MAC");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("CMAC(AES)");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("DMAC(AES)");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("Poly1305(AES)");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("BLAKE2s");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("BLAKE2b");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("SipHash-2-4");
|
|
||||||
BenchMarkByName<MessageAuthenticationCode>("SipHash-4-8");
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cout << "\n<TBODY style=\"background: yellow;\">";
|
|
||||||
{
|
|
||||||
BenchMarkByName<SymmetricCipher>("Panama-LE");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Panama-BE");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Salsa20");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Salsa20", 0, "Salsa20/12", MakeParameters(Name::Rounds(), 12));
|
|
||||||
BenchMarkByName<SymmetricCipher>("Salsa20", 0, "Salsa20/8", MakeParameters(Name::Rounds(), 8));
|
|
||||||
BenchMarkByName<SymmetricCipher>("ChaCha8");
|
|
||||||
BenchMarkByName<SymmetricCipher>("ChaCha12");
|
|
||||||
BenchMarkByName<SymmetricCipher>("ChaCha20");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Sosemanuk");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Rabbit");
|
|
||||||
BenchMarkByName<SymmetricCipher>("RabbitWithIV");
|
|
||||||
BenchMarkByName<SymmetricCipher>("HC-128");
|
|
||||||
BenchMarkByName<SymmetricCipher>("HC-256");
|
|
||||||
BenchMarkByName<SymmetricCipher>("MARC4");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SEAL-3.0-LE");
|
|
||||||
BenchMarkByName<SymmetricCipher>("WAKE-OFB-LE");
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cout << "\n<TBODY style=\"background: white;\">";
|
|
||||||
{
|
|
||||||
BenchMarkByName<SymmetricCipher>("AES/CTR", 16);
|
|
||||||
BenchMarkByName<SymmetricCipher>("AES/CTR", 24);
|
|
||||||
BenchMarkByName<SymmetricCipher>("AES/CTR", 32);
|
|
||||||
BenchMarkByName<SymmetricCipher>("AES/CBC", 16);
|
|
||||||
BenchMarkByName<SymmetricCipher>("AES/CBC", 24);
|
|
||||||
BenchMarkByName<SymmetricCipher>("AES/CBC", 32);
|
|
||||||
BenchMarkByName<SymmetricCipher>("AES/OFB", 16);
|
|
||||||
BenchMarkByName<SymmetricCipher>("AES/CFB", 16);
|
|
||||||
BenchMarkByName<SymmetricCipher>("AES/ECB", 16);
|
|
||||||
BenchMarkByName<SymmetricCipher>("ARIA/CTR", 16);
|
|
||||||
BenchMarkByName<SymmetricCipher>("ARIA/CTR", 32);
|
|
||||||
BenchMarkByName<SymmetricCipher>("HIGHT/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Camellia/CTR", 16);
|
|
||||||
BenchMarkByName<SymmetricCipher>("Camellia/CTR", 32);
|
|
||||||
BenchMarkByName<SymmetricCipher>("Twofish/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Threefish-256(256)/CTR", 32);
|
|
||||||
BenchMarkByName<SymmetricCipher>("Threefish-512(512)/CTR", 64);
|
|
||||||
BenchMarkByName<SymmetricCipher>("Threefish-1024(1024)/CTR", 128);
|
|
||||||
BenchMarkByName<SymmetricCipher>("Serpent/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("CAST-128/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("CAST-256/CTR", 32);
|
|
||||||
BenchMarkByName<SymmetricCipher>("RC6/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("MARS/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SHACAL-2/CTR", 16);
|
|
||||||
BenchMarkByName<SymmetricCipher>("SHACAL-2/CTR", 64);
|
|
||||||
BenchMarkByName<SymmetricCipher>("DES/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("DES-XEX3/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("DES-EDE3/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("IDEA/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("RC5/CTR", 0, "RC5 (r=16)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Blowfish/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SKIPJACK/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SEED/CTR", 0, "SEED/CTR (1/2 K table)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SM4/CTR");
|
|
||||||
|
|
||||||
BenchMarkByName<SymmetricCipher>("Kalyna-128/CTR", 16, "Kalyna-128(128)/CTR (128-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Kalyna-128/CTR", 32, "Kalyna-128(256)/CTR (256-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Kalyna-256/CTR", 32, "Kalyna-256(256)/CTR (256-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Kalyna-256/CTR", 64, "Kalyna-256(512)/CTR (512-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("Kalyna-512/CTR", 64, "Kalyna-512(512)/CTR (512-bit key)");
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cout << "\n<TBODY style=\"background: yellow;\">";
|
|
||||||
{
|
|
||||||
BenchMarkByName<SymmetricCipher>("CHAM-64/CTR", 16, "CHAM-64(128)/CTR (128-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("CHAM-128/CTR", 16, "CHAM-128(128)/CTR (128-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("CHAM-128/CTR", 32, "CHAM-128(256)/CTR (256-bit key)");
|
|
||||||
|
|
||||||
BenchMarkByName<SymmetricCipher>("LEA-128/CTR", 16, "LEA-128(128)/CTR (128-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("LEA-128/CTR", 24, "LEA-128(192)/CTR (192-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("LEA-128/CTR", 32, "LEA-128(256)/CTR (256-bit key)");
|
|
||||||
|
|
||||||
BenchMarkByName<SymmetricCipher>("SIMECK-32/CTR", 8, "SIMECK-32(64)/CTR (64-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SIMECK-64/CTR", 16, "SIMECK-64(128)/CTR (128-bit key)");
|
|
||||||
|
|
||||||
BenchMarkByName<SymmetricCipher>("SIMON-64/CTR", 12, "SIMON-64(96)/CTR (96-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SIMON-64/CTR", 16, "SIMON-64(128)/CTR (128-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SIMON-128/CTR", 16, "SIMON-128(128)/CTR (128-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SIMON-128/CTR", 24, "SIMON-128(192)/CTR (192-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SIMON-128/CTR", 32, "SIMON-128(256)/CTR (256-bit key)");
|
|
||||||
|
|
||||||
BenchMarkByName<SymmetricCipher>("SPECK-64/CTR", 12, "SPECK-64(96)/CTR (96-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SPECK-64/CTR", 16, "SPECK-64(128)/CTR (128-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SPECK-128/CTR", 16, "SPECK-128(128)/CTR (128-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SPECK-128/CTR", 24, "SPECK-128(192)/CTR (192-bit key)");
|
|
||||||
BenchMarkByName<SymmetricCipher>("SPECK-128/CTR", 32, "SPECK-128(256)/CTR (256-bit key)");
|
|
||||||
|
|
||||||
BenchMarkByName<SymmetricCipher>("TEA/CTR");
|
|
||||||
BenchMarkByName<SymmetricCipher>("XTEA/CTR");
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cout << "\n<TBODY style=\"background: white;\">";
|
|
||||||
{
|
|
||||||
#if CRYPTOPP_AESNI_AVAILABLE
|
|
||||||
if (HasCLMUL())
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM");
|
|
||||||
else
|
|
||||||
#elif CRYPTOPP_ARM_PMULL_AVAILABLE
|
|
||||||
if (HasPMULL())
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM");
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM (2K tables)", MakeParameters(Name::TableSize(), 2048));
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/GCM", 0, "AES/GCM (64K tables)", MakeParameters(Name::TableSize(), 64 * 1024));
|
|
||||||
}
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/CCM");
|
|
||||||
BenchMarkByName2<AuthenticatedSymmetricCipher, AuthenticatedSymmetricCipher>("AES/EAX");
|
|
||||||
}
|
|
||||||
|
|
||||||
std::cout << "\n</TABLE>" << std::endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
NAMESPACE_END // Test
|
NAMESPACE_END // Test
|
||||||
NAMESPACE_END // CryptoPP
|
NAMESPACE_END // CryptoPP
|
||||||
|
@ -51,9 +51,9 @@ LIB_SRCS = cryptlib.cpp cpu.cpp integer.cpp 3way.cpp adler32.cpp algebra.cpp alg
|
|||||||
|
|
||||||
LIB_OBJS = cryptlib.obj cpu.obj integer.obj 3way.obj adler32.obj algebra.obj algparam.obj arc4.obj aria-simd.obj aria.obj ariatab.obj asn.obj authenc.obj base32.obj base64.obj basecode.obj bfinit.obj blake2-simd.obj blake2.obj blowfish.obj blumshub.obj camellia.obj cast.obj casts.obj cbcmac.obj ccm.obj chacha.obj cham.obj cham-simd.obj channels.obj cmac.obj crc-simd.obj crc.obj default.obj des.obj dessp.obj dh.obj dh2.obj dll.obj dsa.obj eax.obj ec2n.obj eccrypto.obj ecp.obj elgamal.obj emsa2.obj eprecomp.obj esign.obj files.obj filters.obj fips140.obj fipstest.obj gcm-simd.obj gcm.obj gf256.obj gf2_32.obj gf2n.obj gfpcrypt.obj gost.obj gzip.obj hc128.obj hc256.obj hex.obj hight.obj hmac.obj hrtimer.obj ida.obj idea.obj iterhash.obj kalyna.obj kalynatab.obj keccak.obj lea.obj lea-simd.obj luc.obj mars.obj marss.obj md2.obj md4.obj md5.obj misc.obj modes.obj mqueue.obj mqv.obj nbtheory.obj neon-simd.obj network.obj oaep.obj osrng.obj padlkrng.obj panama.obj pkcspad.obj poly1305.obj polynomi.obj pssr.obj pubkey.obj queue.obj rabin.obj randpool.obj rabbit.obj rc2.obj rc5.obj rc6.obj rdrand.obj rdtables.obj rijndael-simd.obj rijndael.obj ripemd.obj rng.obj rsa.obj rw.obj safer.obj salsa.obj scrypt.obj seal.obj seed.obj serpent.obj sha-simd.obj sha.obj sha3.obj shacal2-simd.obj shacal2.obj shark.obj sharkbox.obj simeck-simd.obj simeck.obj simon.obj simon-simd.obj skipjack.obj sm3.obj sm4.obj sm4-simd.obj socketft.obj sosemanuk.obj speck.obj speck-simd.obj square.obj squaretb.obj sse-simd.obj strciphr.obj tea.obj tftables.obj threefish.obj tiger.obj tigertab.obj trdlocal.obj ttmac.obj tweetnacl.obj twofish.obj vmac.obj wait.obj wake.obj whrlpool.obj winpipes.obj xtr.obj xtrcrypt.obj zdeflate.obj zinflate.obj zlib.obj
|
LIB_OBJS = cryptlib.obj cpu.obj integer.obj 3way.obj adler32.obj algebra.obj algparam.obj arc4.obj aria-simd.obj aria.obj ariatab.obj asn.obj authenc.obj base32.obj base64.obj basecode.obj bfinit.obj blake2-simd.obj blake2.obj blowfish.obj blumshub.obj camellia.obj cast.obj casts.obj cbcmac.obj ccm.obj chacha.obj cham.obj cham-simd.obj channels.obj cmac.obj crc-simd.obj crc.obj default.obj des.obj dessp.obj dh.obj dh2.obj dll.obj dsa.obj eax.obj ec2n.obj eccrypto.obj ecp.obj elgamal.obj emsa2.obj eprecomp.obj esign.obj files.obj filters.obj fips140.obj fipstest.obj gcm-simd.obj gcm.obj gf256.obj gf2_32.obj gf2n.obj gfpcrypt.obj gost.obj gzip.obj hc128.obj hc256.obj hex.obj hight.obj hmac.obj hrtimer.obj ida.obj idea.obj iterhash.obj kalyna.obj kalynatab.obj keccak.obj lea.obj lea-simd.obj luc.obj mars.obj marss.obj md2.obj md4.obj md5.obj misc.obj modes.obj mqueue.obj mqv.obj nbtheory.obj neon-simd.obj network.obj oaep.obj osrng.obj padlkrng.obj panama.obj pkcspad.obj poly1305.obj polynomi.obj pssr.obj pubkey.obj queue.obj rabin.obj randpool.obj rabbit.obj rc2.obj rc5.obj rc6.obj rdrand.obj rdtables.obj rijndael-simd.obj rijndael.obj ripemd.obj rng.obj rsa.obj rw.obj safer.obj salsa.obj scrypt.obj seal.obj seed.obj serpent.obj sha-simd.obj sha.obj sha3.obj shacal2-simd.obj shacal2.obj shark.obj sharkbox.obj simeck-simd.obj simeck.obj simon.obj simon-simd.obj skipjack.obj sm3.obj sm4.obj sm4-simd.obj socketft.obj sosemanuk.obj speck.obj speck-simd.obj square.obj squaretb.obj sse-simd.obj strciphr.obj tea.obj tftables.obj threefish.obj tiger.obj tigertab.obj trdlocal.obj ttmac.obj tweetnacl.obj twofish.obj vmac.obj wait.obj wake.obj whrlpool.obj winpipes.obj xtr.obj xtrcrypt.obj zdeflate.obj zinflate.obj zlib.obj
|
||||||
|
|
||||||
TEST_SRCS = bench1.cpp bench2.cpp test.cpp validat0.cpp validat1.cpp validat2.cpp validat3.cpp validat4.cpp datatest.cpp regtest1.cpp regtest2.cpp regtest3.cpp fipsalgt.cpp dlltest.cpp fipstest.cpp
|
TEST_SRCS = bench1.cpp bench2.cpp bench3.cpp test.cpp validat0.cpp validat1.cpp validat2.cpp validat3.cpp validat4.cpp datatest.cpp regtest1.cpp regtest2.cpp regtest3.cpp fipsalgt.cpp dlltest.cpp fipstest.cpp
|
||||||
|
|
||||||
TEST_OBJS = bench1.obj bench2.obj test.obj validat0.obj validat1.obj validat2.obj validat3.obj validat4.obj datatest.obj regtest1.obj regtest2.obj regtest3.obj fipsalgt.obj dlltest.obj fipstest.obj
|
TEST_OBJS = bench1.obj bench2.obj bench3.obj test.obj validat0.obj validat1.obj validat2.obj validat3.obj validat4.obj datatest.obj regtest1.obj regtest2.obj regtest3.obj fipsalgt.obj dlltest.obj fipstest.obj
|
||||||
|
|
||||||
CXX = cl.exe
|
CXX = cl.exe
|
||||||
LD = link.exe
|
LD = link.exe
|
||||||
|
@ -202,6 +202,7 @@
|
|||||||
<ClCompile Include="adhoc.cpp" />
|
<ClCompile Include="adhoc.cpp" />
|
||||||
<ClCompile Include="bench1.cpp" />
|
<ClCompile Include="bench1.cpp" />
|
||||||
<ClCompile Include="bench2.cpp" />
|
<ClCompile Include="bench2.cpp" />
|
||||||
|
<ClCompile Include="bench3.cpp" />
|
||||||
<ClCompile Include="datatest.cpp" />
|
<ClCompile Include="datatest.cpp" />
|
||||||
<ClCompile Include="dlltest.cpp" />
|
<ClCompile Include="dlltest.cpp" />
|
||||||
<ClCompile Include="fipsalgt.cpp" />
|
<ClCompile Include="fipsalgt.cpp" />
|
||||||
|
@ -382,6 +382,9 @@
|
|||||||
<ClCompile Include="bench2.cpp">
|
<ClCompile Include="bench2.cpp">
|
||||||
<Filter>Source Code</Filter>
|
<Filter>Source Code</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="bench3.cpp">
|
||||||
|
<Filter>Source Code</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="datatest.cpp">
|
<ClCompile Include="datatest.cpp">
|
||||||
<Filter>Source Code</Filter>
|
<Filter>Source Code</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
Loading…
Reference in New Issue
Block a user