mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-12-24 17:41:01 +03:00
Bidnum Mod: fix check in setup
We want to make sure that the value has at least as many limbs allocated as the modulus as we need this to be able to do any operations in constant time. An invariant of the API is that the residue values are canonical, make sure that the residue is compared to the entire modulus. Signed-off-by: Janos Follath <janos.follath@arm.com>
This commit is contained in:
@@ -39,7 +39,7 @@ int mbedtls_mpi_mod_residue_setup( mbedtls_mpi_mod_residue *r,
|
||||
mbedtls_mpi_uint *p,
|
||||
size_t p_limbs )
|
||||
{
|
||||
if( p_limbs > m->limbs || !mbedtls_mpi_core_lt_ct( p, m->p, p_limbs ) )
|
||||
if( p_limbs < m->limbs || !mbedtls_mpi_core_lt_ct( p, m->p, m->limbs ) )
|
||||
return( MBEDTLS_ERR_MPI_BAD_INPUT_DATA );
|
||||
|
||||
r->limbs = m->limbs;
|
||||
|
||||
@@ -57,16 +57,16 @@ Test mbedtls_mpi_residue_setup #2 r == m - 1
|
||||
mpi_residue_setup:"ff":"fe":0
|
||||
|
||||
Test mbedtls_mpi_residue_setup #3 m->limbs > r-> limbs && m > r
|
||||
mpi_residue_setup:"000000000000000000000000000000007dfe5c6beb35a2d6":"fe":0
|
||||
mpi_residue_setup:"000000000000000000000000000000007dfe5c6beb35a2d6":"fe":MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
||||
|
||||
Test mbedtls_mpi_residue_setup #4 m->limbs > r-> limbs && m > r
|
||||
mpi_residue_setup:"7ffffffffffffffffffffffffffffffffffffffffffffff1":"fe":0
|
||||
Test mbedtls_mpi_residue_setup #4 m->limbs = r-> limbs && m > r
|
||||
mpi_residue_setup:"7ffffffffffffffffffffffffffffffffffffffffffffff1":"0000000000000000000000000000000000000000000000fe":0
|
||||
|
||||
Test mbedtls_mpi_residue_setup #5 m->limbs > r-> limbs && m > r
|
||||
mpi_residue_setup:"7ffffffffffffffffffff000000000000000000000000000":"fe":-4
|
||||
Test mbedtls_mpi_residue_setup #5 m->limbs < r-> limbs && m > r
|
||||
mpi_residue_setup:"7ffffffff0000000":"000000000000000fe":0
|
||||
|
||||
Test mbedtls_mpi_residue_setup #6 m->limbs < r-> limbs && m > r
|
||||
mpi_residue_setup:"ff":"000000000000000000000000000000000000000000000001":-4
|
||||
mpi_residue_setup:"ff":"000000000000000000000000000000000000000000000001":0
|
||||
|
||||
Test mbedtls_mpi_residue_setup #7 r == m
|
||||
mpi_residue_setup:"fe":"fe":-4
|
||||
|
||||
Reference in New Issue
Block a user