v / thirdparty / mbedtls / library / bignum_mod_raw_invasive.h
34 lines · 28 sloc · 1.0 KB · 1274cdc3447be8e83616e8512872455e8720c2fd
Raw
1/**
2 * \file bignum_mod_raw_invasive.h
3 *
4 * \brief Function declarations for invasive functions of Low-level
5 * modular bignum.
6 */
7/**
8 * Copyright The Mbed TLS Contributors
9 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
10 */
11
12#ifndef MBEDTLS_BIGNUM_MOD_RAW_INVASIVE_H
13#define MBEDTLS_BIGNUM_MOD_RAW_INVASIVE_H
14
15#include "common.h"
16#include "mbedtls/bignum.h"
17#include "bignum_mod.h"
18
19#if defined(MBEDTLS_TEST_HOOKS)
20
21/** Convert the result of a quasi-reduction to its canonical representative.
22 *
23 * \param[in,out] X The address of the MPI to be converted. Must have the
24 * same number of limbs as \p N. The input value must
25 * be in range 0 <= X < 2N.
26 * \param[in] N The address of the modulus.
27 */
28MBEDTLS_STATIC_TESTABLE
29void mbedtls_mpi_mod_raw_fix_quasi_reduction(mbedtls_mpi_uint *X,
30 const mbedtls_mpi_mod_modulus *N);
31
32#endif /* MBEDTLS_TEST_HOOKS */
33
34#endif /* MBEDTLS_BIGNUM_MOD_RAW_INVASIVE_H */
35