aboutsummaryrefslogtreecommitdiff
path: root/libcmix-crypto/api.h
diff options
context:
space:
mode:
Diffstat (limited to 'libcmix-crypto/api.h')
-rw-r--r--libcmix-crypto/api.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libcmix-crypto/api.h b/libcmix-crypto/api.h
index 6d701d7..addf9e3 100644
--- a/libcmix-crypto/api.h
+++ b/libcmix-crypto/api.h
@@ -96,6 +96,11 @@ typedef void(*GroupElementDeleter)(GroupElement);
typedef void (*Encrypter)(GroupElement*, GroupElement*, GroupElement, GroupElement);
/*!
+ *
+ */
+typedef GroupElement (*DecryptionShareGetter)(GroupElement, GroupElement);
+
+/*!
* \brief The Api struct stores pointers to functions of a specific implementation. Like a Curve25519 specific one.
*/
struct Api {
@@ -110,6 +115,7 @@ struct Api {
GroupElementDeleter free_group_element; ///< frees a base type of the cryptolibrary.
KeyExchangeValueGetter get_key_exchange_value; ///< get generator *op* group element.
GroupElementMultiplier multiply; ///< Multiplies two groupelements modulo group.
+ DecryptionShareGetter get_decryption_share; ///< calculates the first argument to the power of Inverse second argument;
PublicShareAdder add_public_share; ///< Adds the public key stored in void* to the existing share.
SharedKeyDeriver derive_shared_key; ///< Pointer to shared key derivation function
SharedKeyDeleter free_shared_key; ///< Pointer to shared key deleter function