aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/shen_ed25519_ref/verify.c
diff options
context:
space:
mode:
authorShenNoether <Shen.Noether@gmx.com>2015-08-23 14:48:50 -0600
committerShenNoether <Shen.Noether@gmx.com>2015-08-23 14:48:50 -0600
commit0a4bc84b2f681dfd89b501648f65a951d876e2d8 (patch)
tree9f37622b56f26724b4c057dd28f4c9a0ee7ecd74 /src/crypto/shen_ed25519_ref/verify.c
parentrevert to 776b4fc91a821be152f0f23e6873aabb78a72029 (diff)
downloadmonero-0a4bc84b2f681dfd89b501648f65a951d876e2d8.tar.xz
Added ref10 shen_ed25519_ref code, which includes code that can replace crypto-ops with a version straight from Bernstein's ref 10
Diffstat (limited to '')
-rwxr-xr-xsrc/crypto/shen_ed25519_ref/verify.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/crypto/shen_ed25519_ref/verify.c b/src/crypto/shen_ed25519_ref/verify.c
new file mode 100755
index 000000000..a04186b60
--- /dev/null
+++ b/src/crypto/shen_ed25519_ref/verify.c
@@ -0,0 +1,40 @@
+#include "crypto_verify_32.h"
+
+int crypto_verify_32(const unsigned char *x,const unsigned char *y)
+{
+ unsigned int differentbits = 0;
+#define F(i) differentbits |= x[i] ^ y[i];
+ F(0)
+ F(1)
+ F(2)
+ F(3)
+ F(4)
+ F(5)
+ F(6)
+ F(7)
+ F(8)
+ F(9)
+ F(10)
+ F(11)
+ F(12)
+ F(13)
+ F(14)
+ F(15)
+ F(16)
+ F(17)
+ F(18)
+ F(19)
+ F(20)
+ F(21)
+ F(22)
+ F(23)
+ F(24)
+ F(25)
+ F(26)
+ F(27)
+ F(28)
+ F(29)
+ F(30)
+ F(31)
+ return (1 & ((differentbits - 1) >> 8)) - 1;
+}