From 58ead6a9a4a2a81f067ad698366bd32841346058 Mon Sep 17 00:00:00 2001 From: Dennis Brentjes Date: Fri, 4 Nov 2016 13:11:11 +0100 Subject: Consolidated all the crypto apis and implemented the Precomputation Postprocessing step --- libcmix-crypto/api.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libcmix-crypto/api.h') 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 @@ -95,6 +95,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. */ @@ -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 -- cgit v1.2.3-70-g09d2