aboutsummaryrefslogtreecommitdiff
path: root/libcmix-crypto/elgamal/elgamal.h
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2016-09-29 14:41:32 +0200
committerDennis Brentjes <d.brentjes@gmail.com>2016-09-29 14:41:32 +0200
commitf7f0e8c53bc8231264346ef91e2f533164a25562 (patch)
treec3ec176a2fc12bc0ee99f017d15c1f8be73bb921 /libcmix-crypto/elgamal/elgamal.h
parent8507aec59b92e16ed6a05c92fea6ced5dba3f753 (diff)
downloadcmix-f7f0e8c53bc8231264346ef91e2f533164a25562.tar.gz
cmix-f7f0e8c53bc8231264346ef91e2f533164a25562.tar.bz2
cmix-f7f0e8c53bc8231264346ef91e2f533164a25562.zip
Replaced the RSA implementation with an Elgamal implementation.
Diffstat (limited to 'libcmix-crypto/elgamal/elgamal.h')
-rw-r--r--libcmix-crypto/elgamal/elgamal.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/libcmix-crypto/elgamal/elgamal.h b/libcmix-crypto/elgamal/elgamal.h
new file mode 100644
index 0000000..77b5c9b
--- /dev/null
+++ b/libcmix-crypto/elgamal/elgamal.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "api.h"
+
+extern struct KeyPair elgamal_create_keypair();
+extern void elgamal_keypair_deleter(struct KeyPair p);
+
+extern struct SharedKey elgamal_derive_shared_key(struct KeyPair pair, unsigned char* pub_key, bool swap_pub_order);
+extern void elgamal_shared_key_deleter(struct SharedKey s);
+
+struct Api get_elgamal_implementation();
+
+#ifdef __cplusplus
+}
+#endif