tests/bench-slope: add missing cipher context reset
authorJussi Kivilinna <jussi.kivilinna@iki.fi>
Sun, 27 Jan 2019 09:19:56 +0000 (11:19 +0200)
committerJussi Kivilinna <jussi.kivilinna@iki.fi>
Sun, 27 Jan 2019 09:19:56 +0000 (11:19 +0200)
* tests/bench-slope.c (bench_encrypt_do_bench)
(bench_decrypt_do_bench): Add call to 'gcry_cipher_reset'.
--

Some non-AEAD results were negativily affected by missing state
reset (~1% for aesni-ctr and chacha20-stream).

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
tests/bench-slope.c

index 5c64f22..07282b7 100644 (file)
@@ -859,7 +859,9 @@ bench_encrypt_do_bench (struct bench_obj *obj, void *buf, size_t buflen)
   gcry_cipher_hd_t hd = obj->hd;
   int err;
 
-  err = gcry_cipher_encrypt (hd, buf, buflen, buf, buflen);
+  err = gcry_cipher_reset (hd);
+  if (!err)
+    err = gcry_cipher_encrypt (hd, buf, buflen, buf, buflen);
   if (err)
     {
       fprintf (stderr, PGM ": gcry_cipher_encrypt failed: %s\n",
@@ -875,7 +877,9 @@ bench_decrypt_do_bench (struct bench_obj *obj, void *buf, size_t buflen)
   gcry_cipher_hd_t hd = obj->hd;
   int err;
 
-  err = gcry_cipher_decrypt (hd, buf, buflen, buf, buflen);
+  err = gcry_cipher_reset (hd);
+  if (!err)
+    err = gcry_cipher_decrypt (hd, buf, buflen, buf, buflen);
   if (err)
     {
       fprintf (stderr, PGM ": gcry_cipher_encrypt failed: %s\n",