aboutsummaryrefslogtreecommitdiff
path: root/libcmix-crypto/elgamal/elgamal.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcmix-crypto/elgamal/elgamal.h')
-rw-r--r--libcmix-crypto/elgamal/elgamal.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/libcmix-crypto/elgamal/elgamal.h b/libcmix-crypto/elgamal/elgamal.h
index 0662827..dc2dd6f 100644
--- a/libcmix-crypto/elgamal/elgamal.h
+++ b/libcmix-crypto/elgamal/elgamal.h
@@ -36,6 +36,25 @@ extern void elgamal_keypair_deleter(struct KeyPair* p);
extern void elgamal_get_key_array(char** buffer, size_t* len, void* pubkey);
/*!
+ * \brief get_group_element
+ * \param secure
+ * \return
+ */
+extern void* elgamal_get_group_element(bool secure);
+
+/*!
+ * \brief get_key_exchange_value
+ * \param group_el
+ * \return
+ */
+extern void* elgamal_get_key_exchange_value(void* group_el);
+
+/*!
+ * \brief elgamal_free_group_element
+ */
+extern void elgamal_free_group_element(void*);
+
+/*!
* \brief elgamal_add_public_share
* \param buffer
* \param in_len
@@ -52,7 +71,7 @@ void elgamal_add_public_share(char** buffer, size_t* out_len, char const* share,
* \param swap_pub_order Should we swap the order in which we feed the public keys to the hash function.
* \return A Shared key
*/
-extern struct SharedKey elgamal_derive_shared_key(struct KeyPair pair, void const* pub_key, bool swap_pub_order);
+extern struct SharedKey elgamal_derive_shared_key(struct KeyPair keypair, unsigned char const* other_pub, size_t pub_len, unsigned char const* value, size_t value_len, void* priv_value, bool swap);
/*!
* \brief elgamal_shared_key_deleter