diff options
Diffstat (limited to 'libcmix-crypto/curve25519/curve25519.h')
| -rw-r--r-- | libcmix-crypto/curve25519/curve25519.h | 70 |
1 files changed, 27 insertions, 43 deletions
diff --git a/libcmix-crypto/curve25519/curve25519.h b/libcmix-crypto/curve25519/curve25519.h index 762e8db..5f30915 100644 --- a/libcmix-crypto/curve25519/curve25519.h +++ b/libcmix-crypto/curve25519/curve25519.h @@ -10,55 +10,39 @@ extern "C" { * \file */ -/*! - * \brief curve25519_initialize initilalize curve25519 library - */ -extern void curve25519_initialize(void); +extern Initializer curve25519_initialize; -/*! - * \brief curve25519_create_keypair - * \return A curve25519 keypair. - */ -extern struct KeyPair curve25519_create_keypair(void); +extern KeyPairCreator curve25519_create_keypair; -/*! - * \brief curve25519_keypair_deleter - * \param p The keypair to free. - */ -extern void curve25519_keypair_deleter(struct KeyPair* p); +extern KeyPairDeleter curve25519_delete_keypair; -/*! - * \brief curve25519_get_pubkey_array - * \param pubkey - * \param buffer - * \param len - */ -extern void curve25519_key_to_array(unsigned char** buffer, size_t* len, void* pubkey); +extern ElementToArray curve25519_element_to_array; -/*! - * \brief curve25519_add_public_share - * \param buffer - * \param out_len - * \param share - * \param pubkey - */ -extern void curve25519_add_public_share(char** buffer, size_t* out_len, char const* share, size_t in_len, void* pubkey); +extern BufferDeleter curve25519_free_buffer; -/*! - * \brief curve25519_derive_shared_key - * \param pair Our keypair. - * \param pub_key The public key of the other party. - * \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 GroupElement curve25519_derive_shared_key(struct KeyPair pair, unsigned char const* other_pub, size_t pub_len, unsigned char const* value, size_t value_len, void* priv_value, bool swap_pub_order); -/*! - * \brief curve25519_shared_key_deleter - * \param s the Shared key to free. - */ -extern void curve25519_shared_key_deleter(struct SharedKey* s); +extern ArrayToElement curve25519_array_to_element; + +extern GroupElementGetter curve25519_get_group_element; + +extern GroupElementDeleter curve25519_delete_group_element; + +extern KeyExchangeValueGetter curve25519_get_key_exchange_value; + +extern GroupElementMultiplier curve25519_multiply; + +extern DecryptionShareGetter curve25519_get_decryption_share; + +extern GroupElementArraySizeGetter curve25519_get_group_element_array_size; + +extern PublicShareAdder curve25519_add_public_share; + +extern SharedKeyDeriver curve25519_derive_shared_key; + +extern SharedKeyDeleter curve25519_delete_shared_key; + +extern Encrypter curve25519_encrypt; -extern void curve25519_deinitialize(void); +extern Deinitializer curve25519_deinitialize; /*! * \brief get_curve25519_implementation |
