aboutsummaryrefslogtreecommitdiff
path: root/libcmix-crypto/elgamal
diff options
context:
space:
mode:
Diffstat (limited to 'libcmix-crypto/elgamal')
-rw-r--r--libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c28
1 files changed, 0 insertions, 28 deletions
diff --git a/libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c b/libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c
index e25ba72..21a7618 100644
--- a/libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c
+++ b/libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c
@@ -78,7 +78,6 @@ struct KeyPair gcrypt_elgamal_create_keypair() {
error = gcry_mpi_scan(&x, GCRYMPI_FMT_USG, bytes, nr_bytes, &parse_error_offset);
gcry_free(bytes);
check(error);
- gcry_mpi_mod(x, x, p); //bias needs to be removed.
} while(gcry_mpi_cmp_ui(x, 0) == 0 || gcry_mpi_cmp(x, p) != -1);
gcry_mpi_t y = gcry_mpi_new(0);
gcry_mpi_powm(y, g, x, p);
@@ -123,7 +122,6 @@ void* gcrypt_elgamal_array_to_element(char const* buffer, size_t len, bool secur
gcry_mpi_t mpi;
error = gcry_mpi_scan(&mpi, GCRYMPI_FMT_USG, buffer, len, &error_pos);
- //gcry_mpi_set_flag(mpi, GCRYMPI_FLAG_SECURE);
check(error);
return mpi;
@@ -151,13 +149,11 @@ void* gcrypt_elgamal_get_group_element(bool secure) {
void* bytes = gcry_random_bytes_secure(nr_bytes, GCRY_VERY_STRONG_RANDOM);
error = gcry_mpi_scan(&a, GCRYMPI_FMT_USG, bytes, nr_bytes, &parse_error_offset);
check(error);
- gcry_mpi_mod(a, a, p); //BIAS REMOVE THIS.
gcry_free(bytes);
} while(gcry_mpi_cmp_ui(a, 0) == 0 || gcry_mpi_cmp(a, p) != -1);
//random bytes generated with GCRY{,_VERY}_STRONG_RANDOM are generated in "secure memory"
//so secure is unused.
-
return a;
}
@@ -177,9 +173,6 @@ GroupElement gcrypt_elgamal_multiply(GroupElement lh, GroupElement rh, bool secu
}
GroupElement gcrypt_elgamal_get_decryption_share(GroupElement r, GroupElement e) {
- //gcry_mpi_t inve = gcry_mpi_snew(0);
- //gcry_mpi_invm(inve, (gcry_mpi_t)e, p);
-
gcry_mpi_t inv_d = gcry_mpi_snew(0);
gcry_mpi_powm(inv_d, (gcry_mpi_t)r, (gcry_mpi_t)e, p);
@@ -255,27 +248,6 @@ void gcrypt_elgamal_encrypt(GroupElement* random_element, GroupElement* message_
gcry_mpi_release((gcry_mpi_t) random);
gcry_mpi_release(key_pow_random);
-
-/* gcry_error_t error;
- size_t parse_error_pos;
-
- gcry_sexp_t pubkey_expr;
- error = gcry_sexp_build(&pubkey_expr, &parse_error_pos, "(public-key (elg (p %M) (g %M) (y %M)))", p, g, key);
- check(error);
-
- gcry_sexp_t value_expr;
- error = gcry_sexp_build(&value_expr, &parse_error_pos, "(data (flags raw) (value %M))", value);
- check(error);
-
- gcry_sexp_t enc_expr;
- error = gcry_pk_encrypt(&enc_expr, value_expr, pubkey_expr);
- check(error);
-
- gcry_sexp_extract_param(enc_expr, NULL, "ab", random_element, message_element, NULL);
-
- gcry_sexp_release(enc_expr);
- gcry_sexp_release(value_expr);
- gcry_sexp_release(pubkey_expr); */
}
GroupElement gcrypt_elgamal_invert(GroupElement const x) {