bignum_mod: Added static `standard_modulus_setup()`.
Signed-off-by: Minos Galanakis <minos.galanakis@arm.com>
diff --git a/library/bignum_mod.c b/library/bignum_mod.c
index ba661e2..ccc5c3b 100644
--- a/library/bignum_mod.c
+++ b/library/bignum_mod.c
@@ -136,15 +136,23 @@
return ret;
}
+static inline void standard_modulus_setup(mbedtls_mpi_mod_modulus *N,
+ const mbedtls_mpi_uint *p,
+ size_t p_limbs,
+ mbedtls_mpi_mod_rep_selector int_rep)
+{
+ N->p = p;
+ N->limbs = p_limbs;
+ N->bits = mbedtls_mpi_core_bitlen(p, p_limbs);
+ N->int_rep = int_rep;
+}
+
int mbedtls_mpi_mod_modulus_setup(mbedtls_mpi_mod_modulus *N,
const mbedtls_mpi_uint *p,
size_t p_limbs)
{
int ret = 0;
- N->p = p;
- N->limbs = p_limbs;
- N->bits = mbedtls_mpi_core_bitlen(p, p_limbs);
- N->int_rep = MBEDTLS_MPI_MOD_REP_MONTGOMERY;
+ standard_modulus_setup(N, p, p_limbs, MBEDTLS_MPI_MOD_REP_MONTGOMERY);
N->rep.mont.mm = mbedtls_mpi_core_montmul_init(N->p);
ret = set_mont_const_square(&N->rep.mont.rr, N->p, N->limbs);
@@ -160,10 +168,7 @@
size_t p_limbs,
mbedtls_mpi_opt_red_struct *ored)
{
- N->p = p;
- N->limbs = p_limbs;
- N->bits = mbedtls_mpi_core_bitlen(p, p_limbs);
- N->int_rep = MBEDTLS_MPI_MOD_REP_OPT_RED;
+ standard_modulus_setup(N, p, p_limbs, MBEDTLS_MPI_MOD_REP_OPT_RED);
N->rep.ored =ored ;
return 0;
}