mirror of
https://github.com/cuberite/polarssl.git
synced 2025-09-29 16:32:32 -04: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:
parent
8b375451c5
commit
b62bad442e
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user