summaryrefslogtreecommitdiff
path: root/ext/ed25519-amd64-asm/fe25519_iszero.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ed25519-amd64-asm/fe25519_iszero.c')
-rw-r--r--ext/ed25519-amd64-asm/fe25519_iszero.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/ext/ed25519-amd64-asm/fe25519_iszero.c b/ext/ed25519-amd64-asm/fe25519_iszero.c
new file mode 100644
index 00000000..99e4dafa
--- /dev/null
+++ b/ext/ed25519-amd64-asm/fe25519_iszero.c
@@ -0,0 +1,12 @@
+#include "fe25519.h"
+
+int fe25519_iszero_vartime(const fe25519 *x)
+{
+ fe25519 t = *x;
+ fe25519_freeze(&t);
+ if (t.v[0]) return 0;
+ if (t.v[1]) return 0;
+ if (t.v[2]) return 0;
+ if (t.v[3]) return 0;
+ return 1;
+}