aboutsummaryrefslogtreecommitdiff
path: root/libcmix-crypto/ed25519/ed25519.h
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2017-02-11 14:48:52 +0100
committerDennis Brentjes <d.brentjes@gmail.com>2017-02-11 17:54:40 +0100
commit623dffe2c054d1639dbf9c8f21ddfb088c7950fb (patch)
treef8159c5b3cf9872f9b271d03ad5a4b65ecec19b8 /libcmix-crypto/ed25519/ed25519.h
parentb229dc91d8825689c5e66264b462ce01398e621e (diff)
downloadcmix-623dffe2c054d1639dbf9c8f21ddfb088c7950fb.tar.gz
cmix-623dffe2c054d1639dbf9c8f21ddfb088c7950fb.tar.bz2
cmix-623dffe2c054d1639dbf9c8f21ddfb088c7950fb.zip
Working Ed25519 Implementation of libcmix.
Diffstat (limited to 'libcmix-crypto/ed25519/ed25519.h')
-rw-r--r--libcmix-crypto/ed25519/ed25519.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/libcmix-crypto/ed25519/ed25519.h b/libcmix-crypto/ed25519/ed25519.h
new file mode 100644
index 0000000..1cd9e66
--- /dev/null
+++ b/libcmix-crypto/ed25519/ed25519.h
@@ -0,0 +1,71 @@
+#pragma once
+
+#include "api.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*!
+ * \file
+ */
+
+extern Initializer ed25519_initialize;
+
+extern KeyPairCreator ed25519_create_keypair;
+
+extern KeyPairDeleter ed25519_delete_keypair;
+
+extern ElementToArray ed25519_element_to_array;
+
+extern BufferDeleter ed25519_free_buffer;
+
+extern ArrayToElement ed25519_array_to_element;
+
+extern MessageToElement ed25519_message_to_element;
+
+extern ElementToMessage ed25519_element_to_message;
+
+extern PubKeyHashGetter ed25519_get_pub_key_hash;
+
+extern PubKeyHashLengthGetter ed25519_get_pub_key_hash_length;
+
+extern GroupElementGetter ed25519_get_group_element;
+
+extern GroupElementDeleter ed25519_delete_group_element;
+
+extern KeyExchangeValueGetter ed25519_get_key_exchange_value;
+
+extern GroupElementCombiner ed25519_combine;
+
+extern GroupElementUncombiner ed25519_uncombine;
+
+extern DecryptionShareGetter ed25519_get_decryption_share;
+
+extern GroupElementArraySizeGetter ed25519_get_group_element_array_size;
+
+extern MessageSizeGetter ed25519_get_message_size;
+
+extern PublicShareAdder ed25519_add_public_share;
+
+extern SharedKeyDeriver ed25519_derive_shared_key;
+
+extern SharedKeyDeleter ed25519_delete_shared_key;
+
+extern Encrypter ed25519_encrypt;
+
+extern Inverter ed25519_invert;
+
+extern UniformIntGetter ed25519_get_uniform_int;
+
+extern Deinitializer ed25519_deinitialize;
+
+/*!
+ * \brief get_ed25519_implementation
+ * \return An Api struct filled with a ed25519 implementation.
+ */
+struct Api get_ed25519_implementation();
+
+#ifdef __cplusplus
+}
+#endif