diff options
Diffstat (limited to 'libcmix-crypto/elgamal')
| -rw-r--r-- | libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c | 28 |
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) { |
