timingsafe_bcmp(3) BSD Library Functions Manual timingsafe_bcmp(3)
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 com- pared, making it safe to use for comparing secret values such as crypto- graphic 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
bcmp(3)
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. BSD August 15, 2016 BSD
Mac OS X 10.12.3 - Generated Wed Feb 8 18:24:24 CST 2017