diff options
Diffstat (limited to 'src/nse')
-rw-r--r-- | src/nse/gnunet-service-nse.c | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/src/nse/gnunet-service-nse.c b/src/nse/gnunet-service-nse.c index 3e72be1c5..3f04314a6 100644 --- a/src/nse/gnunet-service-nse.c +++ b/src/nse/gnunet-service-nse.c | |||
@@ -488,29 +488,6 @@ get_delay_randomization (uint32_t matching_bits) | |||
488 | 488 | ||
489 | 489 | ||
490 | /** | 490 | /** |
491 | * Calculate the 'proof-of-work' hash (an expensive hash). | ||
492 | * | ||
493 | * @param buf data to hash | ||
494 | * @param buf_len number of bytes in @a buf | ||
495 | * @param result where to write the resulting hash | ||
496 | */ | ||
497 | static void | ||
498 | pow_hash (const void *buf, size_t buf_len, struct GNUNET_HashCode *result) | ||
499 | { | ||
500 | GNUNET_break ( | ||
501 | 0 == gcry_kdf_derive (buf, | ||
502 | buf_len, | ||
503 | GCRY_KDF_SCRYPT, | ||
504 | 1 /* subalgo */, | ||
505 | "gnunet-proof-of-work", | ||
506 | strlen ("gnunet-proof-of-work"), | ||
507 | 2 /* iterations; keep cost of individual op small */, | ||
508 | sizeof(struct GNUNET_HashCode), | ||
509 | result)); | ||
510 | } | ||
511 | |||
512 | |||
513 | /** | ||
514 | * Get the number of matching bits that the given timestamp has to the given peer ID. | 491 | * Get the number of matching bits that the given timestamp has to the given peer ID. |
515 | * | 492 | * |
516 | * @param timestamp time to generate key | 493 | * @param timestamp time to generate key |
@@ -828,7 +805,7 @@ check_proof_of_work (const struct GNUNET_CRYPTO_EddsaPublicKey *pkey, | |||
828 | GNUNET_memcpy (&buf[sizeof(val)], | 805 | GNUNET_memcpy (&buf[sizeof(val)], |
829 | pkey, | 806 | pkey, |
830 | sizeof(struct GNUNET_CRYPTO_EddsaPublicKey)); | 807 | sizeof(struct GNUNET_CRYPTO_EddsaPublicKey)); |
831 | pow_hash (buf, sizeof(buf), &result); | 808 | GNUNET_CRYPTO_pow_hash (buf, sizeof(buf), &result); |
832 | return (count_leading_zeroes (&result) >= nse_work_required) ? GNUNET_YES | 809 | return (count_leading_zeroes (&result) >= nse_work_required) ? GNUNET_YES |
833 | : GNUNET_NO; | 810 | : GNUNET_NO; |
834 | } | 811 | } |
@@ -880,7 +857,7 @@ find_proof (void *cls) | |||
880 | while ((counter != UINT64_MAX) && (i < ROUND_SIZE)) | 857 | while ((counter != UINT64_MAX) && (i < ROUND_SIZE)) |
881 | { | 858 | { |
882 | GNUNET_memcpy (buf, &counter, sizeof(uint64_t)); | 859 | GNUNET_memcpy (buf, &counter, sizeof(uint64_t)); |
883 | pow_hash (buf, sizeof(buf), &result); | 860 | GNUNET_CRYPTO_pow_hash (buf, sizeof(buf), &result); |
884 | if (nse_work_required <= count_leading_zeroes (&result)) | 861 | if (nse_work_required <= count_leading_zeroes (&result)) |
885 | { | 862 | { |
886 | my_proof = counter; | 863 | my_proof = counter; |