From 965b4da7794b3fd0812907559c9434f98f4819fc Mon Sep 17 00:00:00 2001 From: Markus Teich Date: Wed, 22 Jun 2016 02:05:00 +0200 Subject: smc_zkp_dl: make v an output parameter --- crypto.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'crypto.c') diff --git a/crypto.c b/crypto.c index d7d2e0f..3619f3c 100644 --- a/crypto.c +++ b/crypto.c @@ -616,15 +616,15 @@ smc_compute_outcome (struct AuctionData *ad) * smc_zkp_dl creates a proof of knowledge of @a x with \f$v = xg\f$ where * \f$g\f$ is the base point on Ed25519. * - * @param[in] v input point. Must be known to the verifier. + * @param[out] v output point. Must be known to the verifier. * @param[in] x private key. Knowledge of this number is certified in the proof * @param[out] proof pointer where to save the output proof structure. Must be * shared with the verifier. */ void -smc_zkp_dl (const gcry_mpi_point_t v, - const gcry_mpi_t x, - struct proof_dl *proof) +smc_zkp_dl (gcry_mpi_point_t v, + const gcry_mpi_t x, + struct proof_dl *proof) { struct zkp_challenge_dl challenge; struct brandt_hash_code challhash; @@ -633,6 +633,9 @@ smc_zkp_dl (const gcry_mpi_point_t v, gcry_mpi_t c = gcry_mpi_new (0); gcry_mpi_t z = gcry_mpi_new (0); + /* v = xg */ + gcry_mpi_ec_mul (v, x, ec_gen, ec_ctx); + /* a = zg */ ec_keypair_create (a, z); -- cgit v1.2.3