File constant_time.h
Functions
-
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
andb
, and w.r.t. whethera
andb
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.
- Parameters
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.
- Returns
Zero if the contents of the two buffers are the same, otherwise non-zero.