1261287Sdes/* $OpenBSD: verify.c,v 1.3 2013/12/09 11:03:45 markus Exp $ */ 2261287Sdes 3261287Sdes/* 4261287Sdes * Public Domain, Author: Daniel J. Bernstein 5261287Sdes * Copied from nacl-20110221/crypto_verify/32/ref/verify.c 6261287Sdes */ 7261287Sdes 8261287Sdes#include "includes.h" 9261287Sdes 10261287Sdes#include "crypto_api.h" 11261287Sdes 12261287Sdesint crypto_verify_32(const unsigned char *x,const unsigned char *y) 13261287Sdes{ 14261287Sdes unsigned int differentbits = 0; 15261287Sdes#define F(i) differentbits |= x[i] ^ y[i]; 16261287Sdes F(0) 17261287Sdes F(1) 18261287Sdes F(2) 19261287Sdes F(3) 20261287Sdes F(4) 21261287Sdes F(5) 22261287Sdes F(6) 23261287Sdes F(7) 24261287Sdes F(8) 25261287Sdes F(9) 26261287Sdes F(10) 27261287Sdes F(11) 28261287Sdes F(12) 29261287Sdes F(13) 30261287Sdes F(14) 31261287Sdes F(15) 32261287Sdes F(16) 33261287Sdes F(17) 34261287Sdes F(18) 35261287Sdes F(19) 36261287Sdes F(20) 37261287Sdes F(21) 38261287Sdes F(22) 39261287Sdes F(23) 40261287Sdes F(24) 41261287Sdes F(25) 42261287Sdes F(26) 43261287Sdes F(27) 44261287Sdes F(28) 45261287Sdes F(29) 46261287Sdes F(30) 47261287Sdes F(31) 48261287Sdes return (1 & ((differentbits - 1) >> 8)) - 1; 49261287Sdes} 50