summaryrefslogtreecommitdiff
path: root/appendices/ed25519.h
diff options
context:
space:
mode:
Diffstat (limited to 'appendices/ed25519.h')
-rw-r--r--appendices/ed25519.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/appendices/ed25519.h b/appendices/ed25519.h
new file mode 100644
index 0000000..43746bf
--- /dev/null
+++ b/appendices/ed25519.h
@@ -0,0 +1,47 @@
+#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