bcmp



BCMP(3)                   OpenBSD Programmer's Manual                  BCMP(3)


NAME

     bcmp, timingsafe_bcmp - compare byte string


SYNOPSIS

     #include <string.h>

     int
     bcmp(const void *b1, const void *b2, size_t len);

     int
     timingsafe_bcmp(const void *b1, const void *b2, size_t len);


DESCRIPTION

     The bcmp() function compares byte string b1 against byte string b2,
     returning zero if they are identical, non-zero otherwise.  Both strings
     are assumed to be len bytes long.  Zero-length strings are always
     identical.

     The strings may overlap.

     The timingsafe_bcmp() function has the same semantics as bcmp(), but its
     running time is independent of the contents of b1 and b2, making it safe
     to use for comparing secret values such as cryptographic MACs.  In
     contrast, bcmp() returns after finding the first differing byte, making
     it vulnerable to timing attacks.


SEE ALSO

     memcmp(3), strcasecmp(3), strcmp(3), strcoll(3), strxfrm(3)


HISTORY

     The bcmp() function first appeared in 4.2BSD.

     The timingsafe_bcmp() function first appeared in OpenBSD 4.9.

OpenBSD 5.1                      July 25, 2011                     OpenBSD 5.1

[Unix Hosting | Open-Source | Contact Us]
[Engineering & Automation | Software Development | Server Applications]