aboutsummaryrefslogtreecommitdiff
path: root/libcmix-crypto/ed25519/ed25519.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcmix-crypto/ed25519/ed25519.c')
-rw-r--r--libcmix-crypto/ed25519/ed25519.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/libcmix-crypto/ed25519/ed25519.c b/libcmix-crypto/ed25519/ed25519.c
new file mode 100644
index 0000000..835edfa
--- /dev/null
+++ b/libcmix-crypto/ed25519/ed25519.c
@@ -0,0 +1,36 @@
+
+#include "ed25519.h"
+
+struct Api get_ed25519_implementation()
+{
+ ed25519_initialize();
+ return (struct Api) {
+ .initialize = ed25519_initialize,
+ .create_keypair = ed25519_create_keypair,
+ .free_keypair = ed25519_delete_keypair,
+ .element_to_array = ed25519_element_to_array,
+ .free_buffer = ed25519_free_buffer,
+ .array_to_element = ed25519_array_to_element,
+ .message_to_element = ed25519_message_to_element,
+ .element_to_message = ed25519_element_to_message,
+ .get_pub_key_hash = ed25519_get_pub_key_hash,
+ .get_pub_key_hash_length = ed25519_get_pub_key_hash_length,
+ .get_group_element = ed25519_get_group_element,
+ .get_group_element_array_size = ed25519_get_group_element_array_size,
+ .get_message_size = ed25519_get_message_size,
+ .free_group_element = ed25519_delete_group_element,
+ .get_key_exchange_value = ed25519_get_key_exchange_value,
+ .combine = ed25519_combine,
+ .uncombine = ed25519_uncombine,
+ .get_decryption_share = ed25519_get_decryption_share,
+ .add_public_share = ed25519_add_public_share,
+ .derive_shared_key = ed25519_derive_shared_key,
+ .free_shared_key = ed25519_delete_shared_key,
+ .encrypt = ed25519_encrypt,
+ .invert = ed25519_invert,
+ .get_uniform_int = ed25519_get_uniform_int,
+ .deinitialize = ed25519_deinitialize
+ };
+}
+
+ImplementationGetter get_implementation = &get_ed25519_implementation;