mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-04-09 21:44:28 +00:00
Remove string hack for mbedtls_mpi_mod_int testing
Now that the test framework can pass arbitrary values of type mbedtls_mpi_sint, just do that. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
6f5082bf4d
commit
7768a8e0a6
@ -923,47 +923,16 @@ exit:
|
|||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
/* BEGIN_CASE */
|
/* BEGIN_CASE */
|
||||||
void mpi_mod_int(char *input_X, char *input_Y,
|
void mpi_mod_int(char *input_X, mbedtls_mpi_sint y,
|
||||||
char *input_A, int mod_result)
|
mbedtls_mpi_sint a, int mod_result)
|
||||||
{
|
{
|
||||||
mbedtls_mpi X;
|
mbedtls_mpi X;
|
||||||
mbedtls_mpi Y;
|
|
||||||
mbedtls_mpi A;
|
|
||||||
int res;
|
int res;
|
||||||
mbedtls_mpi_uint r;
|
mbedtls_mpi_uint r;
|
||||||
|
|
||||||
mbedtls_mpi_init(&X);
|
mbedtls_mpi_init(&X);
|
||||||
mbedtls_mpi_init(&Y);
|
|
||||||
mbedtls_mpi_init(&A);
|
|
||||||
|
|
||||||
/* We use MPIs to read Y and A since the test framework limits us to
|
|
||||||
* ints, so we can't have 64-bit values */
|
|
||||||
TEST_EQUAL(mbedtls_test_read_mpi(&X, input_X), 0);
|
TEST_EQUAL(mbedtls_test_read_mpi(&X, input_X), 0);
|
||||||
TEST_EQUAL(mbedtls_test_read_mpi(&Y, input_Y), 0);
|
|
||||||
TEST_EQUAL(mbedtls_test_read_mpi(&A, input_A), 0);
|
|
||||||
|
|
||||||
TEST_EQUAL(Y.n, 1);
|
|
||||||
TEST_EQUAL(A.n, 1);
|
|
||||||
|
|
||||||
/* Convert the MPIs for Y and A to (signed) mbedtls_mpi_sints */
|
|
||||||
|
|
||||||
/* Since we're converting sign+magnitude to two's complement, we lose one
|
|
||||||
* bit of value in the output. This means there are some values we can't
|
|
||||||
* represent, e.g. (hex) -A0000000 on 32-bit systems. These are technically
|
|
||||||
* invalid test cases, so could be considered "won't happen", but they are
|
|
||||||
* easy to test for, and this helps guard against human error. */
|
|
||||||
|
|
||||||
mbedtls_mpi_sint y = (mbedtls_mpi_sint) Y.p[0];
|
|
||||||
TEST_ASSERT(y >= 0); /* If y < 0 here, we can't make negative y */
|
|
||||||
if (Y.s == -1) {
|
|
||||||
y = -y;
|
|
||||||
}
|
|
||||||
|
|
||||||
mbedtls_mpi_sint a = (mbedtls_mpi_sint) A.p[0];
|
|
||||||
TEST_ASSERT(a >= 0); /* Same goes for a */
|
|
||||||
if (A.s == -1) {
|
|
||||||
a = -a;
|
|
||||||
}
|
|
||||||
|
|
||||||
res = mbedtls_mpi_mod_int(&r, &X, y);
|
res = mbedtls_mpi_mod_int(&r, &X, y);
|
||||||
TEST_EQUAL(res, mod_result);
|
TEST_EQUAL(res, mod_result);
|
||||||
@ -973,8 +942,6 @@ void mpi_mod_int(char *input_X, char *input_Y,
|
|||||||
|
|
||||||
exit:
|
exit:
|
||||||
mbedtls_mpi_free(&X);
|
mbedtls_mpi_free(&X);
|
||||||
mbedtls_mpi_free(&Y);
|
|
||||||
mbedtls_mpi_free(&A);
|
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
|
@ -1229,45 +1229,45 @@ Test mbedtls_mpi_mod_mpi: -0 (null) % -42
|
|||||||
mpi_mod_mpi:"-":"-2a":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
mpi_mod_mpi:"-":"-2a":"":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||||
|
|
||||||
Base test mbedtls_mpi_mod_int #1
|
Base test mbedtls_mpi_mod_int #1
|
||||||
mpi_mod_int:"3e8":"d":"c":0
|
mpi_mod_int:"3e8":0xd:0xc:0
|
||||||
|
|
||||||
Base test mbedtls_mpi_mod_int #2 (Divide by zero)
|
Base test mbedtls_mpi_mod_int #2 (Divide by zero)
|
||||||
mpi_mod_int:"3e8":"0":"0":MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
|
mpi_mod_int:"3e8":0x0:0x0:MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
|
||||||
|
|
||||||
Base test mbedtls_mpi_mod_int #3
|
Base test mbedtls_mpi_mod_int #3
|
||||||
mpi_mod_int:"-3e8":"d":"1":0
|
mpi_mod_int:"-3e8":0xd:0x1:0
|
||||||
|
|
||||||
Base test mbedtls_mpi_mod_int #4 (Negative modulo)
|
Base test mbedtls_mpi_mod_int #4 (Negative modulo)
|
||||||
mpi_mod_int:"3e8":"-d":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
mpi_mod_int:"3e8":-0xd:0x0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||||
|
|
||||||
Base test mbedtls_mpi_mod_int #5 (Negative modulo)
|
Base test mbedtls_mpi_mod_int #5 (Negative modulo)
|
||||||
mpi_mod_int:"-3e8":"-d":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
mpi_mod_int:"-3e8":-0xd:0x0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||||
|
|
||||||
Base test mbedtls_mpi_mod_int #6 (By 1)
|
Base test mbedtls_mpi_mod_int #6 (By 1)
|
||||||
mpi_mod_int:"3e8":"1":"0":0
|
mpi_mod_int:"3e8":0x1:0x0:0
|
||||||
|
|
||||||
Base test mbedtls_mpi_mod_int #7 (By 2)
|
Base test mbedtls_mpi_mod_int #7 (By 2)
|
||||||
mpi_mod_int:"3e9":"2":"1":0
|
mpi_mod_int:"3e9":0x2:0x1:0
|
||||||
|
|
||||||
Base test mbedtls_mpi_mod_int #8 (By 2)
|
Base test mbedtls_mpi_mod_int #8 (By 2)
|
||||||
mpi_mod_int:"3e8":"2":"0":0
|
mpi_mod_int:"3e8":0x2:0x0:0
|
||||||
|
|
||||||
Test mbedtls_mpi_mod_int: 0 (null) % 1
|
Test mbedtls_mpi_mod_int: 0 (null) % 1
|
||||||
mpi_mod_int:"":"1":"0":0
|
mpi_mod_int:"":0x1:0x0:0
|
||||||
|
|
||||||
Test mbedtls_mpi_mod_int: 0 (null) % 2
|
Test mbedtls_mpi_mod_int: 0 (null) % 2
|
||||||
mpi_mod_int:"":"2":"0":0
|
mpi_mod_int:"":0x2:0x0:0
|
||||||
|
|
||||||
Test mbedtls_mpi_mod_int: 0 (null) % -1
|
Test mbedtls_mpi_mod_int: 0 (null) % -1
|
||||||
mpi_mod_int:"":"-1":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
mpi_mod_int:"":-0x1:0x0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||||
|
|
||||||
Test mbedtls_mpi_mod_int: 0 (null) % -2
|
Test mbedtls_mpi_mod_int: 0 (null) % -2
|
||||||
mpi_mod_int:"":"-2":"0":MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
mpi_mod_int:"":-0x2:0x0:MBEDTLS_ERR_MPI_NEGATIVE_VALUE
|
||||||
|
|
||||||
# CURRENTLY FAILS - SEE GITHUB ISSUE #6540
|
# CURRENTLY FAILS - SEE GITHUB ISSUE #6540
|
||||||
#Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810
|
#Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810
|
||||||
#depends_on:MBEDTLS_HAVE_INT64
|
#depends_on:MBEDTLS_HAVE_INT64
|
||||||
#mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA4847DCCA48":"2EFE6F1A7D28035A":0
|
#mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":0x47DCCA4847DCCA48:0x2EFE6F1A7D28035A:0
|
||||||
|
|
||||||
Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810
|
Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 5178236083361335880 -> 3386266129388798810
|
||||||
mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA4847DCCA48":"2EFE6F1A7D28035A":0
|
mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA4847DCCA48":"2EFE6F1A7D28035A":0
|
||||||
@ -1275,7 +1275,7 @@ mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA4847DCCA48":"2EFE6F1A7D280
|
|||||||
# CURRENTLY FAILS - SEE GITHUB ISSUE #6540
|
# CURRENTLY FAILS - SEE GITHUB ISSUE #6540
|
||||||
#Test mbedtls_mpi_mod_int: 230772460340062999996714233870911201200 % 5178236083361335880 -> 0
|
#Test mbedtls_mpi_mod_int: 230772460340062999996714233870911201200 % 5178236083361335880 -> 0
|
||||||
#depends_on:MBEDTLS_HAVE_INT64
|
#depends_on:MBEDTLS_HAVE_INT64
|
||||||
#mpi_mod_int:"AD9D28BF6C4E98FDC2584FEF03A6DFB0":"47DCCA4847DCCA48":"0":0
|
#mpi_mod_int:"AD9D28BF6C4E98FDC2584FEF03A6DFB0":0x47DCCA4847DCCA48:0x0:0
|
||||||
|
|
||||||
Test mbedtls_mpi_mod_mpi: 230772460340062999996714233870911201200 % 5178236083361335880 -> 0
|
Test mbedtls_mpi_mod_mpi: 230772460340062999996714233870911201200 % 5178236083361335880 -> 0
|
||||||
mpi_mod_mpi:"AD9D28BF6C4E98FDC2584FEF03A6DFB0":"47DCCA4847DCCA48":"0":0
|
mpi_mod_mpi:"AD9D28BF6C4E98FDC2584FEF03A6DFB0":"47DCCA4847DCCA48":"0":0
|
||||||
@ -1283,7 +1283,7 @@ mpi_mod_mpi:"AD9D28BF6C4E98FDC2584FEF03A6DFB0":"47DCCA4847DCCA48":"0":0
|
|||||||
# CURRENTLY FAILS WHEN MPIS ARE 32-BIT (ISSUE #6450): WHEN FIXED, REMOVE "depends_on" LINE
|
# CURRENTLY FAILS WHEN MPIS ARE 32-BIT (ISSUE #6450): WHEN FIXED, REMOVE "depends_on" LINE
|
||||||
Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 1205652040 -> 3644370
|
Test mbedtls_mpi_mod_int: 230772460340063000000100500000300000010 % 1205652040 -> 3644370
|
||||||
depends_on:MBEDTLS_HAVE_INT64
|
depends_on:MBEDTLS_HAVE_INT64
|
||||||
mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA48":"379BD2":0
|
mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980CEE30A":0x47DCCA48:0x379BD2:0
|
||||||
|
|
||||||
Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 1205652040 -> 3644370
|
Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000300000010 % 1205652040 -> 3644370
|
||||||
mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA48":"379BD2":0
|
mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA48":"379BD2":0
|
||||||
@ -1291,7 +1291,7 @@ mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980CEE30A":"47DCCA48":"379BD2":0
|
|||||||
# CURRENTLY FAILS WHEN MPIS ARE 32-BIT (ISSUE #6450): WHEN FIXED, REMOVE "depends_on" LINE
|
# CURRENTLY FAILS WHEN MPIS ARE 32-BIT (ISSUE #6450): WHEN FIXED, REMOVE "depends_on" LINE
|
||||||
Test mbedtls_mpi_mod_int: 230772460340063000000100500000296355640 % 1205652040 -> 0
|
Test mbedtls_mpi_mod_int: 230772460340063000000100500000296355640 % 1205652040 -> 0
|
||||||
depends_on:MBEDTLS_HAVE_INT64
|
depends_on:MBEDTLS_HAVE_INT64
|
||||||
mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980974738":"47DCCA48":"0":0
|
mpi_mod_int:"AD9D28BF6C4E98FDF156BF0980974738":0x47DCCA48:0x0:0
|
||||||
|
|
||||||
Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000296355640 % 1205652040 -> 0
|
Test mbedtls_mpi_mod_mpi: 230772460340063000000100500000296355640 % 1205652040 -> 0
|
||||||
mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980974738":"47DCCA48":"0":0
|
mpi_mod_mpi:"AD9D28BF6C4E98FDF156BF0980974738":"47DCCA48":"0":0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user