aboutsummaryrefslogtreecommitdiff
path: root/src/util/perf_crypto_hash.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-01-09 13:58:37 +0000
committerChristian Grothoff <christian@grothoff.org>2014-01-09 13:58:37 +0000
commit2de6e2211c31d2911c7d1dc6d445a41fd9ae3429 (patch)
treebf568b6e286d733abb4ac90054f44ad2a3efb146 /src/util/perf_crypto_hash.c
parent2ed861d67db2ffdf22bda9b873c64e5f8782cf8e (diff)
downloadgnunet-2de6e2211c31d2911c7d1dc6d445a41fd9ae3429.tar.gz
gnunet-2de6e2211c31d2911c7d1dc6d445a41fd9ae3429.zip
adding benchmark logic for HKDF
Diffstat (limited to 'src/util/perf_crypto_hash.c')
-rw-r--r--src/util/perf_crypto_hash.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/util/perf_crypto_hash.c b/src/util/perf_crypto_hash.c
index 5261c711b..6a63b543f 100644
--- a/src/util/perf_crypto_hash.c
+++ b/src/util/perf_crypto_hash.c
@@ -26,6 +26,7 @@
26#include "platform.h" 26#include "platform.h"
27#include "gnunet_util_lib.h" 27#include "gnunet_util_lib.h"
28#include <gauger.h> 28#include <gauger.h>
29#include <gcrypt.h>
29 30
30 31
31static void 32static void
@@ -41,6 +42,26 @@ perfHash ()
41} 42}
42 43
43 44
45static void
46perfHKDF ()
47{
48 unsigned int i;
49 char res[128];
50 char buf[128];
51 char skm[64];
52
53 memset (buf, 1, sizeof (buf));
54 memset (skm, 2, sizeof (skm));
55 for (i = 0; i < 1024; i++)
56 GNUNET_CRYPTO_hkdf (res, sizeof (res),
57 GCRY_MD_SHA512, GCRY_MD_SHA256,
58 buf, sizeof (buf),
59 skm, sizeof (skm),
60 "test", (size_t) 4,
61 NULL, 0);
62}
63
64
44int 65int
45main (int argc, char *argv[]) 66main (int argc, char *argv[])
46{ 67{
@@ -55,6 +76,15 @@ main (int argc, char *argv[])
55 64 * 1024 / (1 + 76 64 * 1024 / (1 +
56 GNUNET_TIME_absolute_get_duration 77 GNUNET_TIME_absolute_get_duration
57 (start).rel_value_us / 1000LL), "kb/ms"); 78 (start).rel_value_us / 1000LL), "kb/ms");
79 start = GNUNET_TIME_absolute_get ();
80 perfHKDF ();
81 printf ("HKDF perf took %s\n",
82 GNUNET_STRINGS_relative_time_to_string (GNUNET_TIME_absolute_get_duration (start),
83 GNUNET_YES));
84 GAUGER ("UTIL", "Cryptographic HKDF",
85 64 * 1024 / (1 +
86 GNUNET_TIME_absolute_get_duration
87 (start).rel_value_us / 1000LL), "kb/ms");
58 return 0; 88 return 0;
59} 89}
60 90