CONSTTIME_MEMEQUAL(3) Library Functions Manual CONSTTIME_MEMEQUAL(3) NAME consttime_memequal -- compare byte strings for equality without timing leaks LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <string.h> int consttime_memequal(void *b1, void *b2, size_t len); DESCRIPTION The consttime_memequal() function compares len bytes of memory at b1 and b2 for equality, returning 0 if they are distinct and 1 if they are identical. The time taken by consttime_memequal() depends on len, but not on the data at b1 or b2. Thus, consttime_memequal() is appropriate for comparing cryp- tographic secrets, hashes, message authentication codes, etc., without leaking information about them through a timing side channel. In crypto literature, consttime_memequal() is said to take `constant time', meaning time that does not vary depending on the data it processes. Note that unlike memcmp(3), consttime_memequal() does not return a lexico- graphic ordering on the data at b1 and b2; it tells only whether they are equal. SEE ALSO explicit_memset(3), memcmp(3) HISTORY The consttime_memequal() function appeared in NetBSD 7.0. NetBSD 7.0 November 14, 2013 CONSTTIME_MEMEQUAL(3)
Want to link to this manual page? Use this URL:
<https://man.FreeBSD.org/cgi/man.cgi?query=consttime_memequal&sektion=&manpath=NetBSD+7.0>