manpagez: man pages & more
man timingsafe_bcmp(3)
Home | html | info | man

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
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.