diff options
author | Florian Dold <florian.dold@gmail.com> | 2014-01-21 10:08:13 +0000 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2014-01-21 10:08:13 +0000 |
commit | 91157c746610b0e00d2f61d8a2dd191b5d5df73f (patch) | |
tree | 0f12f3325ac55e0df239651f6c7438d65f70c3b5 /src/secretsharing/gnunet-service-secretsharing.c | |
parent | dcb7f90287cfdeb6d21d70715e4817a980a17c85 (diff) | |
download | gnunet-91157c746610b0e00d2f61d8a2dd191b5d5df73f.tar.gz gnunet-91157c746610b0e00d2f61d8a2dd191b5d5df73f.zip |
use paillier private key container in secretsharing
Diffstat (limited to 'src/secretsharing/gnunet-service-secretsharing.c')
-rw-r--r-- | src/secretsharing/gnunet-service-secretsharing.c | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/src/secretsharing/gnunet-service-secretsharing.c b/src/secretsharing/gnunet-service-secretsharing.c index ba63c32cd..e3b033efb 100644 --- a/src/secretsharing/gnunet-service-secretsharing.c +++ b/src/secretsharing/gnunet-service-secretsharing.c | |||
@@ -184,14 +184,9 @@ struct KeygenSession | |||
184 | struct GNUNET_HashCode session_id; | 184 | struct GNUNET_HashCode session_id; |
185 | 185 | ||
186 | /** | 186 | /** |
187 | * lambda-component of our peer's paillier private key. | 187 | * Paillier private key of our peer. |
188 | */ | 188 | */ |
189 | gcry_mpi_t paillier_lambda; | 189 | struct GNUNET_CRYPTO_PaillierPrivateKey paillier_private_key; |
190 | |||
191 | /** | ||
192 | * mu-component of our peer's paillier private key. | ||
193 | */ | ||
194 | gcry_mpi_t paillier_mu; | ||
195 | 190 | ||
196 | /** | 191 | /** |
197 | * When would we like the key to be established? | 192 | * When would we like the key to be established? |
@@ -979,16 +974,13 @@ keygen_round2_new_element (void *cls, | |||
979 | 974 | ||
980 | // FIXME: remove this ugly block once we changed all MPIs to containers | 975 | // FIXME: remove this ugly block once we changed all MPIs to containers |
981 | { | 976 | { |
982 | struct GNUNET_CRYPTO_PaillierPrivateKey private_key; | ||
983 | struct GNUNET_CRYPTO_PaillierPlaintext plaintext; | 977 | struct GNUNET_CRYPTO_PaillierPlaintext plaintext; |
984 | struct GNUNET_CRYPTO_PaillierCiphertext ciphertext; | 978 | struct GNUNET_CRYPTO_PaillierCiphertext ciphertext; |
985 | 979 | ||
986 | GNUNET_CRYPTO_mpi_print_unsigned (&private_key.lambda, sizeof private_key.lambda, ks->paillier_lambda); | ||
987 | GNUNET_CRYPTO_mpi_print_unsigned (&private_key.mu, sizeof private_key.mu, ks->paillier_mu); | ||
988 | GNUNET_CRYPTO_mpi_print_unsigned (&ciphertext, sizeof ciphertext, c); | 980 | GNUNET_CRYPTO_mpi_print_unsigned (&ciphertext, sizeof ciphertext, c); |
989 | 981 | ||
990 | 982 | ||
991 | GNUNET_CRYPTO_paillier_decrypt (&private_key, &ks->info[ks->local_peer_idx].paillier_public_key, | 983 | GNUNET_CRYPTO_paillier_decrypt (&ks->paillier_private_key, &ks->info[ks->local_peer_idx].paillier_public_key, |
992 | &ciphertext, &plaintext); | 984 | &ciphertext, &plaintext); |
993 | GNUNET_CRYPTO_mpi_scan_unsigned (&info->decrypted_preshare, &plaintext, | 985 | GNUNET_CRYPTO_mpi_scan_unsigned (&info->decrypted_preshare, &plaintext, |
994 | sizeof plaintext); | 986 | sizeof plaintext); |
@@ -1101,7 +1093,6 @@ static void handle_client_keygen (void *cls, | |||
1101 | (const struct GNUNET_SECRETSHARING_CreateMessage *) message; | 1093 | (const struct GNUNET_SECRETSHARING_CreateMessage *) message; |
1102 | struct KeygenSession *ks; | 1094 | struct KeygenSession *ks; |
1103 | unsigned int i; | 1095 | unsigned int i; |
1104 | struct GNUNET_CRYPTO_PaillierPrivateKey private_key; | ||
1105 | 1096 | ||
1106 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "client requested key generation\n"); | 1097 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, "client requested key generation\n"); |
1107 | 1098 | ||
@@ -1131,16 +1122,8 @@ static void handle_client_keygen (void *cls, | |||
1131 | for (i = 0; i < ks->num_peers; i++) | 1122 | for (i = 0; i < ks->num_peers; i++) |
1132 | ks->info[i].peer = ks->peers[i]; | 1123 | ks->info[i].peer = ks->peers[i]; |
1133 | 1124 | ||
1134 | GNUNET_assert (0 != (ks->paillier_lambda = mpi_new (0))); | ||
1135 | GNUNET_assert (0 != (ks->paillier_mu = mpi_new (0))); | ||
1136 | |||
1137 | GNUNET_CRYPTO_paillier_create (&ks->info[ks->local_peer_idx].paillier_public_key, | 1125 | GNUNET_CRYPTO_paillier_create (&ks->info[ks->local_peer_idx].paillier_public_key, |
1138 | &private_key); | 1126 | &ks->paillier_private_key); |
1139 | |||
1140 | GNUNET_CRYPTO_mpi_scan_unsigned (&ks->paillier_lambda, | ||
1141 | &private_key.lambda, sizeof private_key.lambda); | ||
1142 | GNUNET_CRYPTO_mpi_scan_unsigned (&ks->paillier_mu, | ||
1143 | &private_key.mu, sizeof private_key.mu); | ||
1144 | 1127 | ||
1145 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Generated paillier key pair\n", ks->local_peer_idx); | 1128 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "P%u: Generated paillier key pair\n", ks->local_peer_idx); |
1146 | 1129 | ||