diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2017-02-26 14:38:02 +0100 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2017-02-26 14:38:02 +0100 |
| commit | 83c7247c0991b1988c2f505cf8449f4afa6b806d (patch) | |
| tree | d08f4dba16be9bf8e7926face6e1d2eeaa3abbc4 | |
| parent | 4c748c1022ac898ed59ebd2a1884a62ce4063b39 (diff) | |
| download | cmix-83c7247c0991b1988c2f505cf8449f4afa6b806d.tar.gz cmix-83c7247c0991b1988c2f505cf8449f4afa6b806d.tar.bz2 cmix-83c7247c0991b1988c2f505cf8449f4afa6b806d.zip | |
Adds an api function for elgamal
| -rw-r--r-- | libcmix-crypto/elgamal/elgamal.c | 1 | ||||
| -rw-r--r-- | libcmix-crypto/elgamal/elgamal.h | 2 | ||||
| -rw-r--r-- | libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c | 6 |
3 files changed, 9 insertions, 0 deletions
diff --git a/libcmix-crypto/elgamal/elgamal.c b/libcmix-crypto/elgamal/elgamal.c index d103230..607a155 100644 --- a/libcmix-crypto/elgamal/elgamal.c +++ b/libcmix-crypto/elgamal/elgamal.c @@ -11,6 +11,7 @@ struct Api get_elgamal_implementation() .free_buffer = elgamal_free_buffer, .array_to_element = elgamal_array_to_element, .message_to_element = elgamal_message_to_element, + .element_to_message = elgamal_element_to_message, .get_pub_key_hash = elgamal_get_pub_key_hash, .get_pub_key_hash_length = elgamal_get_pub_key_hash_length, .get_group_element = elgamal_get_group_element, diff --git a/libcmix-crypto/elgamal/elgamal.h b/libcmix-crypto/elgamal/elgamal.h index 4cc3013..9788f95 100644 --- a/libcmix-crypto/elgamal/elgamal.h +++ b/libcmix-crypto/elgamal/elgamal.h @@ -24,6 +24,8 @@ extern ArrayToElement elgamal_array_to_element; extern MessageToElement elgamal_message_to_element; +extern ElementToMessage elgamal_element_to_message; + extern PubKeyHashGetter elgamal_get_pub_key_hash; extern PubKeyHashLengthGetter elgamal_get_pub_key_hash_length; diff --git a/libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c b/libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c index dff75b1..4e6115c 100644 --- a/libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c +++ b/libcmix-crypto/elgamal/gcrypt/gcrypt_elgamal.c @@ -149,6 +149,11 @@ GroupElement gcrypt_elgamal_message_to_element(char const* buffer, size_t len, b return gcrypt_elgamal_array_to_element(buffer, len, secure); } +void gcrypt_elgamal_element_to_message(unsigned char** buffer, GroupElement el) { + size_t len; + gcrypt_elgamal_element_to_array(buffer, &len, el); +} + void gcrypt_elgamal_get_pub_key_hash(char** buffer, size_t* len, GroupElement const pub) { gcry_sexp_t pubkey; gcry_error_t error; @@ -366,6 +371,7 @@ ElementToArray elgamal_element_to_array = &gcrypt_elgamal_element_to_array; BufferDeleter elgamal_free_buffer = &gcrypt_elgamal_free_buffer; ArrayToElement elgamal_array_to_element = &gcrypt_elgamal_array_to_element; MessageToElement elgamal_message_to_element = &gcrypt_elgamal_message_to_element; +ElementToMessage elgamal_element_to_message = &gcrypt_elgamal_element_to_message; PubKeyHashGetter elgamal_get_pub_key_hash = &gcrypt_elgamal_get_pub_key_hash; PubKeyHashLengthGetter elgamal_get_pub_key_hash_length = &gcrypt_elgamal_get_pub_key_hash_length; GroupElementGetter elgamal_get_group_element = &gcrypt_elgamal_get_group_element; |
