diff --git a/bench1.cpp b/bench1.cpp index 04f3745f..56317c6b 100644 --- a/bench1.cpp +++ b/bench1.cpp @@ -200,6 +200,16 @@ void BenchMark(const char *name, RandomNumberGenerator &rng, double timeTotal) Test::GlobalRNG().GenerateBlock(buf, BUF_SIZE); buf.SetMark(16); + SymmetricCipher * cipher = dynamic_cast(&rng); + if (cipher != NULLPTR) + { + const size_t size = cipher->DefaultKeyLength(); + if (cipher->IsResynchronizable()) + cipher->SetKeyWithIV(buf, size, buf+size); + else + cipher->SetKey(buf, size); + } + unsigned long long blocks = 1; double timeTaken; @@ -406,6 +416,7 @@ void Benchmark1(double t, double hertz) if (HasRDSEED()) BenchMarkByNameKeyLess("RDSEED"); #endif + BenchMarkByNameKeyLess("AES/OFB RNG"); BenchMarkByNameKeyLess("Hash_DRBG(SHA1)"); BenchMarkByNameKeyLess("Hash_DRBG(SHA256)"); BenchMarkByNameKeyLess("HMAC_DRBG(SHA1)"); diff --git a/regtest.cpp b/regtest.cpp index 4c81a554..704bc2e0 100644 --- a/regtest.cpp +++ b/regtest.cpp @@ -210,6 +210,7 @@ void RegisterFactories() if (HasRDSEED()) RegisterDefaultFactoryFor(); #endif + RegisterDefaultFactoryFor::Encryption >("AES/OFB RNG"); RegisterDefaultFactoryFor >("Hash_DRBG(SHA1)"); RegisterDefaultFactoryFor >("Hash_DRBG(SHA256)"); RegisterDefaultFactoryFor >("HMAC_DRBG(SHA1)");