[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis] 05/09: modified policy key derivation
From: |
gnunet |
Subject: |
[taler-anastasis] 05/09: modified policy key derivation |
Date: |
Wed, 01 Apr 2020 10:12:28 +0200 |
This is an automated email from the git hooks/post-receive script.
dennis-neufeld pushed a commit to branch master
in repository anastasis.
commit dd12182baf6abc6efd48765c58528c4af8e45505
Author: Dennis Neufeld <address@hidden>
AuthorDate: Wed Apr 1 07:34:44 2020 +0000
modified policy key derivation
---
src/include/anastasis_crypto_lib.h | 2 ++
src/util/anastasis_crypto.c | 39 +++++++++++---------------------------
2 files changed, 13 insertions(+), 28 deletions(-)
diff --git a/src/include/anastasis_crypto_lib.h
b/src/include/anastasis_crypto_lib.h
index fb4b5b0..8175155 100644
--- a/src/include/anastasis_crypto_lib.h
+++ b/src/include/anastasis_crypto_lib.h
@@ -272,12 +272,14 @@ ANASTASIS_CRYPTO_key_share_create (
*
* @param key_shares list of key shares which are combined
* @param keyshare_length amount of key shares inside the array
+ * @param salt salt value
* @param policy_key reference to the created key
*/
void
ANASTASIS_CRYPTO_policy_key_derive (
const struct ANASTASIS_CRYPTO_KeyShare *key_shares,
unsigned int keyshare_length,
+ const struct ANASTASIS_CRYPTO_Salt *salt,
struct ANASTASIS_CRYPTO_PolicyKey *policy_key);
diff --git a/src/util/anastasis_crypto.c b/src/util/anastasis_crypto.c
index 779978c..d39af29 100644
--- a/src/util/anastasis_crypto.c
+++ b/src/util/anastasis_crypto.c
@@ -509,42 +509,25 @@ ANASTASIS_CRYPTO_key_share_create (
*
* @param key_shares list of key shares which are combined
* @param keyshare_length amount of key shares inside the array
+ * @param salt salt value
* @param policy_key reference to the created key
*/
void
ANASTASIS_CRYPTO_policy_key_derive (
const struct ANASTASIS_CRYPTO_KeyShare *key_shares,
unsigned int keyshare_length,
+ const struct ANASTASIS_CRYPTO_Salt *salt,
struct ANASTASIS_CRYPTO_PolicyKey *policy_key)
{
- struct GNUNET_HashCode p;
- struct GNUNET_HashCode b;
- for (unsigned int i = 0; i < keyshare_length; i++)
- {
- struct GNUNET_HashCode ks;
- GNUNET_CRYPTO_hash (&key_shares[i],
- sizeof (struct ANASTASIS_CRYPTO_KeyShare),
- &ks);
- if (i == 0)
- b = ks;
- else
- {
- GNUNET_CRYPTO_hash_xor (&ks,
- &b,
- &p);
- }
- }
- // FIXME: SCRYPT or simple hash?
- GNUNET_assert (0 ==
- gcry_kdf_derive (&p,
- sizeof (struct GNUNET_HashCode),
- GCRY_KDF_SCRYPT,
- 1, // subalgo
- "policykey",
- strlen ("policykey"),
- 1000, // iterations
- sizeof (struct ANASTASIS_CRYPTO_PolicyKey),
- policy_key));
+ GNUNET_CRYPTO_hkdf (policy_key,
+ sizeof (*policy_key),
+ GCRY_MD_SHA512,
+ GCRY_MD_SHA256,
+ key_shares,
+ keyshare_length * sizeof (*key_shares),
+ salt,
+ sizeof (*salt),
+ NULL, 0);
}
--
To stop receiving notification emails like this one, please contact
address@hidden.
- [taler-anastasis] branch master updated (9612023 -> 7e332f6), gnunet, 2020/04/01
- [taler-anastasis] 04/09: private key derivation, gnunet, 2020/04/01
- [taler-anastasis] 02/09: sizeof to strlen..., gnunet, 2020/04/01
- [taler-anastasis] 01/09: changed msec to key, added key_len, gnunet, 2020/04/01
- [taler-anastasis] 03/09: GNUNET_free() to free()..., gnunet, 2020/04/01
- [taler-anastasis] 08/09: GNUNET_malloc() in core_secret_encrypt/recover, gnunet, 2020/04/01
- [taler-anastasis] 06/09: const char*..., gnunet, 2020/04/01
- [taler-anastasis] 07/09: PolicyKey to hash, gnunet, 2020/04/01
- [taler-anastasis] 05/09: modified policy key derivation,
gnunet <=
- [taler-anastasis] 09/09: renaming, gnunet, 2020/04/01