summaryrefslogtreecommitdiff
path: root/bench3.cpp
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2019-08-07 04:20:37 -0400
committerJeffrey Walton <noloader@gmail.com>2019-08-07 04:20:37 -0400
commit1a5155fd96a6c5c04c11c29f39e94a29290bfe83 (patch)
tree5b7e32f67dfb0fe4ba1a14b9be4b546d3f5b373f /bench3.cpp
parentf3dd3d25592ceb688d2b32475f72118222869516 (diff)
downloadcryptopp-git-1a5155fd96a6c5c04c11c29f39e94a29290bfe83.tar.gz
Split public key benchmarks into integers and elliptic curves
Diffstat (limited to 'bench3.cpp')
-rw-r--r--bench3.cpp56
1 files changed, 42 insertions, 14 deletions
diff --git a/bench3.cpp b/bench3.cpp
index 00c62eab..ded4fa5a 100644
--- a/bench3.cpp
+++ b/bench3.cpp
@@ -365,21 +365,29 @@ void Benchmark3(double t, double hertz)
BenchMarkKeyAgreement<LUC_DH>("TestData/lucd1024.dat", "LUCDIF 1024", t);
BenchMarkKeyAgreement<MQV>("TestData/mqv1024.dat", "MQV 1024", t);
BenchMarkKeyAgreement<MQV>("TestData/mqv2048.dat", "MQV 2048", t);
+ }
-#if 0
- BenchMarkKeyAgreement<ECHMQV160>("TestData/hmqv160.dat", "HMQV P-160", t);
- BenchMarkKeyAgreement<ECHMQV256>("TestData/hmqv256.dat", "HMQV P-256", t);
- BenchMarkKeyAgreement<ECHMQV384>("TestData/hmqv384.dat", "HMQV P-384", t);
- BenchMarkKeyAgreement<ECHMQV512>("TestData/hmqv512.dat", "HMQV P-512", t);
+ std::cout << "\n</TABLE>" << std::endl;
+}
- BenchMarkKeyAgreement<ECFHMQV160>("TestData/fhmqv160.dat", "FHMQV P-160", t);
- BenchMarkKeyAgreement<ECFHMQV256>("TestData/fhmqv256.dat", "FHMQV P-256", t);
- BenchMarkKeyAgreement<ECFHMQV384>("TestData/fhmqv384.dat", "FHMQV P-384", t);
- BenchMarkKeyAgreement<ECFHMQV512>("TestData/fhmqv512.dat", "FHMQV P-512", t);
-#endif
- }
+void Benchmark4(double t, double hertz)
+{
+ g_allocatedTime = t;
+ g_hertz = hertz;
- std::cout << "\n<TBODY style=\"background: yellow;\">";
+ const char *mco;
+ if (g_hertz > 1.0f)
+ mco = "<TH>Megacycles/Operation";
+ else
+ mco = "";
+
+ std::cout << "\n<TABLE>";
+ std::cout << "\n<COLGROUP><COL style=\"text-align: left;\"><COL style=";
+ std::cout << "\"text-align: right;\"><COL style=\"text-align: right;\">";
+ std::cout << "\n<THEAD style=\"background: #F0F0F0\">";
+ std::cout << "\n<TR><TH>Operation<TH>Milliseconds/Operation" << mco;
+
+ std::cout << "\n<TBODY style=\"background: white;\">";
{
ed25519::Signer sign(Test::GlobalRNG());
ed25519::Verifier verify(sign);
@@ -391,7 +399,27 @@ void Benchmark3(double t, double hertz)
BenchMarkAgreement("x25519", agree, t);
}
- std::cout << "\n<TBODY style=\"background: white;\">";
+#if 0
+ std::cout << "\n<TBODY style=\"background: yellow;\">";
+ {
+ BenchMarkKeyAgreement<ECMQV160>("TestData/mqv160.dat", "MQV P-160", t);
+ BenchMarkKeyAgreement<ECMQV256>("TestData/mqv256.dat", "MQV P-256", t);
+ BenchMarkKeyAgreement<ECMQV384>("TestData/mqv384.dat", "MQV P-384", t);
+ BenchMarkKeyAgreement<ECMQV512>("TestData/mqv512.dat", "MQV P-521", t);
+
+ BenchMarkKeyAgreement<ECHMQV160>("TestData/hmqv160.dat", "HMQV P-160", t);
+ BenchMarkKeyAgreement<ECHMQV256>("TestData/hmqv256.dat", "HMQV P-256", t);
+ BenchMarkKeyAgreement<ECHMQV384>("TestData/hmqv384.dat", "HMQV P-384", t);
+ BenchMarkKeyAgreement<ECHMQV512>("TestData/hmqv512.dat", "HMQV P-521", t);
+
+ BenchMarkKeyAgreement<ECFHMQV160>("TestData/fhmqv160.dat", "FHMQV P-160", t);
+ BenchMarkKeyAgreement<ECFHMQV256>("TestData/fhmqv256.dat", "FHMQV P-256", t);
+ BenchMarkKeyAgreement<ECFHMQV384>("TestData/fhmqv384.dat", "FHMQV P-384", t);
+ BenchMarkKeyAgreement<ECFHMQV512>("TestData/fhmqv512.dat", "FHMQV P-521", t);
+ }
+#endif
+
+ std::cout << "\n<TBODY style=\"background: yellow;\">";
{
ECIES<ECP>::Decryptor cpriv(Test::GlobalRNG(), ASN1::secp256k1());
ECIES<ECP>::Encryptor cpub(cpriv);
@@ -418,7 +446,7 @@ void Benchmark3(double t, double hertz)
BenchMarkAgreement("ECMQVC over GF(p) 256", ecmqvc, t);
}
- std::cout << "\n<TBODY style=\"background: yellow;\">";
+ std::cout << "\n<TBODY style=\"background: white;\">";
{
ECIES<EC2N>::Decryptor cpriv(Test::GlobalRNG(), ASN1::sect233r1());
ECIES<EC2N>::Encryptor cpub(cpriv);