From 00076b4907f67c3e6eb60ab89994fa5125319296 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Thu, 7 Aug 2025 12:44:11 +0200 Subject: [PATCH] Expand testing for mbedtls_mpi_inv_mod() again MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In the next refactoring we'll have: - pretty different paths for N odd or even, - possibly different paths for A <= 0, in [0, N) or above, - possibly special cases when A % N is 0 or 1. Pick two small moduli of different parities (3 and 4) and go over the range [-(N+1), 2N-1] with A. This should ensure we naturally run into all special cases. Signed-off-by: Manuel Pégourié-Gonnard --- tests/suites/test_suite_bignum.misc.data | 69 ++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/tests/suites/test_suite_bignum.misc.data b/tests/suites/test_suite_bignum.misc.data index 7b0c1e7323..4d8f2509e3 100644 --- a/tests/suites/test_suite_bignum.misc.data +++ b/tests/suites/test_suite_bignum.misc.data @@ -1525,6 +1525,75 @@ mpi_gcd:"-9986dabb54d13cd9fe0d9da594a97e8372ab26ed98ff622b31b1ea42e3a265019039ac Base test mbedtls_mpi_inv_mod #1 mpi_inv_mod:"3":"b":"4":0 +Base test mbedtls_mpi_inv_mod: 0 mod 3 +mpi_inv_mod:"0":"3":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_inv_mod: 1 mod 3 +mpi_inv_mod:"1":"3":"1":0 + +Base test mbedtls_mpi_inv_mod: 2 mod 3 +mpi_inv_mod:"2":"3":"2":0 + +Base test mbedtls_mpi_inv_mod: 3 mod 3 +mpi_inv_mod:"0":"3":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_inv_mod: 4 mod 3 +mpi_inv_mod:"4":"3":"1":0 + +Base test mbedtls_mpi_inv_mod: 5 mod 3 +mpi_inv_mod:"5":"3":"2":0 + +Base test mbedtls_mpi_inv_mod: -1 mod 3 +mpi_inv_mod:"-1":"3":"2":0 + +Base test mbedtls_mpi_inv_mod: -2 mod 3 +mpi_inv_mod:"-2":"3":"1":0 + +Base test mbedtls_mpi_inv_mod: -3 mod 3 +mpi_inv_mod:"-3":"3":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_inv_mod: -4 mod 3 +mpi_inv_mod:"-4":"3":"2":0 + +Base test mbedtls_mpi_inv_mod: 0 mod 4 +mpi_inv_mod:"0":"4":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_inv_mod: 1 mod 4 +mpi_inv_mod:"1":"4":"1":0 + +Base test mbedtls_mpi_inv_mod: 2 mod 4 +mpi_inv_mod:"2":"4":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_inv_mod: 3 mod 4 +mpi_inv_mod:"3":"4":"3":0 + +Base test mbedtls_mpi_inv_mod: 4 mod 4 +mpi_inv_mod:"4":"4":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_inv_mod: 5 mod 4 +mpi_inv_mod:"5":"4":"1":0 + +Base test mbedtls_mpi_inv_mod: 6 mod 4 +mpi_inv_mod:"6":"4":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_inv_mod: 7 mod 4 +mpi_inv_mod:"7":"4":"3":0 + +Base test mbedtls_mpi_inv_mod: -1 mod 4 +mpi_inv_mod:"-1":"4":"3":0 + +Base test mbedtls_mpi_inv_mod: -2 mod 4 +mpi_inv_mod:"-2":"4":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_inv_mod: -3 mod 4 +mpi_inv_mod:"-3":"4":"1":0 + +Base test mbedtls_mpi_inv_mod: -4 mod 4 +mpi_inv_mod:"-4":"4":"":MBEDTLS_ERR_MPI_NOT_ACCEPTABLE + +Base test mbedtls_mpi_inv_mod: -5 mod 4 +mpi_inv_mod:"-5":"4":"3":0 + Test mbedtls_mpi_inv_mod: mod 0 (null) mpi_inv_mod:"3":"":"0":MBEDTLS_ERR_MPI_BAD_INPUT_DATA