Loading...
Searching...
No Matches
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

  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.