Mbed TLS v3.6.2
|
#include <stddef.h>
Go to the source code of this file.
Functions | |
int | mbedtls_ct_memcmp (const void *a, const void *b, size_t n) |
int mbedtls_ct_memcmp | ( | const void * | a, |
const void * | b, | ||
size_t | n ) |
Constant-time functions Constant-time buffer comparison without branches.
This is equivalent to the standard memcmp function, but is likely to be compiled to code using bitwise operations rather than a branch, such that the time taken is constant w.r.t. the data pointed to by a
and b
, and w.r.t. whether a
and b
are equal or not. It is not constant-time w.r.t. n
.
This function can be used to write constant-time code by replacing branches with bit operations using masks.
a | Pointer to the first buffer, containing at least n bytes. May not be NULL. |
b | Pointer to the second buffer, containing at least n bytes. May not be NULL. |
n | The number of bytes to compare. |