gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r32072 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r32072 - gnunet/src/util
Date: Wed, 29 Jan 2014 15:28:07 +0100

Author: cfuchs
Date: 2014-01-29 15:28:07 +0100 (Wed, 29 Jan 2014)
New Revision: 32072

Modified:
   gnunet/src/util/Makefile.am
   gnunet/src/util/crypto_paillier.c
   gnunet/src/util/test_crypto_paillier.c
Log:
- re-added testcase for crypto-paillier
- fixed remaining pailier-test bug
- now: achieve world domination or off to new shores

Modified: gnunet/src/util/Makefile.am
===================================================================
--- gnunet/src/util/Makefile.am 2014-01-29 12:57:21 UTC (rev 32071)
+++ gnunet/src/util/Makefile.am 2014-01-29 14:28:07 UTC (rev 32072)
@@ -245,6 +245,7 @@
  test_crypto_ecdhe \
  test_crypto_hash \
  test_crypto_hkdf \
+ test_crypto_paillier \
  test_crypto_random \
  test_disk \
  test_getopt \

Modified: gnunet/src/util/crypto_paillier.c
===================================================================
--- gnunet/src/util/crypto_paillier.c   2014-01-29 12:57:21 UTC (rev 32071)
+++ gnunet/src/util/crypto_paillier.c   2014-01-29 14:28:07 UTC (rev 32072)
@@ -45,8 +45,8 @@
   gcry_mpi_t phi;
   gcry_mpi_t n;
 
-  GNUNET_assert (NULL != (phi = gcry_mpi_new (GNUNET_CRYPTO_PAILLIER_BITS)));
-  GNUNET_assert (NULL != (n = gcry_mpi_new (GNUNET_CRYPTO_PAILLIER_BITS)));
+  GNUNET_assert (NULL != (phi = gcry_mpi_new (0)));
+  GNUNET_assert (NULL != (n = gcry_mpi_new (0)));
 
   p = q = NULL;
 
@@ -113,15 +113,14 @@
   GNUNET_assert (NULL != (tmp1 = gcry_mpi_set_ui(NULL, 1))); 
   GNUNET_assert (NULL != (tmp2 = gcry_mpi_set_ui(NULL, 2))); 
   gcry_mpi_mul_2exp(tmp1,tmp1,GNUNET_CRYPTO_PAILLIER_BITS);
-  for (possible_opts = 0; gcry_mpi_cmp(tmp1,m) > 0; possible_opts++){
-    gcry_mpi_div(tmp1, NULL, tmp1, tmp2 ,0);
+  
+  for (possible_opts = -1; gcry_mpi_cmp(tmp1, m) > 0; possible_opts++){
+    gcry_mpi_div(tmp1, NULL, tmp1, tmp2, 0);
   }
   gcry_mpi_release(tmp1);
   gcry_mpi_release(tmp2);
-  if (0 >= possible_opts)
-  {
+  if (possible_opts < 1)
     return -1;
-  }
   else
     // reduce by one to guarantee the final homomorphic operation
     ciphertext->remaining_ops = htonl(possible_opts);

Modified: gnunet/src/util/test_crypto_paillier.c
===================================================================
--- gnunet/src/util/test_crypto_paillier.c      2014-01-29 12:57:21 UTC (rev 
32071)
+++ gnunet/src/util/test_crypto_paillier.c      2014-01-29 14:28:07 UTC (rev 
32072)
@@ -42,15 +42,19 @@
   struct GNUNET_CRYPTO_PaillierCiphertext c_result;
   struct GNUNET_CRYPTO_PaillierPublicKey public_key;
   struct GNUNET_CRYPTO_PaillierPrivateKey private_key;
-
+  
   GNUNET_CRYPTO_paillier_create (&public_key, &private_key);
 
-  GNUNET_assert (NULL != (m1 = gcry_mpi_new (GNUNET_CRYPTO_PAILLIER_BITS-2)));
-  GNUNET_assert (NULL != (m2 = gcry_mpi_new (GNUNET_CRYPTO_PAILLIER_BITS-2)));
-  GNUNET_assert (NULL != (result = gcry_mpi_new 
(GNUNET_CRYPTO_PAILLIER_BITS)));
-  GNUNET_assert (NULL != (hom_result = gcry_mpi_new 
(GNUNET_CRYPTO_PAILLIER_BITS)));
-  gcry_mpi_randomize (m1, GNUNET_CRYPTO_PAILLIER_BITS-2, GCRY_WEAK_RANDOM);
-  gcry_mpi_randomize (m2, GNUNET_CRYPTO_PAILLIER_BITS-2, GCRY_WEAK_RANDOM);
+  GNUNET_assert (NULL != (m1 = gcry_mpi_new (0)));
+  GNUNET_assert (NULL != (m2 = gcry_mpi_new (0)));
+  GNUNET_assert (NULL != (result = gcry_mpi_new (0)));
+  GNUNET_assert (NULL != (hom_result = gcry_mpi_new (0)));
+  //gcry_mpi_randomize (m1, GNUNET_CRYPTO_PAILLIER_BITS-2, GCRY_WEAK_RANDOM);
+  m1 = gcry_mpi_set_ui(m1,1);
+  gcry_mpi_mul_2exp(m1,m1,GNUNET_CRYPTO_PAILLIER_BITS-2);
+  //gcry_mpi_randomize (m2, GNUNET_CRYPTO_PAILLIER_BITS-2, GCRY_WEAK_RANDOM);
+  m2 = gcry_mpi_set_ui(m2,1);
+  gcry_mpi_mul_2exp(m2,m2,GNUNET_CRYPTO_PAILLIER_BITS-2);
   gcry_mpi_add(result,m1,m2);
 
   if (1 != (ret = GNUNET_CRYPTO_paillier_encrypt (&public_key, m1, &c1))){
@@ -71,10 +75,13 @@
   
   GNUNET_CRYPTO_paillier_decrypt (&private_key, &public_key,
                                   &c_result, hom_result);
-
-  if (0 != gcry_mpi_cmp(result, hom_result))
+  
+  gcry_log_debugmpi("\n", hom_result);
+  gcry_log_debugmpi("\n", result);
+  if (0 != gcry_mpi_cmp(result, hom_result)){
     printf ("GNUNET_CRYPTO_paillier miscalculated!\n");
     return 1;
+  }
   
   return 0;
 }




reply via email to

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