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