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)
29extern const double CLOCK_TICKS_PER_SECOND;
30extern double g_allocatedTime;
32extern double g_logTotal;
33extern unsigned int g_logCount;
34extern const byte defaultKey[];
37extern time_t g_testBegin;
38extern time_t g_testEnd;
41void BenchmarkWithCommand(
int argc,
const char*
const argv[]);
43void Benchmark(Test::TestClass suites,
double t,
double hertz);
45void Benchmark1(
double t,
double hertz);
47void Benchmark2(
double t,
double hertz);
49void Benchmark3(
double t,
double hertz);
52extern void OutputResultKeying(
double iterations,
double timeTaken);
53extern void OutputResultBytes(
const char *name,
const char *provider,
double length,
double timeTaken);
54extern 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.
Interface for retrieving values given their names.
Interface for public keys.
Interface for random number generators.
Interface for algorithms that take byte strings as keys.
Abstract base classes that provide a uniform interface to this library.
Crypto++ library namespace.
Namespace containing testing and benchmark classes.