aboutsummaryrefslogtreecommitdiff
path: root/src/secretsharing/gnunet-service-secretsharing.c
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2014-01-21 10:10:44 +0000
committerFlorian Dold <florian.dold@gmail.com>2014-01-21 10:10:44 +0000
commit3e6af1db9bff71a783efe00b773b2a68f50ac518 (patch)
tree1212d1abfb3aa59ecb873b638fe306033b096781 /src/secretsharing/gnunet-service-secretsharing.c
parent91157c746610b0e00d2f61d8a2dd191b5d5df73f (diff)
downloadgnunet-3e6af1db9bff71a783efe00b773b2a68f50ac518.tar.gz
gnunet-3e6af1db9bff71a783efe00b773b2a68f50ac518.zip
remove unnecessary mpi conversion
Diffstat (limited to 'src/secretsharing/gnunet-service-secretsharing.c')
-rw-r--r--src/secretsharing/gnunet-service-secretsharing.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/src/secretsharing/gnunet-service-secretsharing.c b/src/secretsharing/gnunet-service-secretsharing.c
index e3b033efb..4af5124ca 100644
--- a/src/secretsharing/gnunet-service-secretsharing.c
+++ b/src/secretsharing/gnunet-service-secretsharing.c
@@ -904,7 +904,7 @@ keygen_round2_new_element (void *cls,
904 const struct GNUNET_SECRETSHARING_KeygenRevealData *d; 904 const struct GNUNET_SECRETSHARING_KeygenRevealData *d;
905 struct KeygenPeerInfo *info; 905 struct KeygenPeerInfo *info;
906 unsigned char *pos; 906 unsigned char *pos;
907 gcry_mpi_t c; 907 struct GNUNET_CRYPTO_PaillierPlaintext plaintext;
908 size_t expected_element_size; 908 size_t expected_element_size;
909 909
910 if (NULL == element) 910 if (NULL == element)
@@ -970,21 +970,10 @@ keygen_round2_new_element (void *cls,
970 // skip to the encrypted value for our peer 970 // skip to the encrypted value for our peer
971 pos += GNUNET_CRYPTO_PAILLIER_BITS * 2 / 8 * ks->local_peer_idx; 971 pos += GNUNET_CRYPTO_PAILLIER_BITS * 2 / 8 * ks->local_peer_idx;
972 972
973 GNUNET_CRYPTO_mpi_scan_unsigned (&c, pos, GNUNET_CRYPTO_PAILLIER_BITS * 2 / 8); 973 GNUNET_CRYPTO_paillier_decrypt (&ks->paillier_private_key, &ks->info[ks->local_peer_idx].paillier_public_key,
974 974 (struct GNUNET_CRYPTO_PaillierCiphertext *) pos, &plaintext);
975 // FIXME: remove this ugly block once we changed all MPIs to containers 975 GNUNET_CRYPTO_mpi_scan_unsigned (&info->decrypted_preshare, &plaintext,
976 { 976 sizeof plaintext);
977 struct GNUNET_CRYPTO_PaillierPlaintext plaintext;
978 struct GNUNET_CRYPTO_PaillierCiphertext ciphertext;
979
980 GNUNET_CRYPTO_mpi_print_unsigned (&ciphertext, sizeof ciphertext, c);
981
982
983 GNUNET_CRYPTO_paillier_decrypt (&ks->paillier_private_key, &ks->info[ks->local_peer_idx].paillier_public_key,
984 &ciphertext, &plaintext);
985 GNUNET_CRYPTO_mpi_scan_unsigned (&info->decrypted_preshare, &plaintext,
986 sizeof plaintext);
987 }
988 977
989 // TODO: validate zero knowledge proofs 978 // TODO: validate zero knowledge proofs
990 979