[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis] branch master updated: worked on core secret encryptio
From: |
gnunet |
Subject: |
[taler-anastasis] branch master updated: worked on core secret encryption |
Date: |
Mon, 30 Mar 2020 09:22:20 +0200 |
This is an automated email from the git hooks/post-receive script.
dennis-neufeld pushed a commit to branch master
in repository anastasis.
The following commit(s) were added to refs/heads/master by this push:
new 004cde0 worked on core secret encryption
004cde0 is described below
commit 004cde04294df9771ec8302242cc8a56bdcbdec4
Author: Dennis Neufeld <address@hidden>
AuthorDate: Mon Mar 30 07:22:15 2020 +0000
worked on core secret encryption
---
src/util/anastasis_crypto.c | 38 ++++++++++++++++++++++++++++++++++++--
1 file changed, 36 insertions(+), 2 deletions(-)
diff --git a/src/util/anastasis_crypto.c b/src/util/anastasis_crypto.c
index cf786a8..da7ba7e 100644
--- a/src/util/anastasis_crypto.c
+++ b/src/util/anastasis_crypto.c
@@ -470,7 +470,7 @@ ANASTASIS_CRYPTO_policy_key_derive (
GNUNET_CRYPTO_hash (&key_shares[i],
sizeof (struct ANASTASIS_CRYPTO_KeyShare),
&ks);
- if (i = 0)
+ if (i == 0)
b = ks;
else
{
@@ -479,6 +479,7 @@ ANASTASIS_CRYPTO_policy_key_derive (
&p);
}
}
+ // FIXME: SCRYPT or simple hash?
GNUNET_assert (0 ==
gcry_kdf_derive (&p,
sizeof (struct GNUNET_HashCode),
@@ -517,7 +518,40 @@ ANASTASIS_CRYPTO_core_secret_encrypt (
size_t *enc_core_secret_size,
struct ANASTASIS_CRYPTO_EncryptedMasterKey *encrypted_master_keys)
{
-
+ struct GNUNET_CRYPTO_SymmetricSessionKey sk;
+ struct GNUNET_CRYPTO_SymmetricInitializationVector iv;
+ struct GNUNET_HashCode master_key;
+ GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_STRONG,
+ &master_key,
+ sizeof (struct GNUNET_HashCode));
+ GNUNET_CRYPTO_hash_to_aes_key (&master_key, &sk, &iv);
+ if (-1 == GNUNET_CRYPTO_symmetric_encrypt (core_secret,
+ core_secret_size,
+ &sk,
+ &iv,
+ *enc_core_secret))
+ ;
+
+ for (unsigned int i = 0; i < policy_keys_length; i++)
+ {
+ struct GNUNET_CRYPTO_SymmetricSessionKey i_sk;
+ struct GNUNET_CRYPTO_SymmetricInitializationVector i_iv;
+ struct GNUNET_HashCode hashed_policy_key;
+
+ GNUNET_CRYPTO_hash (&policy_keys[i],
+ sizeof (struct ANASTASIS_CRYPTO_PolicyKey),
+ &hashed_policy_key);
+ GNUNET_CRYPTO_hash_to_aes_key (&hashed_policy_key, &i_sk, &i_iv);
+ if (-1 == GNUNET_CRYPTO_symmetric_encrypt (&master_key,
+ sizeof (struct GNUNET_HashCode),
+ &i_sk,
+ &i_iv,
+ &encrypted_master_keys[0]))
+ ;
+ {
+ GNUNET_break (0);
+ }
+ }
}
--
To stop receiving notification emails like this one, please contact
address@hidden.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-anastasis] branch master updated: worked on core secret encryption,
gnunet <=