diff options
| author | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-04 13:11:11 +0100 |
|---|---|---|
| committer | Dennis Brentjes <d.brentjes@gmail.com> | 2016-11-04 13:11:11 +0100 |
| commit | 58ead6a9a4a2a81f067ad698366bd32841346058 (patch) | |
| tree | 72398158aa8a077b48a9116dbbff629d340208af /libcmix-crypto/api.h | |
| parent | 837d8336fb5323ff797cbcbce17a05a3838e051f (diff) | |
| download | cmix-58ead6a9a4a2a81f067ad698366bd32841346058.tar.gz cmix-58ead6a9a4a2a81f067ad698366bd32841346058.tar.bz2 cmix-58ead6a9a4a2a81f067ad698366bd32841346058.zip | |
Consolidated all the crypto apis and implemented the Precomputation Postprocessing step
Diffstat (limited to 'libcmix-crypto/api.h')
| -rw-r--r-- | libcmix-crypto/api.h | 6 |
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 |
