From ba6da37569dde1ed7616c14d591134575e6a6879 Mon Sep 17 00:00:00 2001 From: Dennis Brentjes Date: Sun, 16 Oct 2016 21:39:18 +0200 Subject: Updates all the documentation. Mainly covers the network rewrites. --- libcmix-crypto/api.h | 7 +++++++ libcmix-crypto/elgamal/elgamal.h | 29 +++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) (limited to 'libcmix-crypto') diff --git a/libcmix-crypto/api.h b/libcmix-crypto/api.h index 06afcd2..c6f904f 100644 --- a/libcmix-crypto/api.h +++ b/libcmix-crypto/api.h @@ -47,8 +47,15 @@ struct Api { SharedKeyDeleter free_shared_key; ///< Pointer to shared key deleter function }; +/*! + * A Pointer to function typedef to facilitate multiple implementations. + */ typedef struct Api(*ImplementationGetter)(); +/*! + * \brief get_implementation The pointer to member function variable to implement when + * defining a an implementation + */ extern ImplementationGetter get_implementation; #ifdef __cplusplus diff --git a/libcmix-crypto/elgamal/elgamal.h b/libcmix-crypto/elgamal/elgamal.h index feac7f5..826ea49 100644 --- a/libcmix-crypto/elgamal/elgamal.h +++ b/libcmix-crypto/elgamal/elgamal.h @@ -1,17 +1,46 @@ #pragma once +/*! + * \file + */ + #ifdef __cplusplus extern "C" { #endif #include "api.h" +/*! + * \brief elgamal_create_keypair + * \return The new keypair + */ extern struct KeyPair elgamal_create_keypair(); + +/*! + * \brief elgamal_keypair_deleter + * \param p the keypair to be freed + */ extern void elgamal_keypair_deleter(struct KeyPair p); +/*! + * \brief elgamal_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 struct SharedKey elgamal_derive_shared_key(struct KeyPair pair, unsigned char const* pub_key, bool swap_pub_order); + +/*! + * \brief elgamal_shared_key_deleter + * \param s The shared key to be freed. + */ extern void elgamal_shared_key_deleter(struct SharedKey s); +/*! + * \brief get_elgamal_implementation + * \return + */ struct Api get_elgamal_implementation(); #ifdef __cplusplus -- cgit v1.2.3-70-g09d2