NAME
timingsafe_bcmp
—
timing-safe byte sequence
comparisons
SYNOPSIS
#include
<string.h>
int
timingsafe_bcmp
(const
void *b1, const void
*b2, size_t
len);
DESCRIPTION
The
timingsafe_bcmp
()
function compares the first len bytes pointed to by
b1 and b2.
Additionally, the running time is independent of the byte sequences compared, making it safe to use for comparing secret values such as cryptographic MACs. In contrast, bcmp(3) and memcmp(3) may short-circuit after finding the first differing byte.
RETURN VALUES
The timingsafe_bcmp
() function returns 0
or not zero if the byte sequence pointed to by b1
compares equal to or not equal to (respectively) the byte sequence pointed
to by b2.
SEE ALSO
STANDARDS
The timingsafe_bcmp
() function is a
non-standard extension.
HISTORY
The timingsafe_bcmp
() function first
appeared in OpenBSD 4.9, FreeBSD
12.0, and macOS 10.12.1.