diff options
author | Christian Fuchs <christian.fuchs@cfuchs.net> | 2014-01-29 14:28:07 +0000 |
---|---|---|
committer | Christian Fuchs <christian.fuchs@cfuchs.net> | 2014-01-29 14:28:07 +0000 |
commit | 1d5ab4f4f4fe1d86a10cd9bd95464dcfbff3da8e (patch) | |
tree | e959ae4772e51f32bd11a8fff1921e4dff1d6cb9 /src/util/test_crypto_paillier.c | |
parent | ecaa90d24cde249ab9c739713bfc37f6b108b7e7 (diff) | |
download | gnunet-1d5ab4f4f4fe1d86a10cd9bd95464dcfbff3da8e.tar.gz gnunet-1d5ab4f4f4fe1d86a10cd9bd95464dcfbff3da8e.zip |
- re-added testcase for crypto-paillier
- fixed remaining pailier-test bug
- now: achieve world domination or off to new shores
Diffstat (limited to 'src/util/test_crypto_paillier.c')
-rw-r--r-- | src/util/test_crypto_paillier.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/util/test_crypto_paillier.c b/src/util/test_crypto_paillier.c index 47bd09002..aaefd5ac0 100644 --- a/src/util/test_crypto_paillier.c +++ b/src/util/test_crypto_paillier.c | |||
@@ -42,15 +42,19 @@ main (int argc, char *argv[]) | |||
42 | struct GNUNET_CRYPTO_PaillierCiphertext c_result; | 42 | struct GNUNET_CRYPTO_PaillierCiphertext c_result; |
43 | struct GNUNET_CRYPTO_PaillierPublicKey public_key; | 43 | struct GNUNET_CRYPTO_PaillierPublicKey public_key; |
44 | struct GNUNET_CRYPTO_PaillierPrivateKey private_key; | 44 | struct GNUNET_CRYPTO_PaillierPrivateKey private_key; |
45 | 45 | ||
46 | GNUNET_CRYPTO_paillier_create (&public_key, &private_key); | 46 | GNUNET_CRYPTO_paillier_create (&public_key, &private_key); |
47 | 47 | ||
48 | GNUNET_assert (NULL != (m1 = gcry_mpi_new (GNUNET_CRYPTO_PAILLIER_BITS-2))); | 48 | GNUNET_assert (NULL != (m1 = gcry_mpi_new (0))); |
49 | GNUNET_assert (NULL != (m2 = gcry_mpi_new (GNUNET_CRYPTO_PAILLIER_BITS-2))); | 49 | GNUNET_assert (NULL != (m2 = gcry_mpi_new (0))); |
50 | GNUNET_assert (NULL != (result = gcry_mpi_new (GNUNET_CRYPTO_PAILLIER_BITS))); | 50 | GNUNET_assert (NULL != (result = gcry_mpi_new (0))); |
51 | GNUNET_assert (NULL != (hom_result = gcry_mpi_new (GNUNET_CRYPTO_PAILLIER_BITS))); | 51 | GNUNET_assert (NULL != (hom_result = gcry_mpi_new (0))); |
52 | gcry_mpi_randomize (m1, GNUNET_CRYPTO_PAILLIER_BITS-2, GCRY_WEAK_RANDOM); | 52 | //gcry_mpi_randomize (m1, GNUNET_CRYPTO_PAILLIER_BITS-2, GCRY_WEAK_RANDOM); |
53 | gcry_mpi_randomize (m2, GNUNET_CRYPTO_PAILLIER_BITS-2, GCRY_WEAK_RANDOM); | 53 | m1 = gcry_mpi_set_ui(m1,1); |
54 | gcry_mpi_mul_2exp(m1,m1,GNUNET_CRYPTO_PAILLIER_BITS-2); | ||
55 | //gcry_mpi_randomize (m2, GNUNET_CRYPTO_PAILLIER_BITS-2, GCRY_WEAK_RANDOM); | ||
56 | m2 = gcry_mpi_set_ui(m2,1); | ||
57 | gcry_mpi_mul_2exp(m2,m2,GNUNET_CRYPTO_PAILLIER_BITS-2); | ||
54 | gcry_mpi_add(result,m1,m2); | 58 | gcry_mpi_add(result,m1,m2); |
55 | 59 | ||
56 | if (1 != (ret = GNUNET_CRYPTO_paillier_encrypt (&public_key, m1, &c1))){ | 60 | if (1 != (ret = GNUNET_CRYPTO_paillier_encrypt (&public_key, m1, &c1))){ |
@@ -71,10 +75,13 @@ main (int argc, char *argv[]) | |||
71 | 75 | ||
72 | GNUNET_CRYPTO_paillier_decrypt (&private_key, &public_key, | 76 | GNUNET_CRYPTO_paillier_decrypt (&private_key, &public_key, |
73 | &c_result, hom_result); | 77 | &c_result, hom_result); |
74 | 78 | ||
75 | if (0 != gcry_mpi_cmp(result, hom_result)) | 79 | gcry_log_debugmpi("\n", hom_result); |
80 | gcry_log_debugmpi("\n", result); | ||
81 | if (0 != gcry_mpi_cmp(result, hom_result)){ | ||
76 | printf ("GNUNET_CRYPTO_paillier miscalculated!\n"); | 82 | printf ("GNUNET_CRYPTO_paillier miscalculated!\n"); |
77 | return 1; | 83 | return 1; |
84 | } | ||
78 | 85 | ||
79 | return 0; | 86 | return 0; |
80 | } | 87 | } |