summaryrefslogtreecommitdiff
path: root/src/libsodium/crypto_verify/16/ref/verify_16.c
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2014-08-11 13:49:21 -0400
committerMicah Anderson <micah@riseup.net>2014-08-11 13:49:21 -0400
commit2e59f9740a29439df7c7a56cf0ae83dec3081d31 (patch)
treed5e7c4e74c9a0f1ea999327d2e68b1dd27be00e0 /src/libsodium/crypto_verify/16/ref/verify_16.c
initial import of debian version from mentors0.6.1
Diffstat (limited to 'src/libsodium/crypto_verify/16/ref/verify_16.c')
-rw-r--r--src/libsodium/crypto_verify/16/ref/verify_16.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/libsodium/crypto_verify/16/ref/verify_16.c b/src/libsodium/crypto_verify/16/ref/verify_16.c
new file mode 100644
index 0000000..f7e33f1
--- /dev/null
+++ b/src/libsodium/crypto_verify/16/ref/verify_16.c
@@ -0,0 +1,24 @@
+#include "api.h"
+
+int crypto_verify_16(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)
+ return (1 & ((differentbits - 1) >> 8)) - 1;
+}