update params
authorSchanzenbach, Martin <mschanzenbach@posteo.de>
Fri, 17 Apr 2020 20:52:28 +0000 (22:52 +0200)
committerSchanzenbach, Martin <mschanzenbach@posteo.de>
Fri, 17 Apr 2020 20:52:28 +0000 (22:52 +0200)
src/util/crypto_pow.c

index d3e4dbc43cf04678837850b3a3f5a6de24ffcb75..5e225f244eded744c5fa1b80cff6d41f996c0e5b 100644 (file)
  */
 #include "platform.h"
 #include "gnunet_crypto_lib.h"
+#include <gcrypt.h>
 #include <argon2.h>
 
-#define LSD001
+#define LSD0001
 
 /**
  * Calculate the 'proof-of-work' hash (an expensive hash).
@@ -45,15 +46,15 @@ GNUNET_CRYPTO_pow_hash (const char *salt,
                         size_t buf_len,
                         struct GNUNET_HashCode *result)
 {
-#ifdef LSD001
+#ifdef LSD0001
   char twofish_iv[128 / 8]; // 128 bit IV
   char twofish_key[256 / 8]; // 256 bit Key
   char rbuf[buf_len];
   int rc;
   gcry_cipher_hd_t handle;
 
-  GNUNET_break (ARGON2_OK == argon2d_hash_raw (2, /* iterations */
-                                               100000, /* memory (kb) */
+  GNUNET_break (ARGON2_OK == argon2d_hash_raw (3, /* iterations */
+                                               1024, /* memory (1 MiB) */
                                                1, /* threads */
                                                buf,
                                                buf_len,
@@ -85,30 +86,31 @@ GNUNET_CRYPTO_pow_hash (const char *salt,
   GNUNET_assert (0 == gcry_cipher_encrypt (handle, &rbuf, buf_len, buf,
                                            buf_len));
   gcry_cipher_close (handle);
-  GNUNET_break (ARGON2_OK == argon2d_hash_raw (2, /* iterations */
-                                               100000, /* memory */
+  GNUNET_break (ARGON2_OK == argon2d_hash_raw (3, /* iterations */
+                                               1024, /* memory (1 MiB) */
                                                1, /* threads */
                                                rbuf,
                                                buf_len,
                                                salt,
                                                strlen (salt),
                                                result,
-                                               sizeof (struct GNUNET_HashCode)));
+                                               sizeof (struct
+                                                       GNUNET_HashCode)));
 
 #else
   struct GNUNET_CRYPTO_SymmetricInitializationVector iv;
   struct GNUNET_CRYPTO_SymmetricSessionKey skey;
   char rbuf[buf_len];
 
-  GNUNET_break (ARGON2_OK == argon2d_hash_raw (buf,
-                                               buf_len,
-                                               GCRY_KDF_SCRYPT,
-                                               1 /* subalgo */,
-                                               salt,
-                                               strlen (salt),
-                                               2 /* iterations; keep cost of individual op small */,
-                                               sizeof(skey),
-                                               &skey));
+  GNUNET_break (0 == gcry_kdf_derive (buf,
+                                      buf_len,
+                                      GCRY_KDF_SCRYPT,
+                                      1 /* subalgo */,
+                                      salt,
+                                      strlen (salt),
+                                      2 /* iterations; keep cost of individual op small */,
+                                      sizeof(skey),
+                                      &skey));
   GNUNET_CRYPTO_symmetric_derive_iv (&iv,
                                      &skey,
                                      "gnunet-proof-of-work-iv",