summaryrefslogtreecommitdiff
path: root/libs/libsodium/src/crypto_scalarmult/curve25519/sandy2x/fe51.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/libsodium/src/crypto_scalarmult/curve25519/sandy2x/fe51.h')
-rw-r--r--libs/libsodium/src/crypto_scalarmult/curve25519/sandy2x/fe51.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/libs/libsodium/src/crypto_scalarmult/curve25519/sandy2x/fe51.h b/libs/libsodium/src/crypto_scalarmult/curve25519/sandy2x/fe51.h
new file mode 100644
index 0000000000..8e3f199b24
--- /dev/null
+++ b/libs/libsodium/src/crypto_scalarmult/curve25519/sandy2x/fe51.h
@@ -0,0 +1,35 @@
+/*
+ This file is adapted from amd64-51/fe25519.h:
+ 'fe25519' is renamed as 'fe51';
+ All the redundant functions are removed;
+ New function fe51_nsquare is introduced.
+*/
+
+#ifndef fe51_H
+#define fe51_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "fe51_namespace.h"
+
+typedef struct
+{
+ uint64_t v[5];
+}
+fe51;
+
+extern void fe51_pack(unsigned char *, const fe51 *);
+extern void fe51_mul(fe51 *, const fe51 *, const fe51 *);
+extern void fe51_nsquare(fe51 *, const fe51 *, int);
+extern void fe51_invert(fe51 *, const fe51 *);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif