CONSTTIME_MEMEQUAL(3)   NetBSD 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 iden-
     tical.

     The time taken by consttime_memequal() depends on len, but not on the
     data at b1 or b2.  Thus, consttime_memequal() is appropriate for compar-
     ing cryptographic 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 lexi-
     cographic 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                    NetBSD 7.0

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias
©1996-2017 Modified for NetBSD by Kimmo Suominen