gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnunet] branch master updated: mystery solved?


From: gnunet
Subject: [GNUnet-SVN] [gnunet] branch master updated: mystery solved?
Date: Thu, 14 Feb 2019 11:01:01 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new 7ab593ff4 mystery solved?
7ab593ff4 is described below

commit 7ab593ff491129df2e4d438e39a182f3bd96ba47
Author: Christian Grothoff <address@hidden>
AuthorDate: Thu Feb 14 11:00:59 2019 +0100

    mystery solved?
---
 src/secretsharing/gnunet-service-secretsharing.c | 35 ++++++++++++++++--------
 1 file changed, 23 insertions(+), 12 deletions(-)

diff --git a/src/secretsharing/gnunet-service-secretsharing.c 
b/src/secretsharing/gnunet-service-secretsharing.c
index e423217f2..011e79b27 100644
--- a/src/secretsharing/gnunet-service-secretsharing.c
+++ b/src/secretsharing/gnunet-service-secretsharing.c
@@ -984,7 +984,8 @@ restore_fair (const struct GNUNET_CRYPTO_PaillierPublicKey 
*ppub,
 
 
 static void
-get_fair_encryption_challenge (const struct 
GNUNET_SECRETSHARING_FairEncryption *fe, gcry_mpi_t e)
+get_fair_encryption_challenge (const struct 
GNUNET_SECRETSHARING_FairEncryption *fe,
+                               gcry_mpi_t *e)
 {
   struct {
     struct GNUNET_CRYPTO_PaillierCiphertext c;
@@ -1004,13 +1005,17 @@ get_fair_encryption_challenge (const struct 
GNUNET_SECRETSHARING_FairEncryption
   GNUNET_CRYPTO_hash (&hash_data,
                       sizeof (hash_data),
                       &e_hash);
-  GNUNET_CRYPTO_mpi_scan_unsigned (&e, &e_hash, sizeof (struct 
GNUNET_HashCode));
-  gcry_mpi_mod (e, e, elgamal_q);
+  /* This allocates "e" */
+  GNUNET_CRYPTO_mpi_scan_unsigned (e,
+                                   &e_hash,
+                                   sizeof (struct GNUNET_HashCode));
+  gcry_mpi_mod (*e, *e, elgamal_q);
 }
 
 
 static int
-verify_fair (const struct GNUNET_CRYPTO_PaillierPublicKey *ppub, const struct 
GNUNET_SECRETSHARING_FairEncryption *fe)
+verify_fair (const struct GNUNET_CRYPTO_PaillierPublicKey *ppub,
+             const struct GNUNET_SECRETSHARING_FairEncryption *fe)
 {
   gcry_mpi_t n;
   gcry_mpi_t n_sq;
@@ -1028,11 +1033,13 @@ verify_fair (const struct 
GNUNET_CRYPTO_PaillierPublicKey *ppub, const struct GN
   GNUNET_assert (NULL != (n_sq = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (tmp1 = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (tmp2 = gcry_mpi_new (0)));
-  GNUNET_assert (NULL != (e = gcry_mpi_new (0)));
 
-  get_fair_encryption_challenge (fe, e);
+  get_fair_encryption_challenge (fe,
+                                 &e /* this allocates e */);
 
-  GNUNET_CRYPTO_mpi_scan_unsigned (&n, ppub, sizeof (struct 
GNUNET_CRYPTO_PaillierPublicKey));
+  GNUNET_CRYPTO_mpi_scan_unsigned (&n,
+                                   ppub,
+                                   sizeof (struct 
GNUNET_CRYPTO_PaillierPublicKey));
   GNUNET_CRYPTO_mpi_scan_unsigned (&t1, fe->t1, GNUNET_CRYPTO_PAILLIER_BITS / 
8);
   GNUNET_CRYPTO_mpi_scan_unsigned (&z, fe->z, 
GNUNET_SECRETSHARING_ELGAMAL_BITS / 8);
   GNUNET_CRYPTO_mpi_scan_unsigned (&y, fe->h, 
GNUNET_SECRETSHARING_ELGAMAL_BITS / 8);
@@ -1101,7 +1108,9 @@ cleanup:
  * @param[out] fe the fair encryption
  */
 static void
-encrypt_fair (gcry_mpi_t v, const struct GNUNET_CRYPTO_PaillierPublicKey 
*ppub, struct GNUNET_SECRETSHARING_FairEncryption *fe)
+encrypt_fair (gcry_mpi_t v,
+              const struct GNUNET_CRYPTO_PaillierPublicKey *ppub,
+              struct GNUNET_SECRETSHARING_FairEncryption *fe)
 {
   gcry_mpi_t r;
   gcry_mpi_t s;
@@ -1116,6 +1125,7 @@ encrypt_fair (gcry_mpi_t v, const struct 
GNUNET_CRYPTO_PaillierPublicKey *ppub,
   gcry_mpi_t Y;
   gcry_mpi_t G;
   gcry_mpi_t h;
+
   GNUNET_assert (NULL != (r = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (s = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (t1 = gcry_mpi_new (0)));
@@ -1123,13 +1133,14 @@ encrypt_fair (gcry_mpi_t v, const struct 
GNUNET_CRYPTO_PaillierPublicKey *ppub,
   GNUNET_assert (NULL != (z = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (w = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (n_sq = gcry_mpi_new (0)));
-  GNUNET_assert (NULL != (e = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (u = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (Y = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (G = gcry_mpi_new (0)));
   GNUNET_assert (NULL != (h = gcry_mpi_new (0)));
 
-  GNUNET_CRYPTO_mpi_scan_unsigned (&n, ppub, sizeof (struct 
GNUNET_CRYPTO_PaillierPublicKey));
+  GNUNET_CRYPTO_mpi_scan_unsigned (&n,
+                                   ppub,
+                                   sizeof (struct 
GNUNET_CRYPTO_PaillierPublicKey));
   gcry_mpi_mul (n_sq, n, n);
   gcry_mpi_add_ui (G, n, 1);
 
@@ -1175,8 +1186,8 @@ encrypt_fair (gcry_mpi_t v, const struct 
GNUNET_CRYPTO_PaillierPublicKey *ppub,
                                     GNUNET_CRYPTO_PAILLIER_BITS * 2 / 8,
                                     t2);
 
-
-  get_fair_encryption_challenge (fe, e);
+  get_fair_encryption_challenge (fe,
+                                 &e /* This allocates "e" */);
 
   // compute z
   gcry_mpi_mul (z, e, v);

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]