[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;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r32072 - gnunet/src/util,
gnunet <=