4 #ifndef CRYPTOPP_BENCH_H 5 #define CRYPTOPP_BENCH_H 19 UnkeyedRNG=(1<<0),UnkeyedHash=(1<<1),UnkeyedOther=(1<<2),
20 SharedKeyMAC=(1<<3),SharedKeyStream=(1<<4),SharedKeyBlock=(1<<5),SharedKeyOther=(1<<6),
21 PublicKeyAgreement=(1<<7),PublicKeyEncryption=(1<<8),PublicKeySignature=(1<<9),PublicKeyOther=(1<<10),
22 Unkeyed=UnkeyedRNG|UnkeyedHash|UnkeyedOther,
23 SharedKey=SharedKeyMAC|SharedKeyStream|SharedKeyBlock|SharedKeyOther,
24 PublicKey=PublicKeyAgreement|PublicKeyEncryption|PublicKeySignature|PublicKeyOther,
26 TestFirst=(0), TestLast=(1<<11)
29 extern const double CLOCK_TICKS_PER_SECOND;
30 extern double g_allocatedTime;
31 extern double g_hertz;
32 extern double g_logTotal;
33 extern unsigned int g_logCount;
34 extern const byte defaultKey[];
37 extern time_t g_testBegin;
38 extern time_t g_testEnd;
41 void BenchmarkWithCommand(
int argc,
const char*
const argv[]);
43 void Benchmark(Test::TestClass suites,
double t,
double hertz);
45 void Benchmark1(
double t,
double hertz);
47 void Benchmark2(
double t,
double hertz);
49 void Benchmark3(
double t,
double hertz);
52 extern void OutputResultKeying(
double iterations,
double timeTaken);
53 extern void OutputResultBytes(
const char *name,
const char *provider,
double length,
double timeTaken);
54 extern void OutputResultOperations(
const char *name,
const char *provider,
const char *operation,
bool pc,
unsigned long iterations,
double timeTaken);
Interface for authenticated encryption modes of operation.
Abstract base classes that provide a uniform interface to this library.
Interface for random number generators.
Interface for algorithms that take byte strings as keys.
Namespace containing testing and benchmark classes.
Interface for public keys.
Crypto++ library namespace.
Interface for retrieving values given their names.