aboutsummaryrefslogtreecommitdiff
path: root/libcmix-crypto/elgamal
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2016-10-16 21:39:18 +0200
committerDennis Brentjes <d.brentjes@gmail.com>2016-10-16 21:39:36 +0200
commitba6da37569dde1ed7616c14d591134575e6a6879 (patch)
tree5562cad589f8c495bd02e61042cf633cd7f0e706 /libcmix-crypto/elgamal
parentc9082aa07394e15cd800bd5ad396c37a2334c98d (diff)
downloadcmix-ba6da37569dde1ed7616c14d591134575e6a6879.tar.gz
cmix-ba6da37569dde1ed7616c14d591134575e6a6879.tar.bz2
cmix-ba6da37569dde1ed7616c14d591134575e6a6879.zip
Updates all the documentation.
Mainly covers the network rewrites.
Diffstat (limited to 'libcmix-crypto/elgamal')
-rw-r--r--libcmix-crypto/elgamal/elgamal.h29
1 files changed, 29 insertions, 0 deletions
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