1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /* $OpenBSD: verify.c,v 1.3 2013/12/09 11:03:45 markus Exp $ */
- /*
- * Public Domain, Author: Daniel J. Bernstein
- * Copied from nacl-20110221/crypto_verify/32/ref/verify.c
- */
- #include "includes.h"
- #include "crypto_api.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;
- }
|