Reference

libressl-CRYPTO_memcmp(3)

constant time memory comparison

NAME

CRYPTO_memcmp – constant time memory comparison

SYNOPSIS

Crypto Library (libcrypto, -lcrypto)

#include <openssl/crypto.h>

int

CRYPTO_memcmp(const void *a, const void *b, size_t len);

DESCRIPTION

CRYPTO_memcmp() compares the len bytes pointed to by a and b for equality. It takes an amount of time dependent on len, but independent of the contents of the memory regions pointed to by a and b.

RETURN VALUES

CRYPTO_memcmp() returns 0 if the content of the memory regions is equal or non-zero otherwise.

HISTORY

CRYPTO_memcmp() first appeared in OpenSSL 1.0.1d and has been available since OpenBSD 5.6.

BUGS

Unlike memcmp(3) and timingsafe_memcmp(3), this function cannot be used to order the two memory regions. In the current implementation, the return value is always greater than or equal to 0.