#include <stddef.h>
int timingsafe_memcmp(const void *s1, const void *s2, size_t n)
{
unsigned int i, ret = -1;
const unsigned char *b1 = s1;
const unsigned char *b2 = s2;
for(i = 0; i < n; i++)
ret |= (b1[i] ^ b2[i]);
return ret;
}