Mbed TLS v3.6.3
Loading...
Searching...
No Matches
Functions
constant_time.h File Reference
#include <stddef.h>
Include dependency graph for constant_time.h:

Go to the source code of this file.

Functions

int mbedtls_ct_memcmp (const void *a, const void *b, size_t n)
 

Function Documentation

◆ mbedtls_ct_memcmp()

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.

Parameters
aPointer to the first buffer, containing at least n bytes. May not be NULL.
bPointer to the second buffer, containing at least n bytes. May not be NULL.
nThe number of bytes to compare.
Returns
Zero if the contents of the two buffers are the same, otherwise non-zero.