From 5fc78465075fb2b447a8224962c69faad497797a Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Thu, 27 Apr 2023 13:16:55 +0000 Subject: [PATCH 01/12] Add add_sub test cases for named moduli curves Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.function | 61 +++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function index e5dddc4023..d22be43a12 100644 --- a/tests/suites/test_suite_ecp.function +++ b/tests/suites/test_suite_ecp.function @@ -1596,7 +1596,6 @@ void ecp_mod_mul_inv(char *input_A, int id, int ctype) memset(A, 0, limbs * ciL); ASSERT_COMPARE(&bufx[1], (limbs - 1) * ciL, A, (limbs - 1) * ciL); - exit: mbedtls_mpi_mod_modulus_free(&m); mbedtls_mpi_mod_residue_release(&rA); @@ -1608,3 +1607,63 @@ exit: mbedtls_free(bufx); } /* END_CASE */ + +/* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS */ +void ecp_mod_add_sub(char *input_A, char *input_B, int id, int ctype, int iret) +{ + int ret; + mbedtls_mpi_mod_modulus m; + mbedtls_mpi_mod_modulus_init(&m); + mbedtls_mpi_uint *p_A = NULL; + mbedtls_mpi_uint *p_B = NULL; + mbedtls_mpi_uint *p_S = NULL; + mbedtls_mpi_mod_residue rA = { NULL, 0 }; + mbedtls_mpi_mod_residue rB = { NULL, 0 }; + mbedtls_mpi_mod_residue rS = { NULL, 0 }; + size_t p_limbs; + size_t bytes; + + TEST_EQUAL(mbedtls_test_read_mpi_core(&p_A, &p_limbs, input_A), 0); + + ret = mbedtls_ecp_modulus_setup(&m, id, ctype); + TEST_EQUAL(ret, iret); + + if (ret == 0) { + + /* Test for limb sizes */ + TEST_EQUAL(m.limbs, p_limbs); + bytes = p_limbs * sizeof(mbedtls_mpi_uint); + + /* Test for validity of moduli by the presence of Montgomery consts */ + + TEST_ASSERT(m.rep.mont.mm != 0); + TEST_ASSERT(m.rep.mont.rr != NULL); + + ASSERT_ALLOC(p_S, p_limbs); + + TEST_EQUAL(mbedtls_test_read_mpi_core(&p_B, &p_limbs, input_B), 0); + TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rA, &m, p_A, p_limbs), 0); + TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rB, &m, p_B, p_limbs), 0); + TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rS, &m, p_S, p_limbs), 0); + + TEST_EQUAL(0, mbedtls_mpi_mod_add(&rS, &rA, &rB, &m)); + TEST_EQUAL(0, mbedtls_mpi_mod_sub(&rS, &rS, &rB, &m)); + + + /* Compare output byte-by-byte */ + ASSERT_COMPARE(rA.p, bytes, rS.p, bytes); + + /* Test for user free-ing allocated memory */ + mbedtls_mpi_mod_modulus_free(&m); + } + +exit: + mbedtls_mpi_mod_modulus_free(&m); + mbedtls_mpi_mod_residue_release(&rA); + mbedtls_mpi_mod_residue_release(&rB); + mbedtls_mpi_mod_residue_release(&rS); + mbedtls_free(p_A); + mbedtls_free(p_B); + mbedtls_free(p_S); +} +/* END_CASE */ From 9fe2587ccf226ae7df1216410f4be69e89a16a03 Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Fri, 12 May 2023 03:51:47 +0000 Subject: [PATCH 02/12] Add add_sub test data for named moduli curves Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.data | 112 +++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/tests/suites/test_suite_ecp.data b/tests/suites/test_suite_ecp.data index 5e5f0724ce..de078fa578 100644 --- a/tests/suites/test_suite_ecp.data +++ b/tests/suites/test_suite_ecp.data @@ -1234,3 +1234,115 @@ ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffff ecp_mul_inv #48 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff01243a939d867d7e0a75a8568d4d66de88f3ecc1ad37f91a8f9d7d70":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR + +# The following data be generated by random.getrandbits() in python must less than the named curves' modulus. +# mbedtls_mpi_mod_residue_setup() can be used to check whether it satisfy the requirements. +ecp_add_sub #1 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) +depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED +ecp_mod_add_sub:"340139fe4a67f2fa9a9a6b3eb89e50d002e8852f3ac13dc6":"edfb9290118dd3461d7df865e830509e76788d3cd99b0258":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #2 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) +depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED +ecp_mod_add_sub:"71327812f2d8a7ea7f0d258fa9aaef733c2678069c2524e3":"8228e66d05018523ef4a8f2964ed4c912b34dba258d899dd":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #3 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) +depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED +ecp_mod_add_sub:"ecc169a94e1a332adecb9e9250fa7dec363c4600ca05edc5":"155701eb2ce23e09dd6707083f82d0daaa6f67221df330da":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #4 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) +depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED +ecp_mod_add_sub:"f9c4728bef9fba3e7d856a8e2ff62f20c2a57bf64f6d707f0829a8ff":"a7eb9830785787978aadb40c83795e481dde37b5c5fc63471ca87be9":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #5 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) +depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED +ecp_mod_add_sub:"cee8071ade3e016fd47627782f6543814dd6ab7e6f432679ddacf9ed":"30a95280613513578ff6162003a6033660570bf4eb29af8c2fb62856":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #6 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) +depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED +ecp_mod_add_sub:"326258467dcbf4d1ab1665a4c5036cb35f4c9231199b58166b3966c6":"ac2f0be083e57886a0720250438b3593d480e9d88691376f61b34c23":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #7 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED +ecp_mod_add_sub:"c36eadeab80f149cd51a1ed6311270ae2e4acc6734e787135f499c3a97f1edc3":"c77db32dd33205cdccbbef48d026620a3bf8bdf1be26bc559ed97074df6a3c35":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #8 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED +ecp_mod_add_sub:"e384042f3130be8a796b221724cf1127a44290804cfbeb7fb6f57142a2a5cddd":"d6b501f03b97d8b8c87da16f4782d2a1141fdd04c402a82e8250068016b6fa42":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #9 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED +ecp_mod_add_sub:"f1d356376f03b5dbf0fd08bde5c4293115f7c7911f7a3ec3f90557602eb20147":"f61f23353f7ff1a0709b94d9863dc9513975d019ae5e1d5f7e4ed0485031bf34":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #10 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) +depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED +ecp_mod_add_sub:"a3137cd9b0c9e75a871f92e3ab6b284069ee06cd9c0afb2368fd8d381afcfecc553cb6b3f29216038d268a8d8fcd00f7":"f6f83a84282b29760cea481c311394b06163ea7b3fb32b8623de587acecab3d6181b9efc9c611e488c2cfa0608244e7d":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #11 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) +depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED +ecp_mod_add_sub:"a340ca2e1f39f89261f20a23881cde271e36b32add90cbc1801d2375d6db664df297df2364aaafbb9ba3d4672e4fd022":"501118699c219b612f3a1092ed1b6b34fa6eae762c6a492fb512e5b89d528845409e5b09ca1ff5ae33a1a1876676cc78":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #12 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) +depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED +ecp_mod_add_sub:"491b1d169c9262fd737847c13bb7370d91825fe985cfa000d4b9bd3c22e7b63016122c53156fae4757943a819a1ced6d":"65d74acbc7e6c3700ee4bfaeb4c9d2643e73d07e0ff416876b944087606560d1b9b0af1a2b3ff3f02f80f76fc5c1cf60":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #13 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) +depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED +ecp_mod_add_sub:"1477156c589f498b61beb35f57662410d8821f3a1ee4a5968a8009618dbe4afda408809822eb0e994fbf9da1659c1ea21b151db97cd1f1567fa4b9327967e0aa591":"c1a19bbedad2873d20c92e8d7a6b639b601ffc86ad0f1e2f28b5b85853c00455d35301179c9303579bf72f2f0bdbd017dd665e5448e21d1d157fadf47845cd3c43":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #14 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) +depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED +ecp_mod_add_sub:"158dd0fdd801513590d221009f2b6c212f2b30214cc3b1f80aaf9142dc9f328c8e2b0af83e1acdb102d85f287d77188c2b8e7911cf9452f5014966f28da330e1fa6":"19c137d65805dae62a80eec878420b772c825f3ba93244230fea80e9cec2ef073d970c5c1f7544684e54d19ec9ce3ae064d75d1ffe31c67b36b477bd498d4c79314":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #15 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) +depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED +ecp_mod_add_sub:"1e53d580521a1cff4cd72576c13fecb2cbcf39453f2b437f0c8dc78d7982a37749f099942ce693751ec43407c3acf46315132ea2a9ae5fa9253408da2375d2b58fc":"4b727c53ac84e265d64a156f643e6a5eaf264b90efa258c65657086a6316481c43768596bc15c7e3891b0ef5c976fde802be8eb1c9adbf58bdc894935d81c9baed":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #16 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) +depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED +ecp_mod_add_sub:"96e729c5c64b7f54375c2779f034acc1f32c26358a621ab421b9c4d4c11ddb28":"33eb3a8e03933a02b786bade686d3399f5b7ef9f36401fb7f5e398b7d66c81ae":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE:0 + +ecp_add_sub #17 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) +depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED +ecp_mod_add_sub:"7491ad896c2a0ec65950db5c91e9b573a77839fd576481da85f5a77c7ceccce0":"6275f327b371baa38c4830c10ed8dcf470918ee113dbdb54aeecac4407821ec1":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE:0 + +ecp_add_sub #18 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) +depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED +ecp_mod_add_sub:"8d9454c7494b6e08d068391c811cb23cbe9318246a6c021b0018745eb6918751":"8f068ef36d063355c4aa2dc407d5f13d941681994e88f1b37000eb77cc323568":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE:0 + +ecp_add_sub #19 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) +depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED +ecp_mod_add_sub:"3aff86b1ee706d38e4995b76f6433d9173c5d3ec19b43ff0a3d53ac20965c911":"3f5dd2814cd77a4c6b0498d4cff1278ee5b23e0f35f7a51dc563d6422e6c70ff":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #20 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) +depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED +ecp_mod_add_sub:"8bcf768f2f7d6d22133de97f5e463337ff030e662d6f6724d5bad27e27be5dc0":"3c0b7770a0a71ab40307387b7ed50cd11c842de1899fde73ee26a2be7c10555b":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #21 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) +depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED +ecp_mod_add_sub:"435ed5da780b83a0130fc8f03e8e224d5bb4ae2eeeba214b8156544c4ae85944":"7e27ace7d1431b1acb5887212e8c7ea11a66817a582b9800e994bd0d43ba4756":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #22 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) +depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED +ecp_mod_add_sub:"4003a648cfeda3a738a3e05933c6ce5098ab6dc943821cfc485f8991caaba99979ced9bb237c6b24997db8359a4a659f":"4f212fc07fd99090ea825b78602786d9a2322a0e5aa21e175c7d8f82d72d002cb55518f8deeffb227bf2fa4315a54552":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE:0 + +ecp_add_sub #23 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) +depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED +ecp_mod_add_sub:"62b4355dc4cc6d76fc1633c46222c6ad5efaf6de931f0d25217d3dcebfd443fec31eeba68688717275a039863d03a48b":"7540b21c067768b092c0b353d40f82701743c220cc90085ee74303e4552a478c93470a623f4bd83c3d740d037fb18eed":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE:0 + + +ecp_add_sub #24 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) +depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED +ecp_mod_add_sub:"80acca473c3fcee61d13a0a766ed0dcd5f50277f576ff6f3461664d436e2054ad7ecc8b7c0a9424fbda1d431c540c05a":"68d46a69a1b828e5099dc54f8b302f4e8998c51fc9228d4fdd0d782e8d6735aa2df7c604225483e9390548983e03fcc1":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE:0 + +ecp_add_sub #25 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) +depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED +ecp_mod_add_sub:"371851bd69a5a1734b195c6ad6b041f51d94718cb437ab4a0a14ee5fa5fccd29328f3e77bfa2e4c58195ccb55cdc6a4":"3355ff1fbf1dd347f1bd321d0e41887802e8f28bdf4d4c6ec392dca4cf8e612428c1f805fde0207fe3e53a342f437864":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #26 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) +depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED +ecp_mod_add_sub:"82b18c3794463edeb80760098f7d392569dde6ed5ec21753b66e4e9b79e2f3e89bfc9fea1a2ffda2c285a0cc4afeab0":"659408567a79795f84ac799726adeaa1a88053daf8f71452a27ee136d3b912d85c0bf63d14e892964f07b1932f6d566b":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #27 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) +depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED +ecp_mod_add_sub:"7c17dc9df00c870a701c07186bd74b752abb6a9e17ee1c6342403e75d6fa7431b32e2495eb3f5e67c6519b43c6f69e28":"806a6dc5282a42114dbcb10eb3cd87bfeab2bf4e6cd9ba1810725141145e9661656578604b94f665755580008890c71f":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR:0 + From 4dd1c0a475f0c0c8f08aefb3369a447fc76bf5cb Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Fri, 12 May 2023 10:57:28 +0000 Subject: [PATCH 03/12] Add test data for ecp_add_sub Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.data | 84 ++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/tests/suites/test_suite_ecp.data b/tests/suites/test_suite_ecp.data index de078fa578..bd8ae5d946 100644 --- a/tests/suites/test_suite_ecp.data +++ b/tests/suites/test_suite_ecp.data @@ -1346,3 +1346,87 @@ ecp_add_sub #27 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED ecp_mod_add_sub:"7c17dc9df00c870a701c07186bd74b752abb6a9e17ee1c6342403e75d6fa7431b32e2495eb3f5e67c6519b43c6f69e28":"806a6dc5282a42114dbcb10eb3cd87bfeab2bf4e6cd9ba1810725141145e9661656578604b94f665755580008890c71f":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_add_sub #28 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) +depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED +ecp_mod_add_sub:"27e445caeb0d6752bd051f36a6d21ccdf67ba9b8238f2552aba237c3c72f3d384e7df2a25f95b779c7f38a4123741e2c691c4d5b87b231e4a98ecb9166a73674":"2dcb8bdae089b8a1d2cbb147a2c0e7daedef3425b20c220dbc3d9ff5f36640d3687abe9ef173b3a4fcd94f4c0c5ea348864985c7f40bd5444f5c66063cb986bc":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE:0 + +ecp_add_sub #29 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) +depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED +ecp_mod_add_sub:"7b1dc9c166abbcd7a1a6b1ec375a3125aa3257d1d40e781f1ac9023dba4248415aa0eaea6fa8ce460f85fdae3f62fbb4bdcb953328f5d5664b71f70f681c0f4e":"36074851bc5a348971ea98f28bf04fe46713a4e0b7a834b96476e3306f808ab3d002b65e16e0478e27d10af5538ec77b5d809ec2b1196d930619b48155c9f6cd":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE:0 + +ecp_add_sub #30 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) +depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED +ecp_mod_add_sub:"8be202ecb80ae3f6fe07a17b03c14997668b37d029d38943245c8a6cd1cbce3d57cfc673886a22db7ab8686570881a5dc1d9855aa6618c52df55a04510e00bba":"8072004af6d9d33e8c5954284a4386a23000b50afb95047209c5fdca518706f784b66b6b7dd2705b51e037391515dddbd75295f461da0fb4f9b6f57b8d718c45":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE:0 + +ecp_add_sub #31 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) +depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED +ecp_mod_add_sub:"572a5522bc45566df4c7575b91fdbc74975fd59380339b5aa23cbce2204744793ca3255705f5d9ba48335f36baf462010680f1e35cca26468d7d8f4223988189":"9da4c17ac850d4f63f8d3161623765b604c628cefb0126047676db1af1947231717259cd6d08273384c2452564da4b7ecbaaa72696b6c80f74d30c57a77fbe8b":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #32 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) +depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED +ecp_mod_add_sub:"99c2751d157489ab961a7bf1be12c8575cc56c99c6db8e2273450f6332ecdd3cd9b33763acd0509d8b98250462319bfd7cfbfc87c99ce31c15cefab651bc088c":"6866102f6694a10f74c811a24138c43ce32c887ba3e03815215bc0852f31da2534a0e4d373910863bc72e5151270dd409a0ad49b36a54cac8242144059e2e1e8":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #33 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) +depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED +ecp_mod_add_sub:"3169122b79ab7add228eed5b4de336dcb5daae8136b5cb184c08752d727c954840f8e2ad6860245128f6931a4598578679a65aa6e4b138a349586c57d03d2216":"6b7cfddae0a3a1a0ac747844fd7254736e85983f8fcddbbd4b95da6b66985ed0c6934a6a1047c431cdc4ba5b9699a6be0f98bb5970ab0d0737e1bd2d148ab3d5":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #34 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) +depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED +ecp_mod_add_sub:"0283877635fb4712d31e176ae3bfc2bbd63c1e4a498d2ed41ed6f9c691b2ce55":"01ceebebd76cf3324bd69a3e36338682a4432ced6ecfd604c61f06a0a785fcf9":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #35 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) +depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED +ecp_mod_add_sub:"1000000000000000000000000000000010caf49570936f75d70f03efac6c1c19":"0512bcda8d3b5ef3e6ba37996f0bf5ad7b019e56bc65025115b4b0845c84223":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #36 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) +depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED +ecp_mod_add_sub:"468de1bfdbb20b67371bc5ad0f2bc3e70705b6d85c14ad75daafdbd1502cfd1":"062fa75ae67f3463c9eebce624f9d8ba6644a05b078cd976ecd710f9bc43a347":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #37 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) +depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED +ecp_mod_add_sub:"2228b202d612f2e66d8ca00b7e1c19a737ee7db2708d91cd":"8f03bee76599feb4aaf0e67df83ff8851ec97047ef328e78":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #38 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) +depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED +ecp_mod_add_sub:"40c0451d06b0d622c65b8336c4c9abe8828f6fd5d5c1abde":"f4d8e3b71eee5bb8cf08fb85f0eb73a9172f95f3d25c86a1":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #39 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) +depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED +ecp_mod_add_sub:"d2a10413f48d7bcc18a9b7c53c7914c5302c9c9e48b2eb62":"32129cb349733a118cdfb66dd1222dadf9e187f5ca4e97ab":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #40 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) +depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED +ecp_mod_add_sub:"0cc154fe846d6b9f51d6166a8d1bb969ff634ab9af95cc89d01669c86":"0c1519a55899488ed1e4ee192b7de22dd30303a8014f10f87581dd769":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #41 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) +depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED +ecp_mod_add_sub:"0614cf6b720cc9dcc6d3bb36bb46cf285e23a083b067be8c93b51cbb4":"0c96ffe83bfb73df893cac1dd18ddba0784281feed985930eb18e1211":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #42 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) +depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED +ecp_mod_add_sub:"071b3a40f3e2b8984e8cc238b7725870da10cb2de37f430da2da68645":"0c0747a090df5fa917948b74f1739e03849918522dcc0ba70bf6bf65":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #43 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecp_mod_add_sub:"9fd95fed98cc1c2ef91b5dc02fa84f63597e15a3326c07f2918afb3ffd093343":"2a0f3c405959a0df24a1c24d0e50bc27d73d377ef7aa17fb398e6ee50eca9cda":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #44 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecp_mod_add_sub:"5ddbd441c7037e11caaa9878216c5cfeae67864260429eab4529b56c2661f3de":"61ebb4588eb06389bf3ea55a6af66179ca8d5ca071c120aa27f592621d1f42d2":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #45 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecp_mod_add_sub:"f8d3f3c02fd712f711d8e30d0d4c142eb106e5f75c25f55b3f983bc5c83c568a":"b76684acd0c06df6b397a52d592728718ab4dbdb0bc1bd9877f790dfa807b5a5":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #46 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) +depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED +ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff11ca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff113c3c73012694226d0fa5634209c67c319871c13da14288ea5d40d0":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #47 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) +depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED +ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff0169d3f35081924aeaf1beac2f2720557c9bdf6b42cdceb54c6160ba":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff295b0df3935816d53eb20f209a324c61d1656f6f78f75d857d67ef0c":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR:0 + +ecp_add_sub #48 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) +depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED +ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff01243a939d867d7e0a75a8568d4d66de88f3ecc1ad37f91a8f9d7d70":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff46daf5f8d9477b655aa45d424af0d2c450f1d7749ae62b5f9c20b12a":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR:0 + From 61b0c1c3dd45e90f01ffeb608d9d702f704a9b11 Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Wed, 17 May 2023 09:57:57 +0000 Subject: [PATCH 04/12] Refine code to align with the styles of ecp_mod_mul_inv Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.function | 55 +++++++++++----------------- 1 file changed, 22 insertions(+), 33 deletions(-) diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function index d22be43a12..346a015f62 100644 --- a/tests/suites/test_suite_ecp.function +++ b/tests/suites/test_suite_ecp.function @@ -1611,51 +1611,40 @@ exit: /* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS */ void ecp_mod_add_sub(char *input_A, char *input_B, int id, int ctype, int iret) { - int ret; + size_t p_limbs; + size_t bytes; mbedtls_mpi_mod_modulus m; - mbedtls_mpi_mod_modulus_init(&m); + mbedtls_mpi_mod_residue rA; + mbedtls_mpi_mod_residue rB; + mbedtls_mpi_mod_residue rS; mbedtls_mpi_uint *p_A = NULL; mbedtls_mpi_uint *p_B = NULL; mbedtls_mpi_uint *p_S = NULL; - mbedtls_mpi_mod_residue rA = { NULL, 0 }; - mbedtls_mpi_mod_residue rB = { NULL, 0 }; - mbedtls_mpi_mod_residue rS = { NULL, 0 }; - size_t p_limbs; - size_t bytes; + + ((void) iret); + + mbedtls_mpi_mod_modulus_init(&m); TEST_EQUAL(mbedtls_test_read_mpi_core(&p_A, &p_limbs, input_A), 0); + TEST_EQUAL(mbedtls_test_read_mpi_core(&p_B, &p_limbs, input_B), 0); - ret = mbedtls_ecp_modulus_setup(&m, id, ctype); - TEST_EQUAL(ret, iret); + TEST_ASSERT(mbedtls_ecp_modulus_setup(&m, id, ctype) == 0); - if (ret == 0) { + /* Test for limb sizes */ + TEST_EQUAL(m.limbs, p_limbs); + bytes = p_limbs * sizeof(mbedtls_mpi_uint); - /* Test for limb sizes */ - TEST_EQUAL(m.limbs, p_limbs); - bytes = p_limbs * sizeof(mbedtls_mpi_uint); + ASSERT_ALLOC(p_S, p_limbs); - /* Test for validity of moduli by the presence of Montgomery consts */ + TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rA, &m, p_A, p_limbs), 0); + TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rB, &m, p_B, p_limbs), 0); + TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rS, &m, p_S, p_limbs), 0); - TEST_ASSERT(m.rep.mont.mm != 0); - TEST_ASSERT(m.rep.mont.rr != NULL); + TEST_EQUAL(0, mbedtls_mpi_mod_add(&rS, &rA, &rB, &m)); + TEST_EQUAL(0, mbedtls_mpi_mod_sub(&rS, &rS, &rB, &m)); - ASSERT_ALLOC(p_S, p_limbs); - - TEST_EQUAL(mbedtls_test_read_mpi_core(&p_B, &p_limbs, input_B), 0); - TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rA, &m, p_A, p_limbs), 0); - TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rB, &m, p_B, p_limbs), 0); - TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rS, &m, p_S, p_limbs), 0); - - TEST_EQUAL(0, mbedtls_mpi_mod_add(&rS, &rA, &rB, &m)); - TEST_EQUAL(0, mbedtls_mpi_mod_sub(&rS, &rS, &rB, &m)); - - - /* Compare output byte-by-byte */ - ASSERT_COMPARE(rA.p, bytes, rS.p, bytes); - - /* Test for user free-ing allocated memory */ - mbedtls_mpi_mod_modulus_free(&m); - } + /* Compare output byte-by-byte */ + ASSERT_COMPARE(rA.p, bytes, rS.p, bytes); exit: mbedtls_mpi_mod_modulus_free(&m); From c304e53209913747d8a9166420f891c1ffb23b79 Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Thu, 18 May 2023 07:46:59 +0000 Subject: [PATCH 05/12] Remove useless parameters for ecp_mod_add_sub Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.data | 96 ++++++++++++++-------------- tests/suites/test_suite_ecp.function | 4 +- 2 files changed, 49 insertions(+), 51 deletions(-) diff --git a/tests/suites/test_suite_ecp.data b/tests/suites/test_suite_ecp.data index bd8ae5d946..1e1d055e93 100644 --- a/tests/suites/test_suite_ecp.data +++ b/tests/suites/test_suite_ecp.data @@ -1239,194 +1239,194 @@ ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffff # mbedtls_mpi_mod_residue_setup() can be used to check whether it satisfy the requirements. ecp_add_sub #1 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED -ecp_mod_add_sub:"340139fe4a67f2fa9a9a6b3eb89e50d002e8852f3ac13dc6":"edfb9290118dd3461d7df865e830509e76788d3cd99b0258":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"340139fe4a67f2fa9a9a6b3eb89e50d002e8852f3ac13dc6":"edfb9290118dd3461d7df865e830509e76788d3cd99b0258":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #2 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED -ecp_mod_add_sub:"71327812f2d8a7ea7f0d258fa9aaef733c2678069c2524e3":"8228e66d05018523ef4a8f2964ed4c912b34dba258d899dd":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"71327812f2d8a7ea7f0d258fa9aaef733c2678069c2524e3":"8228e66d05018523ef4a8f2964ed4c912b34dba258d899dd":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #3 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED -ecp_mod_add_sub:"ecc169a94e1a332adecb9e9250fa7dec363c4600ca05edc5":"155701eb2ce23e09dd6707083f82d0daaa6f67221df330da":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"ecc169a94e1a332adecb9e9250fa7dec363c4600ca05edc5":"155701eb2ce23e09dd6707083f82d0daaa6f67221df330da":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #4 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED -ecp_mod_add_sub:"f9c4728bef9fba3e7d856a8e2ff62f20c2a57bf64f6d707f0829a8ff":"a7eb9830785787978aadb40c83795e481dde37b5c5fc63471ca87be9":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"f9c4728bef9fba3e7d856a8e2ff62f20c2a57bf64f6d707f0829a8ff":"a7eb9830785787978aadb40c83795e481dde37b5c5fc63471ca87be9":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #5 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED -ecp_mod_add_sub:"cee8071ade3e016fd47627782f6543814dd6ab7e6f432679ddacf9ed":"30a95280613513578ff6162003a6033660570bf4eb29af8c2fb62856":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"cee8071ade3e016fd47627782f6543814dd6ab7e6f432679ddacf9ed":"30a95280613513578ff6162003a6033660570bf4eb29af8c2fb62856":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #6 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED -ecp_mod_add_sub:"326258467dcbf4d1ab1665a4c5036cb35f4c9231199b58166b3966c6":"ac2f0be083e57886a0720250438b3593d480e9d88691376f61b34c23":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"326258467dcbf4d1ab1665a4c5036cb35f4c9231199b58166b3966c6":"ac2f0be083e57886a0720250438b3593d480e9d88691376f61b34c23":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #7 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED -ecp_mod_add_sub:"c36eadeab80f149cd51a1ed6311270ae2e4acc6734e787135f499c3a97f1edc3":"c77db32dd33205cdccbbef48d026620a3bf8bdf1be26bc559ed97074df6a3c35":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"c36eadeab80f149cd51a1ed6311270ae2e4acc6734e787135f499c3a97f1edc3":"c77db32dd33205cdccbbef48d026620a3bf8bdf1be26bc559ed97074df6a3c35":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #8 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED -ecp_mod_add_sub:"e384042f3130be8a796b221724cf1127a44290804cfbeb7fb6f57142a2a5cddd":"d6b501f03b97d8b8c87da16f4782d2a1141fdd04c402a82e8250068016b6fa42":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"e384042f3130be8a796b221724cf1127a44290804cfbeb7fb6f57142a2a5cddd":"d6b501f03b97d8b8c87da16f4782d2a1141fdd04c402a82e8250068016b6fa42":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #9 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED -ecp_mod_add_sub:"f1d356376f03b5dbf0fd08bde5c4293115f7c7911f7a3ec3f90557602eb20147":"f61f23353f7ff1a0709b94d9863dc9513975d019ae5e1d5f7e4ed0485031bf34":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"f1d356376f03b5dbf0fd08bde5c4293115f7c7911f7a3ec3f90557602eb20147":"f61f23353f7ff1a0709b94d9863dc9513975d019ae5e1d5f7e4ed0485031bf34":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #10 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED -ecp_mod_add_sub:"a3137cd9b0c9e75a871f92e3ab6b284069ee06cd9c0afb2368fd8d381afcfecc553cb6b3f29216038d268a8d8fcd00f7":"f6f83a84282b29760cea481c311394b06163ea7b3fb32b8623de587acecab3d6181b9efc9c611e488c2cfa0608244e7d":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"a3137cd9b0c9e75a871f92e3ab6b284069ee06cd9c0afb2368fd8d381afcfecc553cb6b3f29216038d268a8d8fcd00f7":"f6f83a84282b29760cea481c311394b06163ea7b3fb32b8623de587acecab3d6181b9efc9c611e488c2cfa0608244e7d":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #11 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED -ecp_mod_add_sub:"a340ca2e1f39f89261f20a23881cde271e36b32add90cbc1801d2375d6db664df297df2364aaafbb9ba3d4672e4fd022":"501118699c219b612f3a1092ed1b6b34fa6eae762c6a492fb512e5b89d528845409e5b09ca1ff5ae33a1a1876676cc78":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"a340ca2e1f39f89261f20a23881cde271e36b32add90cbc1801d2375d6db664df297df2364aaafbb9ba3d4672e4fd022":"501118699c219b612f3a1092ed1b6b34fa6eae762c6a492fb512e5b89d528845409e5b09ca1ff5ae33a1a1876676cc78":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #12 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED -ecp_mod_add_sub:"491b1d169c9262fd737847c13bb7370d91825fe985cfa000d4b9bd3c22e7b63016122c53156fae4757943a819a1ced6d":"65d74acbc7e6c3700ee4bfaeb4c9d2643e73d07e0ff416876b944087606560d1b9b0af1a2b3ff3f02f80f76fc5c1cf60":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"491b1d169c9262fd737847c13bb7370d91825fe985cfa000d4b9bd3c22e7b63016122c53156fae4757943a819a1ced6d":"65d74acbc7e6c3700ee4bfaeb4c9d2643e73d07e0ff416876b944087606560d1b9b0af1a2b3ff3f02f80f76fc5c1cf60":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #13 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED -ecp_mod_add_sub:"1477156c589f498b61beb35f57662410d8821f3a1ee4a5968a8009618dbe4afda408809822eb0e994fbf9da1659c1ea21b151db97cd1f1567fa4b9327967e0aa591":"c1a19bbedad2873d20c92e8d7a6b639b601ffc86ad0f1e2f28b5b85853c00455d35301179c9303579bf72f2f0bdbd017dd665e5448e21d1d157fadf47845cd3c43":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"1477156c589f498b61beb35f57662410d8821f3a1ee4a5968a8009618dbe4afda408809822eb0e994fbf9da1659c1ea21b151db97cd1f1567fa4b9327967e0aa591":"c1a19bbedad2873d20c92e8d7a6b639b601ffc86ad0f1e2f28b5b85853c00455d35301179c9303579bf72f2f0bdbd017dd665e5448e21d1d157fadf47845cd3c43":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #14 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED -ecp_mod_add_sub:"158dd0fdd801513590d221009f2b6c212f2b30214cc3b1f80aaf9142dc9f328c8e2b0af83e1acdb102d85f287d77188c2b8e7911cf9452f5014966f28da330e1fa6":"19c137d65805dae62a80eec878420b772c825f3ba93244230fea80e9cec2ef073d970c5c1f7544684e54d19ec9ce3ae064d75d1ffe31c67b36b477bd498d4c79314":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"158dd0fdd801513590d221009f2b6c212f2b30214cc3b1f80aaf9142dc9f328c8e2b0af83e1acdb102d85f287d77188c2b8e7911cf9452f5014966f28da330e1fa6":"19c137d65805dae62a80eec878420b772c825f3ba93244230fea80e9cec2ef073d970c5c1f7544684e54d19ec9ce3ae064d75d1ffe31c67b36b477bd498d4c79314":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #15 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED -ecp_mod_add_sub:"1e53d580521a1cff4cd72576c13fecb2cbcf39453f2b437f0c8dc78d7982a37749f099942ce693751ec43407c3acf46315132ea2a9ae5fa9253408da2375d2b58fc":"4b727c53ac84e265d64a156f643e6a5eaf264b90efa258c65657086a6316481c43768596bc15c7e3891b0ef5c976fde802be8eb1c9adbf58bdc894935d81c9baed":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"1e53d580521a1cff4cd72576c13fecb2cbcf39453f2b437f0c8dc78d7982a37749f099942ce693751ec43407c3acf46315132ea2a9ae5fa9253408da2375d2b58fc":"4b727c53ac84e265d64a156f643e6a5eaf264b90efa258c65657086a6316481c43768596bc15c7e3891b0ef5c976fde802be8eb1c9adbf58bdc894935d81c9baed":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #16 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"96e729c5c64b7f54375c2779f034acc1f32c26358a621ab421b9c4d4c11ddb28":"33eb3a8e03933a02b786bade686d3399f5b7ef9f36401fb7f5e398b7d66c81ae":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE:0 +ecp_mod_add_sub:"96e729c5c64b7f54375c2779f034acc1f32c26358a621ab421b9c4d4c11ddb28":"33eb3a8e03933a02b786bade686d3399f5b7ef9f36401fb7f5e398b7d66c81ae":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #17 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"7491ad896c2a0ec65950db5c91e9b573a77839fd576481da85f5a77c7ceccce0":"6275f327b371baa38c4830c10ed8dcf470918ee113dbdb54aeecac4407821ec1":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE:0 +ecp_mod_add_sub:"7491ad896c2a0ec65950db5c91e9b573a77839fd576481da85f5a77c7ceccce0":"6275f327b371baa38c4830c10ed8dcf470918ee113dbdb54aeecac4407821ec1":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #18 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"8d9454c7494b6e08d068391c811cb23cbe9318246a6c021b0018745eb6918751":"8f068ef36d063355c4aa2dc407d5f13d941681994e88f1b37000eb77cc323568":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE:0 +ecp_mod_add_sub:"8d9454c7494b6e08d068391c811cb23cbe9318246a6c021b0018745eb6918751":"8f068ef36d063355c4aa2dc407d5f13d941681994e88f1b37000eb77cc323568":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #19 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"3aff86b1ee706d38e4995b76f6433d9173c5d3ec19b43ff0a3d53ac20965c911":"3f5dd2814cd77a4c6b0498d4cff1278ee5b23e0f35f7a51dc563d6422e6c70ff":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"3aff86b1ee706d38e4995b76f6433d9173c5d3ec19b43ff0a3d53ac20965c911":"3f5dd2814cd77a4c6b0498d4cff1278ee5b23e0f35f7a51dc563d6422e6c70ff":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #20 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"8bcf768f2f7d6d22133de97f5e463337ff030e662d6f6724d5bad27e27be5dc0":"3c0b7770a0a71ab40307387b7ed50cd11c842de1899fde73ee26a2be7c10555b":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"8bcf768f2f7d6d22133de97f5e463337ff030e662d6f6724d5bad27e27be5dc0":"3c0b7770a0a71ab40307387b7ed50cd11c842de1899fde73ee26a2be7c10555b":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #21 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"435ed5da780b83a0130fc8f03e8e224d5bb4ae2eeeba214b8156544c4ae85944":"7e27ace7d1431b1acb5887212e8c7ea11a66817a582b9800e994bd0d43ba4756":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"435ed5da780b83a0130fc8f03e8e224d5bb4ae2eeeba214b8156544c4ae85944":"7e27ace7d1431b1acb5887212e8c7ea11a66817a582b9800e994bd0d43ba4756":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #22 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"4003a648cfeda3a738a3e05933c6ce5098ab6dc943821cfc485f8991caaba99979ced9bb237c6b24997db8359a4a659f":"4f212fc07fd99090ea825b78602786d9a2322a0e5aa21e175c7d8f82d72d002cb55518f8deeffb227bf2fa4315a54552":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE:0 +ecp_mod_add_sub:"4003a648cfeda3a738a3e05933c6ce5098ab6dc943821cfc485f8991caaba99979ced9bb237c6b24997db8359a4a659f":"4f212fc07fd99090ea825b78602786d9a2322a0e5aa21e175c7d8f82d72d002cb55518f8deeffb227bf2fa4315a54552":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #23 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"62b4355dc4cc6d76fc1633c46222c6ad5efaf6de931f0d25217d3dcebfd443fec31eeba68688717275a039863d03a48b":"7540b21c067768b092c0b353d40f82701743c220cc90085ee74303e4552a478c93470a623f4bd83c3d740d037fb18eed":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE:0 +ecp_mod_add_sub:"62b4355dc4cc6d76fc1633c46222c6ad5efaf6de931f0d25217d3dcebfd443fec31eeba68688717275a039863d03a48b":"7540b21c067768b092c0b353d40f82701743c220cc90085ee74303e4552a478c93470a623f4bd83c3d740d037fb18eed":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #24 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"80acca473c3fcee61d13a0a766ed0dcd5f50277f576ff6f3461664d436e2054ad7ecc8b7c0a9424fbda1d431c540c05a":"68d46a69a1b828e5099dc54f8b302f4e8998c51fc9228d4fdd0d782e8d6735aa2df7c604225483e9390548983e03fcc1":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE:0 +ecp_mod_add_sub:"80acca473c3fcee61d13a0a766ed0dcd5f50277f576ff6f3461664d436e2054ad7ecc8b7c0a9424fbda1d431c540c05a":"68d46a69a1b828e5099dc54f8b302f4e8998c51fc9228d4fdd0d782e8d6735aa2df7c604225483e9390548983e03fcc1":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #25 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"371851bd69a5a1734b195c6ad6b041f51d94718cb437ab4a0a14ee5fa5fccd29328f3e77bfa2e4c58195ccb55cdc6a4":"3355ff1fbf1dd347f1bd321d0e41887802e8f28bdf4d4c6ec392dca4cf8e612428c1f805fde0207fe3e53a342f437864":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"371851bd69a5a1734b195c6ad6b041f51d94718cb437ab4a0a14ee5fa5fccd29328f3e77bfa2e4c58195ccb55cdc6a4":"3355ff1fbf1dd347f1bd321d0e41887802e8f28bdf4d4c6ec392dca4cf8e612428c1f805fde0207fe3e53a342f437864":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #26 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"82b18c3794463edeb80760098f7d392569dde6ed5ec21753b66e4e9b79e2f3e89bfc9fea1a2ffda2c285a0cc4afeab0":"659408567a79795f84ac799726adeaa1a88053daf8f71452a27ee136d3b912d85c0bf63d14e892964f07b1932f6d566b":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"82b18c3794463edeb80760098f7d392569dde6ed5ec21753b66e4e9b79e2f3e89bfc9fea1a2ffda2c285a0cc4afeab0":"659408567a79795f84ac799726adeaa1a88053daf8f71452a27ee136d3b912d85c0bf63d14e892964f07b1932f6d566b":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #27 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"7c17dc9df00c870a701c07186bd74b752abb6a9e17ee1c6342403e75d6fa7431b32e2495eb3f5e67c6519b43c6f69e28":"806a6dc5282a42114dbcb10eb3cd87bfeab2bf4e6cd9ba1810725141145e9661656578604b94f665755580008890c71f":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"7c17dc9df00c870a701c07186bd74b752abb6a9e17ee1c6342403e75d6fa7431b32e2495eb3f5e67c6519b43c6f69e28":"806a6dc5282a42114dbcb10eb3cd87bfeab2bf4e6cd9ba1810725141145e9661656578604b94f665755580008890c71f":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #28 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"27e445caeb0d6752bd051f36a6d21ccdf67ba9b8238f2552aba237c3c72f3d384e7df2a25f95b779c7f38a4123741e2c691c4d5b87b231e4a98ecb9166a73674":"2dcb8bdae089b8a1d2cbb147a2c0e7daedef3425b20c220dbc3d9ff5f36640d3687abe9ef173b3a4fcd94f4c0c5ea348864985c7f40bd5444f5c66063cb986bc":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE:0 +ecp_mod_add_sub:"27e445caeb0d6752bd051f36a6d21ccdf67ba9b8238f2552aba237c3c72f3d384e7df2a25f95b779c7f38a4123741e2c691c4d5b87b231e4a98ecb9166a73674":"2dcb8bdae089b8a1d2cbb147a2c0e7daedef3425b20c220dbc3d9ff5f36640d3687abe9ef173b3a4fcd94f4c0c5ea348864985c7f40bd5444f5c66063cb986bc":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #29 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"7b1dc9c166abbcd7a1a6b1ec375a3125aa3257d1d40e781f1ac9023dba4248415aa0eaea6fa8ce460f85fdae3f62fbb4bdcb953328f5d5664b71f70f681c0f4e":"36074851bc5a348971ea98f28bf04fe46713a4e0b7a834b96476e3306f808ab3d002b65e16e0478e27d10af5538ec77b5d809ec2b1196d930619b48155c9f6cd":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE:0 +ecp_mod_add_sub:"7b1dc9c166abbcd7a1a6b1ec375a3125aa3257d1d40e781f1ac9023dba4248415aa0eaea6fa8ce460f85fdae3f62fbb4bdcb953328f5d5664b71f70f681c0f4e":"36074851bc5a348971ea98f28bf04fe46713a4e0b7a834b96476e3306f808ab3d002b65e16e0478e27d10af5538ec77b5d809ec2b1196d930619b48155c9f6cd":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #30 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"8be202ecb80ae3f6fe07a17b03c14997668b37d029d38943245c8a6cd1cbce3d57cfc673886a22db7ab8686570881a5dc1d9855aa6618c52df55a04510e00bba":"8072004af6d9d33e8c5954284a4386a23000b50afb95047209c5fdca518706f784b66b6b7dd2705b51e037391515dddbd75295f461da0fb4f9b6f57b8d718c45":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE:0 +ecp_mod_add_sub:"8be202ecb80ae3f6fe07a17b03c14997668b37d029d38943245c8a6cd1cbce3d57cfc673886a22db7ab8686570881a5dc1d9855aa6618c52df55a04510e00bba":"8072004af6d9d33e8c5954284a4386a23000b50afb95047209c5fdca518706f784b66b6b7dd2705b51e037391515dddbd75295f461da0fb4f9b6f57b8d718c45":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #31 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"572a5522bc45566df4c7575b91fdbc74975fd59380339b5aa23cbce2204744793ca3255705f5d9ba48335f36baf462010680f1e35cca26468d7d8f4223988189":"9da4c17ac850d4f63f8d3161623765b604c628cefb0126047676db1af1947231717259cd6d08273384c2452564da4b7ecbaaa72696b6c80f74d30c57a77fbe8b":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"572a5522bc45566df4c7575b91fdbc74975fd59380339b5aa23cbce2204744793ca3255705f5d9ba48335f36baf462010680f1e35cca26468d7d8f4223988189":"9da4c17ac850d4f63f8d3161623765b604c628cefb0126047676db1af1947231717259cd6d08273384c2452564da4b7ecbaaa72696b6c80f74d30c57a77fbe8b":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #32 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"99c2751d157489ab961a7bf1be12c8575cc56c99c6db8e2273450f6332ecdd3cd9b33763acd0509d8b98250462319bfd7cfbfc87c99ce31c15cefab651bc088c":"6866102f6694a10f74c811a24138c43ce32c887ba3e03815215bc0852f31da2534a0e4d373910863bc72e5151270dd409a0ad49b36a54cac8242144059e2e1e8":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"99c2751d157489ab961a7bf1be12c8575cc56c99c6db8e2273450f6332ecdd3cd9b33763acd0509d8b98250462319bfd7cfbfc87c99ce31c15cefab651bc088c":"6866102f6694a10f74c811a24138c43ce32c887ba3e03815215bc0852f31da2534a0e4d373910863bc72e5151270dd409a0ad49b36a54cac8242144059e2e1e8":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #33 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"3169122b79ab7add228eed5b4de336dcb5daae8136b5cb184c08752d727c954840f8e2ad6860245128f6931a4598578679a65aa6e4b138a349586c57d03d2216":"6b7cfddae0a3a1a0ac747844fd7254736e85983f8fcddbbd4b95da6b66985ed0c6934a6a1047c431cdc4ba5b9699a6be0f98bb5970ab0d0737e1bd2d148ab3d5":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"3169122b79ab7add228eed5b4de336dcb5daae8136b5cb184c08752d727c954840f8e2ad6860245128f6931a4598578679a65aa6e4b138a349586c57d03d2216":"6b7cfddae0a3a1a0ac747844fd7254736e85983f8fcddbbd4b95da6b66985ed0c6934a6a1047c431cdc4ba5b9699a6be0f98bb5970ab0d0737e1bd2d148ab3d5":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #34 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED -ecp_mod_add_sub:"0283877635fb4712d31e176ae3bfc2bbd63c1e4a498d2ed41ed6f9c691b2ce55":"01ceebebd76cf3324bd69a3e36338682a4432ced6ecfd604c61f06a0a785fcf9":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"0283877635fb4712d31e176ae3bfc2bbd63c1e4a498d2ed41ed6f9c691b2ce55":"01ceebebd76cf3324bd69a3e36338682a4432ced6ecfd604c61f06a0a785fcf9":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #35 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED -ecp_mod_add_sub:"1000000000000000000000000000000010caf49570936f75d70f03efac6c1c19":"0512bcda8d3b5ef3e6ba37996f0bf5ad7b019e56bc65025115b4b0845c84223":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"1000000000000000000000000000000010caf49570936f75d70f03efac6c1c19":"0512bcda8d3b5ef3e6ba37996f0bf5ad7b019e56bc65025115b4b0845c84223":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #36 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED -ecp_mod_add_sub:"468de1bfdbb20b67371bc5ad0f2bc3e70705b6d85c14ad75daafdbd1502cfd1":"062fa75ae67f3463c9eebce624f9d8ba6644a05b078cd976ecd710f9bc43a347":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"468de1bfdbb20b67371bc5ad0f2bc3e70705b6d85c14ad75daafdbd1502cfd1":"062fa75ae67f3463c9eebce624f9d8ba6644a05b078cd976ecd710f9bc43a347":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #37 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED -ecp_mod_add_sub:"2228b202d612f2e66d8ca00b7e1c19a737ee7db2708d91cd":"8f03bee76599feb4aaf0e67df83ff8851ec97047ef328e78":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"2228b202d612f2e66d8ca00b7e1c19a737ee7db2708d91cd":"8f03bee76599feb4aaf0e67df83ff8851ec97047ef328e78":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #38 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED -ecp_mod_add_sub:"40c0451d06b0d622c65b8336c4c9abe8828f6fd5d5c1abde":"f4d8e3b71eee5bb8cf08fb85f0eb73a9172f95f3d25c86a1":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"40c0451d06b0d622c65b8336c4c9abe8828f6fd5d5c1abde":"f4d8e3b71eee5bb8cf08fb85f0eb73a9172f95f3d25c86a1":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #39 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED -ecp_mod_add_sub:"d2a10413f48d7bcc18a9b7c53c7914c5302c9c9e48b2eb62":"32129cb349733a118cdfb66dd1222dadf9e187f5ca4e97ab":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"d2a10413f48d7bcc18a9b7c53c7914c5302c9c9e48b2eb62":"32129cb349733a118cdfb66dd1222dadf9e187f5ca4e97ab":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #40 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED -ecp_mod_add_sub:"0cc154fe846d6b9f51d6166a8d1bb969ff634ab9af95cc89d01669c86":"0c1519a55899488ed1e4ee192b7de22dd30303a8014f10f87581dd769":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"0cc154fe846d6b9f51d6166a8d1bb969ff634ab9af95cc89d01669c86":"0c1519a55899488ed1e4ee192b7de22dd30303a8014f10f87581dd769":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #41 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED -ecp_mod_add_sub:"0614cf6b720cc9dcc6d3bb36bb46cf285e23a083b067be8c93b51cbb4":"0c96ffe83bfb73df893cac1dd18ddba0784281feed985930eb18e1211":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"0614cf6b720cc9dcc6d3bb36bb46cf285e23a083b067be8c93b51cbb4":"0c96ffe83bfb73df893cac1dd18ddba0784281feed985930eb18e1211":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #42 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED -ecp_mod_add_sub:"071b3a40f3e2b8984e8cc238b7725870da10cb2de37f430da2da68645":"0c0747a090df5fa917948b74f1739e03849918522dcc0ba70bf6bf65":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"071b3a40f3e2b8984e8cc238b7725870da10cb2de37f430da2da68645":"0c0747a090df5fa917948b74f1739e03849918522dcc0ba70bf6bf65":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #43 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED -ecp_mod_add_sub:"9fd95fed98cc1c2ef91b5dc02fa84f63597e15a3326c07f2918afb3ffd093343":"2a0f3c405959a0df24a1c24d0e50bc27d73d377ef7aa17fb398e6ee50eca9cda":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"9fd95fed98cc1c2ef91b5dc02fa84f63597e15a3326c07f2918afb3ffd093343":"2a0f3c405959a0df24a1c24d0e50bc27d73d377ef7aa17fb398e6ee50eca9cda":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #44 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED -ecp_mod_add_sub:"5ddbd441c7037e11caaa9878216c5cfeae67864260429eab4529b56c2661f3de":"61ebb4588eb06389bf3ea55a6af66179ca8d5ca071c120aa27f592621d1f42d2":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"5ddbd441c7037e11caaa9878216c5cfeae67864260429eab4529b56c2661f3de":"61ebb4588eb06389bf3ea55a6af66179ca8d5ca071c120aa27f592621d1f42d2":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #45 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED -ecp_mod_add_sub:"f8d3f3c02fd712f711d8e30d0d4c142eb106e5f75c25f55b3f983bc5c83c568a":"b76684acd0c06df6b397a52d592728718ab4dbdb0bc1bd9877f790dfa807b5a5":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"f8d3f3c02fd712f711d8e30d0d4c142eb106e5f75c25f55b3f983bc5c83c568a":"b76684acd0c06df6b397a52d592728718ab4dbdb0bc1bd9877f790dfa807b5a5":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #46 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED -ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff11ca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff113c3c73012694226d0fa5634209c67c319871c13da14288ea5d40d0":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff11ca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff113c3c73012694226d0fa5634209c67c319871c13da14288ea5d40d0":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #47 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED -ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff0169d3f35081924aeaf1beac2f2720557c9bdf6b42cdceb54c6160ba":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff295b0df3935816d53eb20f209a324c61d1656f6f78f75d857d67ef0c":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff0169d3f35081924aeaf1beac2f2720557c9bdf6b42cdceb54c6160ba":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff295b0df3935816d53eb20f209a324c61d1656f6f78f75d857d67ef0c":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #48 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED -ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff01243a939d867d7e0a75a8568d4d66de88f3ecc1ad37f91a8f9d7d70":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff46daf5f8d9477b655aa45d424af0d2c450f1d7749ae62b5f9c20b12a":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR:0 +ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff01243a939d867d7e0a75a8568d4d66de88f3ecc1ad37f91a8f9d7d70":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff46daf5f8d9477b655aa45d424af0d2c450f1d7749ae62b5f9c20b12a":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function index 346a015f62..3f810d2e8a 100644 --- a/tests/suites/test_suite_ecp.function +++ b/tests/suites/test_suite_ecp.function @@ -1609,7 +1609,7 @@ exit: /* END_CASE */ /* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS */ -void ecp_mod_add_sub(char *input_A, char *input_B, int id, int ctype, int iret) +void ecp_mod_add_sub(char *input_A, char *input_B, int id, int ctype) { size_t p_limbs; size_t bytes; @@ -1621,8 +1621,6 @@ void ecp_mod_add_sub(char *input_A, char *input_B, int id, int ctype, int iret) mbedtls_mpi_uint *p_B = NULL; mbedtls_mpi_uint *p_S = NULL; - ((void) iret); - mbedtls_mpi_mod_modulus_init(&m); TEST_EQUAL(mbedtls_test_read_mpi_core(&p_A, &p_limbs, input_A), 0); From 6d02c2fefc9decd229803bb6a01a9c47e81eafd9 Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Thu, 18 May 2023 09:35:25 +0000 Subject: [PATCH 06/12] Compare the libs of two input value and add comments Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.function | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function index 3f810d2e8a..69cd4e5adc 100644 --- a/tests/suites/test_suite_ecp.function +++ b/tests/suites/test_suite_ecp.function @@ -1611,7 +1611,8 @@ exit: /* BEGIN_CASE depends_on:MBEDTLS_TEST_HOOKS */ void ecp_mod_add_sub(char *input_A, char *input_B, int id, int ctype) { - size_t p_limbs; + size_t p_A_limbs; + size_t p_B_limbs; size_t bytes; mbedtls_mpi_mod_modulus m; mbedtls_mpi_mod_residue rA; @@ -1623,25 +1624,28 @@ void ecp_mod_add_sub(char *input_A, char *input_B, int id, int ctype) mbedtls_mpi_mod_modulus_init(&m); - TEST_EQUAL(mbedtls_test_read_mpi_core(&p_A, &p_limbs, input_A), 0); - TEST_EQUAL(mbedtls_test_read_mpi_core(&p_B, &p_limbs, input_B), 0); + TEST_EQUAL(mbedtls_test_read_mpi_core(&p_A, &p_A_limbs, input_A), 0); + TEST_EQUAL(mbedtls_test_read_mpi_core(&p_B, &p_B_limbs, input_B), 0); TEST_ASSERT(mbedtls_ecp_modulus_setup(&m, id, ctype) == 0); - /* Test for limb sizes */ - TEST_EQUAL(m.limbs, p_limbs); - bytes = p_limbs * sizeof(mbedtls_mpi_uint); + /* Test for limb sizes for two input value and modulus */ + TEST_EQUAL(p_A_limbs, p_B_limbs); + TEST_EQUAL(m.limbs, p_A_limbs); + bytes = p_A_limbs * ciL; - ASSERT_ALLOC(p_S, p_limbs); + ASSERT_ALLOC(p_S, p_A_limbs); - TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rA, &m, p_A, p_limbs), 0); - TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rB, &m, p_B, p_limbs), 0); - TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rS, &m, p_S, p_limbs), 0); + TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rA, &m, p_A, p_A_limbs), 0); + TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rB, &m, p_B, p_B_limbs), 0); + TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rS, &m, p_S, p_A_limbs), 0); + /* Firstly add A and B to get the summary S, then subtract B, + * the difference should be equal to A*/ TEST_EQUAL(0, mbedtls_mpi_mod_add(&rS, &rA, &rB, &m)); TEST_EQUAL(0, mbedtls_mpi_mod_sub(&rS, &rS, &rB, &m)); - /* Compare output byte-by-byte */ + /* Compare difference with rA byte-by-byte */ ASSERT_COMPARE(rA.p, bytes, rS.p, bytes); exit: From bead774daa8ea4319206551227a0c577e61646aa Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Fri, 19 May 2023 02:13:05 +0000 Subject: [PATCH 07/12] Fix the limb mismatch issue on 32-bit platform Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.data | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/suites/test_suite_ecp.data b/tests/suites/test_suite_ecp.data index 1e1d055e93..2f40bd60e9 100644 --- a/tests/suites/test_suite_ecp.data +++ b/tests/suites/test_suite_ecp.data @@ -1404,7 +1404,7 @@ ecp_mod_add_sub:"0614cf6b720cc9dcc6d3bb36bb46cf285e23a083b067be8c93b51cbb4":"0c9 ecp_add_sub #42 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED -ecp_mod_add_sub:"071b3a40f3e2b8984e8cc238b7725870da10cb2de37f430da2da68645":"0c0747a090df5fa917948b74f1739e03849918522dcc0ba70bf6bf65":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"071b3a40f3e2b8984e8cc238b7725870da10cb2de37f430da2da68645":"01c0747a090df5fa917948b74f1739e03849918522dcc0ba70bf6bf65":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #43 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED From be860a14cea22c6839cf7d95f51ada1297cb42db Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Fri, 19 May 2023 07:06:09 +0000 Subject: [PATCH 08/12] Generate test data with special seed 2,3,4 Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.data | 108 ++++++++++++++++--------------- 1 file changed, 57 insertions(+), 51 deletions(-) diff --git a/tests/suites/test_suite_ecp.data b/tests/suites/test_suite_ecp.data index 2f40bd60e9..22493dbe41 100644 --- a/tests/suites/test_suite_ecp.data +++ b/tests/suites/test_suite_ecp.data @@ -1235,198 +1235,204 @@ ecp_mul_inv #48 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff01243a939d867d7e0a75a8568d4d66de88f3ecc1ad37f91a8f9d7d70":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR -# The following data be generated by random.getrandbits() in python must less than the named curves' modulus. -# mbedtls_mpi_mod_residue_setup() can be used to check whether it satisfy the requirements. +# The following data be generated by random.getrandbits() in python with seed(2,2), and they must be +# less than the named curves' modulus. mbedtls_mpi_mod_residue_setup() can be used to check whether it +# satisfy the requirements. ecp_add_sub #1 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED -ecp_mod_add_sub:"340139fe4a67f2fa9a9a6b3eb89e50d002e8852f3ac13dc6":"edfb9290118dd3461d7df865e830509e76788d3cd99b0258":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #2 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED -ecp_mod_add_sub:"71327812f2d8a7ea7f0d258fa9aaef733c2678069c2524e3":"8228e66d05018523ef4a8f2964ed4c912b34dba258d899dd":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"3653f8dd9b1f282e4067c3584ee207f8da94e3e8ab73738f":"ffed9235288bc781ae66267594c9c9500925e4749b575bd1":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #3 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED -ecp_mod_add_sub:"ecc169a94e1a332adecb9e9250fa7dec363c4600ca05edc5":"155701eb2ce23e09dd6707083f82d0daaa6f67221df330da":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"dc38f519b91751dacdbd47d364be8049a372db8f6e405d93":"ef8acd128b4f2fc15f3f57ebf30b94fa82523e86feac7eb7":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #4 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED -ecp_mod_add_sub:"f9c4728bef9fba3e7d856a8e2ff62f20c2a57bf64f6d707f0829a8ff":"a7eb9830785787978aadb40c83795e481dde37b5c5fc63471ca87be9":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"706a045defc044a09325626e6b58de744ab6cce80877b6f71e1f6d2":"6c71c4a66148a86fe8624fab5186ee32ee8d7ee9770348a05d300cb9":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #5 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED -ecp_mod_add_sub:"cee8071ade3e016fd47627782f6543814dd6ab7e6f432679ddacf9ed":"30a95280613513578ff6162003a6033660570bf4eb29af8c2fb62856":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"3c7295782d6c797f8f7d9b782a1be9cd8697bbd0e2520e33e44c5055":"829a48d422fe99a22c70501e533c91352d3d854e061b90303b08c6e3":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #6 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED -ecp_mod_add_sub:"326258467dcbf4d1ab1665a4c5036cb35f4c9231199b58166b3966c6":"ac2f0be083e57886a0720250438b3593d480e9d88691376f61b34c23":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"2e8d4b8a8f54f8ceacaab39e83844b40ffa9b9f15c14bc4a829e07b0":"867e5e15bc01bfce6a27e0dfcbf8754472154e76e4c11ab2fec3f6b3":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #7 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED -ecp_mod_add_sub:"c36eadeab80f149cd51a1ed6311270ae2e4acc6734e787135f499c3a97f1edc3":"c77db32dd33205cdccbbef48d026620a3bf8bdf1be26bc559ed97074df6a3c35":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"5ca495fa5a91c89b97eeab64ca2ce6bc5d3fd983c34c769fe89204e2e8168561":"665d7435c1066932f4767f26294365b2721dea3bf63f23d0dbe53fcafb2147df":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #8 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED -ecp_mod_add_sub:"e384042f3130be8a796b221724cf1127a44290804cfbeb7fb6f57142a2a5cddd":"d6b501f03b97d8b8c87da16f4782d2a1141fdd04c402a82e8250068016b6fa42":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"47733e847d718d733ff98ff387c56473a7a83ee0761ebfd2bd143fa9b714210c":"a9643a295a9ac6decbd4d3e2d4dec9ef83f0be4e80371eb97f81375eecc1cb63":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #9 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED -ecp_mod_add_sub:"f1d356376f03b5dbf0fd08bde5c4293115f7c7911f7a3ec3f90557602eb20147":"f61f23353f7ff1a0709b94d9863dc9513975d019ae5e1d5f7e4ed0485031bf34":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"b9d39cca91551e8259cc60b17604e4b4e73695c3e652c71a74667bffe202849d":"f0caeef038c89b38a8acb5137c9260dc74e088a9b9492f258ebdbfe3eb9ac688":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #10 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED -ecp_mod_add_sub:"a3137cd9b0c9e75a871f92e3ab6b284069ee06cd9c0afb2368fd8d381afcfecc553cb6b3f29216038d268a8d8fcd00f7":"f6f83a84282b29760cea481c311394b06163ea7b3fb32b8623de587acecab3d6181b9efc9c611e488c2cfa0608244e7d":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"7ad1f45ae9500ec9c5e2486c44a4a8f69dc8db48e86ec9c6e06f291b2a838af8d5c44a4eb3172062d08f1bb2531d6460":"9da59b74a6c3181c81e220df848b1df78feb994a81167346d4c0dca8b4c9e755cc9c3adcf515a8234da4daeb4f3f8777":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #11 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED -ecp_mod_add_sub:"a340ca2e1f39f89261f20a23881cde271e36b32add90cbc1801d2375d6db664df297df2364aaafbb9ba3d4672e4fd022":"501118699c219b612f3a1092ed1b6b34fa6eae762c6a492fb512e5b89d528845409e5b09ca1ff5ae33a1a1876676cc78":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"e1cf4f589f8e4ce0af29d115ef24bd625dd961e6830b54fa7d28f93435339774bb1e386c4fd5079e681b8f5896838b76":"1b2d19a2beaa14a7ff3fe32a30ffc4eed0a7bd04e85bfcdd0227eeb7b9d7d01f5769da05d205bbfcc8c69069134bccd3":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #12 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED -ecp_mod_add_sub:"491b1d169c9262fd737847c13bb7370d91825fe985cfa000d4b9bd3c22e7b63016122c53156fae4757943a819a1ced6d":"65d74acbc7e6c3700ee4bfaeb4c9d2643e73d07e0ff416876b944087606560d1b9b0af1a2b3ff3f02f80f76fc5c1cf60":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"c11e60de1b343f52ea748db9e020307aaeb6db2c3a038a709779ac1f45e9dd320c855fdfa7251af0930cdbd30f0ad2a8":"e5e138e26c4454b90f756132e16dce72f18e859835e1f291d322a7353ead4efe440e2b4fda9c025a22f1a83185b98f5f":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #13 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED -ecp_mod_add_sub:"1477156c589f498b61beb35f57662410d8821f3a1ee4a5968a8009618dbe4afda408809822eb0e994fbf9da1659c1ea21b151db97cd1f1567fa4b9327967e0aa591":"c1a19bbedad2873d20c92e8d7a6b639b601ffc86ad0f1e2f28b5b85853c00455d35301179c9303579bf72f2f0bdbd017dd665e5448e21d1d157fadf47845cd3c43":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"1ba0a76c196067cfdcb11457d9cf45e2fa01d7f4275153924800600571fac3a5b263fdf57cd2c0064975c3747465cc36c270e8a35b10828d569c268a20eb78ac332":"1cb0b0c995e96e6bc4d62b47204007ee4fab105d83e85e951862f0981aebc1b00d92838e766ef9b6bf2d037fe2e20b6a8464174e75a5f834da70569c018eb2b5693":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #14 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED -ecp_mod_add_sub:"158dd0fdd801513590d221009f2b6c212f2b30214cc3b1f80aaf9142dc9f328c8e2b0af83e1acdb102d85f287d77188c2b8e7911cf9452f5014966f28da330e1fa6":"19c137d65805dae62a80eec878420b772c825f3ba93244230fea80e9cec2ef073d970c5c1f7544684e54d19ec9ce3ae064d75d1ffe31c67b36b477bd498d4c79314":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"177d1f71575653a45c49390aa51cf5192bbf67da14be11d56ba0b4a2969d8055a9f03f2d71581d8e830112ff0f0948eccaf8877acf26c377c13f719726fd70bdda":"1f5790813e32748dd1db4917fc09f20dbb0dcc93f0e66dfe717c17313394391b6e2e6eacb0f0bb7be72bd6d25009aeb7fa0c4169b148d2f527e72daf0a54ef25c07":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #15 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED -ecp_mod_add_sub:"1e53d580521a1cff4cd72576c13fecb2cbcf39453f2b437f0c8dc78d7982a37749f099942ce693751ec43407c3acf46315132ea2a9ae5fa9253408da2375d2b58fc":"4b727c53ac84e265d64a156f643e6a5eaf264b90efa258c65657086a6316481c43768596bc15c7e3891b0ef5c976fde802be8eb1c9adbf58bdc894935d81c9baed":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"164c7f3860895bfa81384ae65e920a63ac1f2b64df6dff07870c9d531ae72a47403063238da1a1fe3f9d6a179fa50f96cd4aff9261aa92c0e6f17ec940639bc2ccd":"1f58ed5d1b7b310b730049dd332a73fa0b26b75196cf87eb8a09b27ec714307c68c425424a1574f1eedf5b0f16cdfdb839424d201e653f53d6883ca1c107ca6e706":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR +# The following data be generated by random.getrandbits() in python with seed(3,2) ecp_add_sub #16 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"96e729c5c64b7f54375c2779f034acc1f32c26358a621ab421b9c4d4c11ddb28":"33eb3a8e03933a02b786bade686d3399f5b7ef9f36401fb7f5e398b7d66c81ae":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE +ecp_mod_add_sub:"795b929e9a9a80fdea7b5bf55eb561a4216363698b529b4a97b750923ceb3ffd":"781f9c58d6645fa9e8a8529f035efa259b08923d10c67fd994b2b8fda02f34a6":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #17 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"7491ad896c2a0ec65950db5c91e9b573a77839fd576481da85f5a77c7ceccce0":"6275f327b371baa38c4830c10ed8dcf470918ee113dbdb54aeecac4407821ec1":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE +ecp_mod_add_sub:"8a7d43b578633074b7970386fee29476311624273bfd1d338d0038ec42650644":"3b5f3d86268ecc45dc6bf1e1a399f82a65aa9c8279f248b08cb4a0d7d6225675":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #18 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"8d9454c7494b6e08d068391c811cb23cbe9318246a6c021b0018745eb6918751":"8f068ef36d063355c4aa2dc407d5f13d941681994e88f1b37000eb77cc323568":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE +ecp_mod_add_sub:"3e0a813bdc2ae9963d2e49085ef3430ed038db4de38378426d0b944a2863a7f":"af438d297524d6af51e8722c21b609228ce6f2410645d51c6f8da3eabe19f58":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #19 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"3aff86b1ee706d38e4995b76f6433d9173c5d3ec19b43ff0a3d53ac20965c911":"3f5dd2814cd77a4c6b0498d4cff1278ee5b23e0f35f7a51dc563d6422e6c70ff":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"984181177906159644f9794cdd933160d2d5844307f062cec7b317d94d1fe09f":"6d4b9adbebcd1f5ec9c18070b6d13089633a50eee0f9e038eb8f624fb804d820":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #20 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"8bcf768f2f7d6d22133de97f5e463337ff030e662d6f6724d5bad27e27be5dc0":"3c0b7770a0a71ab40307387b7ed50cd11c842de1899fde73ee26a2be7c10555b":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"2257989fef829c88f6ced90a71d2af7293b05a04cd085b71ba6676b3651c5253":"420b0ebe378c74dc7eb0adf422cedafb092fdddf18f2c41c5d92b243e0fd67dd":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #21 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED -ecp_mod_add_sub:"435ed5da780b83a0130fc8f03e8e224d5bb4ae2eeeba214b8156544c4ae85944":"7e27ace7d1431b1acb5887212e8c7ea11a66817a582b9800e994bd0d43ba4756":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"6bd0638b4d100d8fdaf0105ba06c05a1c76abf436fa84dcaac0ae4e2f729b4c8":"6856e45b95c76ab488bafad959d5450592f3277b62c82185d55ec1a581daad10":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #22 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"4003a648cfeda3a738a3e05933c6ce5098ab6dc943821cfc485f8991caaba99979ced9bb237c6b24997db8359a4a659f":"4f212fc07fd99090ea825b78602786d9a2322a0e5aa21e175c7d8f82d72d002cb55518f8deeffb227bf2fa4315a54552":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE +ecp_mod_add_sub:"4a5792b26aba54efa25994fc58aaac8176f7f138456bb11bd997c6f7cb3a88f684b5b4de4abcc4e46bd881fd21334eb0":"454608a5737b6ed79182c3c8e288b16437d02410a675a109bdf84ab55632a44614777e962b56363cf5efd434db045aae":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #23 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"62b4355dc4cc6d76fc1633c46222c6ad5efaf6de931f0d25217d3dcebfd443fec31eeba68688717275a039863d03a48b":"7540b21c067768b092c0b353d40f82701743c220cc90085ee74303e4552a478c93470a623f4bd83c3d740d037fb18eed":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE - +ecp_mod_add_sub:"439e7fa9987aa6bdd805f5d25e80dfffc2134f15500b2f292f6c48f65d2c29382d6b76db51ed2f1599f8eee797b9580f":"21a4cadebc344f4baf091db491bae46af8abffd606e44edfd0247e4cc5b3b5d31ad8df8e608d9499c98c9e514ce74654":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #24 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"80acca473c3fcee61d13a0a766ed0dcd5f50277f576ff6f3461664d436e2054ad7ecc8b7c0a9424fbda1d431c540c05a":"68d46a69a1b828e5099dc54f8b302f4e8998c51fc9228d4fdd0d782e8d6735aa2df7c604225483e9390548983e03fcc1":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE +ecp_mod_add_sub:"7d500f7cbcefd0a747679714b4fab1019bde81635a427c37ead6b3cbade562bc5a58b185775c303c551b7f9da0996d52":"4c736db374d0df35a0c2995f40498cb35e819615f69b31ce0570ceeead0faadaf47076520f81f60c96e1689405adc011":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #25 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"371851bd69a5a1734b195c6ad6b041f51d94718cb437ab4a0a14ee5fa5fccd29328f3e77bfa2e4c58195ccb55cdc6a4":"3355ff1fbf1dd347f1bd321d0e41887802e8f28bdf4d4c6ec392dca4cf8e612428c1f805fde0207fe3e53a342f437864":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"1aa4b64091b1078e926baeafe79a27e68ab12c32f6f22f41538e504edc52bdcab2d87d5e29c0e596b2109307abd8952c":"846008638daf051b79e4444ed6897d8fc5ab8f2f33dc30a8f1233c76f31b6928298956cfca65f8e9f66ad57e1464134":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #26 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"82b18c3794463edeb80760098f7d392569dde6ed5ec21753b66e4e9b79e2f3e89bfc9fea1a2ffda2c285a0cc4afeab0":"659408567a79795f84ac799726adeaa1a88053daf8f71452a27ee136d3b912d85c0bf63d14e892964f07b1932f6d566b":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"7b6471e2103ef3c21fdaf62548f2f8ed445fad2a92d3043afcf249f3d4e441c3a20ab57c360c4979a7cf94d7b6bcb64f":"897897da86640cb0051490eaa9b38f203d3221cc4cc576f280d0dfba2bfc7ffd1eeda989becbde017b25f34a035d7017":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #27 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED -ecp_mod_add_sub:"7c17dc9df00c870a701c07186bd74b752abb6a9e17ee1c6342403e75d6fa7431b32e2495eb3f5e67c6519b43c6f69e28":"806a6dc5282a42114dbcb10eb3cd87bfeab2bf4e6cd9ba1810725141145e9661656578604b94f665755580008890c71f":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"526ef7026988f4fe5a8181b691406be110d7c25ccf3d0b35815a3d516a91f397bc73a83fd63ed5ba385ac4bda9bf98c":"8a7db67fdc960f12f8d45cb940a230e6201a95cc5762e3571d140ed89cb6c63de9bfec51f06516210da1920569eb8cb4":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #28 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"27e445caeb0d6752bd051f36a6d21ccdf67ba9b8238f2552aba237c3c72f3d384e7df2a25f95b779c7f38a4123741e2c691c4d5b87b231e4a98ecb9166a73674":"2dcb8bdae089b8a1d2cbb147a2c0e7daedef3425b20c220dbc3d9ff5f36640d3687abe9ef173b3a4fcd94f4c0c5ea348864985c7f40bd5444f5c66063cb986bc":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE +ecp_mod_add_sub:"46150f34caab02c83d4d071b2bda77121e84949cd11a8404e33c37f188ddf9181f49e090328475a738868e9b5a124b1d0fb5d240c846756acfc1d5507a299d74":"4ca44e40943e5a2248d4a701f3d13a7bb243f13dd61005357b5f2ea9ac6cc64e1d76f9d1d80caa4d068508d51f0c6f07da305f2cd76ee016576b7da1060344bf":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #29 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"7b1dc9c166abbcd7a1a6b1ec375a3125aa3257d1d40e781f1ac9023dba4248415aa0eaea6fa8ce460f85fdae3f62fbb4bdcb953328f5d5664b71f70f681c0f4e":"36074851bc5a348971ea98f28bf04fe46713a4e0b7a834b96476e3306f808ab3d002b65e16e0478e27d10af5538ec77b5d809ec2b1196d930619b48155c9f6cd":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE +ecp_mod_add_sub:"3f8de0e1457a46a7c1a9425a0cc8557466789723dcd06050922631c6a0ec66f37ccce34401ebd454ebb679b4d2d0d09720e469aace595c72e3bf018debf8e3d9":"a2fd39d9615906a78a943011c859e78da6782c0b9abc3e5b75f828935f8eec2c0aff87582db5db0591157d5f1474683acb984da361574803b9191d5cb74e9504":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #30 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"8be202ecb80ae3f6fe07a17b03c14997668b37d029d38943245c8a6cd1cbce3d57cfc673886a22db7ab8686570881a5dc1d9855aa6618c52df55a04510e00bba":"8072004af6d9d33e8c5954284a4386a23000b50afb95047209c5fdca518706f784b66b6b7dd2705b51e037391515dddbd75295f461da0fb4f9b6f57b8d718c45":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE +ecp_mod_add_sub:"125fdb0f50884d442833e1d550de93987d7015fc808aefcf83f18d61160c7c39b674c4f4dabd2a4c08736a21f985732a7b99a1261183c1860cc1e0331fe78154":"6b153e7ab1b20f01f34624556ba6cc6d50a078d8b3effcadc29237ff7f03ca9ea0a0304d5f56ed310d95a7016e7ceb10e2f416a79f781c980b1ed724cd18e1a9":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE ecp_add_sub #31 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"572a5522bc45566df4c7575b91fdbc74975fd59380339b5aa23cbce2204744793ca3255705f5d9ba48335f36baf462010680f1e35cca26468d7d8f4223988189":"9da4c17ac850d4f63f8d3161623765b604c628cefb0126047676db1af1947231717259cd6d08273384c2452564da4b7ecbaaa72696b6c80f74d30c57a77fbe8b":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"8da65a44ef3f7a401993edb1bfbc2a588df13f021b538e133d019261b7149706876cfe7c82e63e71904a896fc4758a8dff09f0150948f14b16baa014cc7ab32f":"731323ee13201b6215fa8a36d04d65c3974f6606cc57efacd9a68b4125321dc9703d20db1f69af34524ab0a892ca38f37f961cd3ebdc77a0496be3975f99ac4":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #32 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"99c2751d157489ab961a7bf1be12c8575cc56c99c6db8e2273450f6332ecdd3cd9b33763acd0509d8b98250462319bfd7cfbfc87c99ce31c15cefab651bc088c":"6866102f6694a10f74c811a24138c43ce32c887ba3e03815215bc0852f31da2534a0e4d373910863bc72e5151270dd409a0ad49b36a54cac8242144059e2e1e8":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"3c3a447d80144a61601545c415508f3cf76060ee6b104fc58e7fdffb59ac3e68f052e38f658a2d349975c9765e129a3740bdcb7464cb7c6cf14fc8f2c0e836c4":"2331df8142351e6ec69ae2d6308b24cbe3e255b43df9ba79411171b4da97fa8037a5ae35f56e539311bb4e07ace3ca83c6ff46a4b7ba6c95a5f3b3fa3c1a7547":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #33 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED -ecp_mod_add_sub:"3169122b79ab7add228eed5b4de336dcb5daae8136b5cb184c08752d727c954840f8e2ad6860245128f6931a4598578679a65aa6e4b138a349586c57d03d2216":"6b7cfddae0a3a1a0ac747844fd7254736e85983f8fcddbbd4b95da6b66985ed0c6934a6a1047c431cdc4ba5b9699a6be0f98bb5970ab0d0737e1bd2d148ab3d5":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"71bf2f08e9f7f9da70376bad2555e5ee6d966bcd5a91d4c949cc37677d2519b34ac7eb999581b2eb394c3b17ac666bfb292c157fdc0754a6b1d5f0224c3a235":"174907806c5d14842eea9771503c14af0b869300dd771fce2b72143f41483337ef0bfa78e656abc109691290dbcceb43acd62c6ab46977d09f355e742feb67af":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR +# The following data be generated by random.getrandbits() in python with seed(4,2) ecp_add_sub #34 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED -ecp_mod_add_sub:"0283877635fb4712d31e176ae3bfc2bbd63c1e4a498d2ed41ed6f9c691b2ce55":"01ceebebd76cf3324bd69a3e36338682a4432ced6ecfd604c61f06a0a785fcf9":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"01710cf527ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0fd72445ccea71ff4a14876aeaff1a098ca5996666ceab360512bd1311072231":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #35 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED -ecp_mod_add_sub:"1000000000000000000000000000000010caf49570936f75d70f03efac6c1c19":"0512bcda8d3b5ef3e6ba37996f0bf5ad7b019e56bc65025115b4b0845c84223":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"10000000000000000000000000000000110a8010ce80c4b0a4042bb3d4341aad":"1000000000000000000000000000000010a8c61e3184ff27459142deccea2645":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #36 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED -ecp_mod_add_sub:"468de1bfdbb20b67371bc5ad0f2bc3e70705b6d85c14ad75daafdbd1502cfd1":"062fa75ae67f3463c9eebce624f9d8ba6644a05b078cd976ecd710f9bc43a347":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"0c79d67946d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258":"0690526ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0a":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #37 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED -ecp_mod_add_sub:"2228b202d612f2e66d8ca00b7e1c19a737ee7db2708d91cd":"8f03bee76599feb4aaf0e67df83ff8851ec97047ef328e78":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a0":"f1cfd99216df648647adec26793d0e453f5082492d83a823":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #38 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED -ecp_mod_add_sub:"40c0451d06b0d622c65b8336c4c9abe8828f6fd5d5c1abde":"f4d8e3b71eee5bb8cf08fb85f0eb73a9172f95f3d25c86a1":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"d8441b5616332aca5f552773e14b0190d93936e1daca3c06":"d7288ff68c320f89f1347e0cdd905ecfd160c5d0ef412ed6":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #39 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED -ecp_mod_add_sub:"d2a10413f48d7bcc18a9b7c53c7914c5302c9c9e48b2eb62":"32129cb349733a118cdfb66dd1222dadf9e187f5ca4e97ab":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"3fb62d2c81862fc9634f806fabf4a07c566002249b191bf4":"b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #40 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED -ecp_mod_add_sub:"0cc154fe846d6b9f51d6166a8d1bb969ff634ab9af95cc89d01669c86":"0c1519a55899488ed1e4ee192b7de22dd30303a8014f10f87581dd769":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"069f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9":"0a5e333cb88dcf94384d4cd1f47ca7883ff5a52f1a05885ac7671863c":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #41 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED -ecp_mod_add_sub:"0614cf6b720cc9dcc6d3bb36bb46cf285e23a083b067be8c93b51cbb4":"0c96ffe83bfb73df893cac1dd18ddba0784281feed985930eb18e1211":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"03bb4a570294c4ea3738d243a6e58d5ca49c7b59b995253fd6c79a3de":"032111ac1ac7cc4a4ff4dab102522d53857c49391b36cc9aa78a330a1":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #42 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED -ecp_mod_add_sub:"071b3a40f3e2b8984e8cc238b7725870da10cb2de37f430da2da68645":"01c0747a090df5fa917948b74f1739e03849918522dcc0ba70bf6bf65":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"00bdbc23a14c15c910b11ad28cc21ce88d0060cc54278c2614e1bcb38":"070ef55b1a1f65507a2909cb633e238b4e9dd38b869ace91311021c9e":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR + +ecp_add_sub #42.1 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) +depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED +ecp_mod_add_sub:"100000000000000000000000000006f985b17b9662f0733c846bbe9e8":"10000000000000000000000000000a26a52175b7a96b98b5fbf37a2be":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #43 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED -ecp_mod_add_sub:"9fd95fed98cc1c2ef91b5dc02fa84f63597e15a3326c07f2918afb3ffd093343":"2a0f3c405959a0df24a1c24d0e50bc27d73d377ef7aa17fb398e6ee50eca9cda":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"5b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce68":"acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b888":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #44 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED -ecp_mod_add_sub:"5ddbd441c7037e11caaa9878216c5cfeae67864260429eab4529b56c2661f3de":"61ebb4588eb06389bf3ea55a6af66179ca8d5ca071c120aa27f592621d1f42d2":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"b54a23020fc5b043d6e4a51519d9c9cc52d32377e78131c132decd6b8efbc170":"272515cdf74c381652595daf49fbac3652a3b18104a7f00753be4721f5b9e1f5":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #45 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED -ecp_mod_add_sub:"f8d3f3c02fd712f711d8e30d0d4c142eb106e5f75c25f55b3f983bc5c83c568a":"b76684acd0c06df6b397a52d592728718ab4dbdb0bc1bd9877f790dfa807b5a5":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"1f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000":"ae17584a9ed9c621de97faf0f17ca82cdc82f2526911c9dda6e46653c676176a":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #46 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED -ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff11ca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff113c3c73012694226d0fa5634209c67c319871c13da14288ea5d40d0":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"0000000000000003f28adf9f6396ae3994b971761b2ceba40031ad622ed93874ac034cf71b34e47e4e2aafd310096249e2387a54b1cef3913e7d611d163b764":"0000000000000003f924aec4a53583bff4788955cdb7f4ccde9d231c8a38e7b5d7d255f2b68beef746ccfcd0b77d43a5d02db430267ce8c92b607d554d08ce6":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #47 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED -ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff0169d3f35081924aeaf1beac2f2720557c9bdf6b42cdceb54c6160ba":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff295b0df3935816d53eb20f209a324c61d1656f6f78f75d857d67ef0c":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"0000000000000003f9874f82b2df98dbcb3fd500e2637300fecf10e0f30e0051d1615ad353a09cfeaa1b2956c8826ec350d775dfb53e13d7077b81d18dbb0c1":"0000000000000003fd5b8c21f4d4cc5091b5ffbff651b9052496e1e3fc24ec0952989c17d9c649a8bd5bb710a77ec0c9b44baf5264ed787f87a7976ad448abd":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR ecp_add_sub #48 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED -ecp_mod_add_sub:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff01243a939d867d7e0a75a8568d4d66de88f3ecc1ad37f91a8f9d7d70":"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff46daf5f8d9477b655aa45d424af0d2c450f1d7749ae62b5f9c20b12a":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR +ecp_mod_add_sub:"0000000000000003f7defb1691e8e3b705620733deaaddd33a760e17a4e9ba333445533fcd71d42a6d00e3468c946b0ff353728c6173d944afbfae4877c606f":"0000000000000003f96c1d081a3cfe300dc4c27fa2ebbc37396957d4bf81156d86b88de3a9312ca5be57d93fa3549b71895aa36bd5231f38146a2f0970425b":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR From 10b6daf755ad8dd4771baefb010a12def0d397df Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Mon, 22 May 2023 02:28:06 +0000 Subject: [PATCH 09/12] Fix the comments of sum in ecp function Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.function | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function index 69cd4e5adc..f5cb3df77a 100644 --- a/tests/suites/test_suite_ecp.function +++ b/tests/suites/test_suite_ecp.function @@ -1640,7 +1640,7 @@ void ecp_mod_add_sub(char *input_A, char *input_B, int id, int ctype) TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rB, &m, p_B, p_B_limbs), 0); TEST_EQUAL(mbedtls_mpi_mod_residue_setup(&rS, &m, p_S, p_A_limbs), 0); - /* Firstly add A and B to get the summary S, then subtract B, + /* Firstly add A and B to get the sum S, then subtract B, * the difference should be equal to A*/ TEST_EQUAL(0, mbedtls_mpi_mod_add(&rS, &rA, &rB, &m)); TEST_EQUAL(0, mbedtls_mpi_mod_sub(&rS, &rS, &rB, &m)); From f33b4a5aede1aac48c18496354e1fefcfe58ed04 Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Mon, 22 May 2023 10:55:46 +0000 Subject: [PATCH 10/12] Update comments how to generate the randoms to make it reproducible Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.data | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/suites/test_suite_ecp.data b/tests/suites/test_suite_ecp.data index 22493dbe41..bf8e9e9850 100644 --- a/tests/suites/test_suite_ecp.data +++ b/tests/suites/test_suite_ecp.data @@ -1235,9 +1235,10 @@ ecp_mul_inv #48 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff01243a939d867d7e0a75a8568d4d66de88f3ecc1ad37f91a8f9d7d70":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR -# The following data be generated by random.getrandbits() in python with seed(2,2), and they must be -# less than the named curves' modulus. mbedtls_mpi_mod_residue_setup() can be used to check whether it -# satisfy the requirements. +# The following data was generated using python's standard random library, +# initialised with seed(2,2) and random.getrandbits(curve bits). Curve bits are 192,256,384,520. +# They must be less than the named curves' modulus. mbedtls_mpi_mod_residue_setup() +# can be used to check whether they satisfy the requirements. ecp_add_sub #1 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED ecp_mod_add_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR @@ -1298,7 +1299,8 @@ ecp_add_sub #15 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED ecp_mod_add_sub:"164c7f3860895bfa81384ae65e920a63ac1f2b64df6dff07870c9d531ae72a47403063238da1a1fe3f9d6a179fa50f96cd4aff9261aa92c0e6f17ec940639bc2ccd":"1f58ed5d1b7b310b730049dd332a73fa0b26b75196cf87eb8a09b27ec714307c68c425424a1574f1eedf5b0f16cdfdb839424d201e653f53d6883ca1c107ca6e706":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR -# The following data be generated by random.getrandbits() in python with seed(3,2) +# The following data was generated using python's standard random library, +# initialised with seed(3,2) and random.getrandbits(curve bits). Curve bits are 256,384,512. ecp_add_sub #16 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED ecp_mod_add_sub:"795b929e9a9a80fdea7b5bf55eb561a4216363698b529b4a97b750923ceb3ffd":"781f9c58d6645fa9e8a8529f035efa259b08923d10c67fd994b2b8fda02f34a6":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE @@ -1371,7 +1373,8 @@ ecp_add_sub #33 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED ecp_mod_add_sub:"71bf2f08e9f7f9da70376bad2555e5ee6d966bcd5a91d4c949cc37677d2519b34ac7eb999581b2eb394c3b17ac666bfb292c157fdc0754a6b1d5f0224c3a235":"174907806c5d14842eea9771503c14af0b869300dd771fce2b72143f41483337ef0bfa78e656abc109691290dbcceb43acd62c6ab46977d09f355e742feb67af":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR -# The following data be generated by random.getrandbits() in python with seed(4,2) +# The following data was generated using python's standard random library, +# initialised with seed(4,2) and random.getrandbits(curve bits). Curve bits are 128,254,192,256,448. ecp_add_sub #34 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED ecp_mod_add_sub:"01710cf527ac435a7a97c643656412a9b8a1abcd1a6916c74da4f9fc3c6da5d7":"0fd72445ccea71ff4a14876aeaff1a098ca5996666ceab360512bd1311072231":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR From 967b4779543e7cccc2e19e97b53b0e6c82aebebd Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Tue, 23 May 2023 06:07:32 +0000 Subject: [PATCH 11/12] Add test data "modulus-1" and "modulus-2" for every curve Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.data | 81 ++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/tests/suites/test_suite_ecp.data b/tests/suites/test_suite_ecp.data index bf8e9e9850..d08ce0f99a 100644 --- a/tests/suites/test_suite_ecp.data +++ b/tests/suites/test_suite_ecp.data @@ -1239,6 +1239,12 @@ ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffff # initialised with seed(2,2) and random.getrandbits(curve bits). Curve bits are 192,256,384,520. # They must be less than the named curves' modulus. mbedtls_mpi_mod_residue_setup() # can be used to check whether they satisfy the requirements. + +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #1.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) +depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED +ecp_mod_add_sub:"ffffffffffffffffffffffff99def836146bc9b1b4d22830":"ffffffffffffffffffffffff99def836146bc9b1b4d2282f":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #1 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED ecp_mod_add_sub:"177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":"cf1822ffbc6887782b491044d5e341245c6e433715ba2bdd":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR @@ -1251,6 +1257,11 @@ ecp_add_sub #3 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192R1) depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED ecp_mod_add_sub:"dc38f519b91751dacdbd47d364be8049a372db8f6e405d93":"ef8acd128b4f2fc15f3f57ebf30b94fa82523e86feac7eb7":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #4.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) +depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED +ecp_mod_add_sub:"ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c":"ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #4 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED ecp_mod_add_sub:"706a045defc044a09325626e6b58de744ab6cce80877b6f71e1f6d2":"6c71c4a66148a86fe8624fab5186ee32ee8d7ee9770348a05d300cb9":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR @@ -1263,6 +1274,11 @@ ecp_add_sub #6 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224R1) depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED ecp_mod_add_sub:"2e8d4b8a8f54f8ceacaab39e83844b40ffa9b9f15c14bc4a829e07b0":"867e5e15bc01bfce6a27e0dfcbf8754472154e76e4c11ab2fec3f6b3":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #7.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) +depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED +ecp_mod_add_sub:"ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550":"ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #7 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED ecp_mod_add_sub:"5ca495fa5a91c89b97eeab64ca2ce6bc5d3fd983c34c769fe89204e2e8168561":"665d7435c1066932f4767f26294365b2721dea3bf63f23d0dbe53fcafb2147df":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR @@ -1275,6 +1291,11 @@ ecp_add_sub #9 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256R1) depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED ecp_mod_add_sub:"b9d39cca91551e8259cc60b17604e4b4e73695c3e652c71a74667bffe202849d":"f0caeef038c89b38a8acb5137c9260dc74e088a9b9492f258ebdbfe3eb9ac688":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #10.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) +depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED +ecp_mod_add_sub:"ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972":"ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #10 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED ecp_mod_add_sub:"7ad1f45ae9500ec9c5e2486c44a4a8f69dc8db48e86ec9c6e06f291b2a838af8d5c44a4eb3172062d08f1bb2531d6460":"9da59b74a6c3181c81e220df848b1df78feb994a81167346d4c0dca8b4c9e755cc9c3adcf515a8234da4daeb4f3f8777":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR @@ -1287,6 +1308,11 @@ ecp_add_sub #12 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP384R1) depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED ecp_mod_add_sub:"c11e60de1b343f52ea748db9e020307aaeb6db2c3a038a709779ac1f45e9dd320c855fdfa7251af0930cdbd30f0ad2a8":"e5e138e26c4454b90f756132e16dce72f18e859835e1f291d322a7353ead4efe440e2b4fda9c025a22f1a83185b98f5f":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #13.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) +depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED +ecp_mod_add_sub:"01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408":"01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #13 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED ecp_mod_add_sub:"1ba0a76c196067cfdcb11457d9cf45e2fa01d7f4275153924800600571fac3a5b263fdf57cd2c0064975c3747465cc36c270e8a35b10828d569c268a20eb78ac332":"1cb0b0c995e96e6bc4d62b47204007ee4fab105d83e85e951862f0981aebc1b00d92838e766ef9b6bf2d037fe2e20b6a8464174e75a5f834da70569c018eb2b5693":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR @@ -1299,6 +1325,11 @@ ecp_add_sub #15 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP521R1) depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED ecp_mod_add_sub:"164c7f3860895bfa81384ae65e920a63ac1f2b64df6dff07870c9d531ae72a47403063238da1a1fe3f9d6a179fa50f96cd4aff9261aa92c0e6f17ec940639bc2ccd":"1f58ed5d1b7b310b730049dd332a73fa0b26b75196cf87eb8a09b27ec714307c68c425424a1574f1eedf5b0f16cdfdb839424d201e653f53d6883ca1c107ca6e706":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #16.0 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) +depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED +ecp_mod_add_sub:"a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5376":"a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5375":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE + # The following data was generated using python's standard random library, # initialised with seed(3,2) and random.getrandbits(curve bits). Curve bits are 256,384,512. ecp_add_sub #16 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) @@ -1313,6 +1344,11 @@ ecp_add_sub #18 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED ecp_mod_add_sub:"3e0a813bdc2ae9963d2e49085ef3430ed038db4de38378426d0b944a2863a7f":"af438d297524d6af51e8722c21b609228ce6f2410645d51c6f8da3eabe19f58":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #19.0 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1) +depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED +ecp_mod_add_sub:"a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6":"a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE + ecp_add_sub #19 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED ecp_mod_add_sub:"984181177906159644f9794cdd933160d2d5844307f062cec7b317d94d1fe09f":"6d4b9adbebcd1f5ec9c18070b6d13089633a50eee0f9e038eb8f624fb804d820":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR @@ -1325,6 +1361,11 @@ ecp_add_sub #21 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1) depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED ecp_mod_add_sub:"6bd0638b4d100d8fdaf0105ba06c05a1c76abf436fa84dcaac0ae4e2f729b4c8":"6856e45b95c76ab488bafad959d5450592f3277b62c82185d55ec1a581daad10":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #22.0 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) +depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED +ecp_mod_add_sub:"8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec52":"8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec51":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE + ecp_add_sub #22 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED ecp_mod_add_sub:"4a5792b26aba54efa25994fc58aaac8176f7f138456bb11bd997c6f7cb3a88f684b5b4de4abcc4e46bd881fd21334eb0":"454608a5737b6ed79182c3c8e288b16437d02410a675a109bdf84ab55632a44614777e962b56363cf5efd434db045aae":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE @@ -1337,6 +1378,11 @@ ecp_add_sub #24 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED ecp_mod_add_sub:"7d500f7cbcefd0a747679714b4fab1019bde81635a427c37ead6b3cbade562bc5a58b185775c303c551b7f9da0996d52":"4c736db374d0df35a0c2995f40498cb35e819615f69b31ce0570ceeead0faadaf47076520f81f60c96e1689405adc011":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #25.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) +depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED +ecp_mod_add_sub:"8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564":"8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #25 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED ecp_mod_add_sub:"1aa4b64091b1078e926baeafe79a27e68ab12c32f6f22f41538e504edc52bdcab2d87d5e29c0e596b2109307abd8952c":"846008638daf051b79e4444ed6897d8fc5ab8f2f33dc30a8f1233c76f31b6928298956cfca65f8e9f66ad57e1464134":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR @@ -1349,6 +1395,11 @@ ecp_add_sub #27 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1) depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED ecp_mod_add_sub:"526ef7026988f4fe5a8181b691406be110d7c25ccf3d0b35815a3d516a91f397bc73a83fd63ed5ba385ac4bda9bf98c":"8a7db67fdc960f12f8d45cb940a230e6201a95cc5762e3571d140ed89cb6c63de9bfec51f06516210da1920569eb8cb4":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #28.0 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) +depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED +ecp_mod_add_sub:"aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f2":"aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f1":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE + ecp_add_sub #28 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED ecp_mod_add_sub:"46150f34caab02c83d4d071b2bda77121e84949cd11a8404e33c37f188ddf9181f49e090328475a738868e9b5a124b1d0fb5d240c846756acfc1d5507a299d74":"4ca44e40943e5a2248d4a701f3d13a7bb243f13dd61005357b5f2ea9ac6cc64e1d76f9d1d80caa4d068508d51f0c6f07da305f2cd76ee016576b7da1060344bf":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE @@ -1361,6 +1412,11 @@ ecp_add_sub #30 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED ecp_mod_add_sub:"125fdb0f50884d442833e1d550de93987d7015fc808aefcf83f18d61160c7c39b674c4f4dabd2a4c08736a21f985732a7b99a1261183c1860cc1e0331fe78154":"6b153e7ab1b20f01f34624556ba6cc6d50a078d8b3effcadc29237ff7f03ca9ea0a0304d5f56ed310d95a7016e7ceb10e2f416a79f781c980b1ed724cd18e1a9":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #31.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) +depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED +ecp_mod_add_sub:"aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068":"aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #31 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED ecp_mod_add_sub:"8da65a44ef3f7a401993edb1bfbc2a588df13f021b538e133d019261b7149706876cfe7c82e63e71904a896fc4758a8dff09f0150948f14b16baa014cc7ab32f":"731323ee13201b6215fa8a36d04d65c3974f6606cc57efacd9a68b4125321dc9703d20db1f69af34524ab0a892ca38f37f961cd3ebdc77a0496be3975f99ac4":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR @@ -1373,6 +1429,11 @@ ecp_add_sub #33 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1) depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED ecp_mod_add_sub:"71bf2f08e9f7f9da70376bad2555e5ee6d966bcd5a91d4c949cc37677d2519b34ac7eb999581b2eb394c3b17ac666bfb292c157fdc0754a6b1d5f0224c3a235":"174907806c5d14842eea9771503c14af0b869300dd771fce2b72143f41483337ef0bfa78e656abc109691290dbcceb43acd62c6ab46977d09f355e742feb67af":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #34.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) +depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED +ecp_mod_add_sub:"1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ec":"1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3eb":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR + # The following data was generated using python's standard random library, # initialised with seed(4,2) and random.getrandbits(curve bits). Curve bits are 128,254,192,256,448. ecp_add_sub #34 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) @@ -1387,6 +1448,11 @@ ecp_add_sub #36 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE25519) depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED ecp_mod_add_sub:"0c79d67946d4ac7a5c3902b38963dc6e8534f45738d048ec0f1099c6c3e1b258":"0690526ed6f0b09f165c8ce36e2f24b43000de01b2ed40ed3addccb2c33be0a":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #37.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) +depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED +ecp_mod_add_sub:"fffffffffffffffffffffffe26f2fc170f69466a74defd8c":"fffffffffffffffffffffffe26f2fc170f69466a74defd8b":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #37 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED ecp_mod_add_sub:"f5ff0c03bb5d7385de08caa1a08179104a25e4664f5253a0":"f1cfd99216df648647adec26793d0e453f5082492d83a823":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR @@ -1399,6 +1465,11 @@ ecp_add_sub #39 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP192K1) depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED ecp_mod_add_sub:"3fb62d2c81862fc9634f806fabf4a07c566002249b191bf4":"b474c7e89286a1754abcb06ae8abb93f01d89a024cdce7a6":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #40.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) +depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED +ecp_mod_add_sub:"10000000000000000000000000001dce8d2ec6184caf0a971769fb1f6":"10000000000000000000000000001dce8d2ec6184caf0a971769fb1f5":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #40 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED ecp_mod_add_sub:"069f85e3131f3b9238224b122c3e4a892d9196ada4fcfa583e1df8af9":"0a5e333cb88dcf94384d4cd1f47ca7883ff5a52f1a05885ac7671863c":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR @@ -1415,6 +1486,11 @@ ecp_add_sub #42.1 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP224K1) depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED ecp_mod_add_sub:"100000000000000000000000000006f985b17b9662f0733c846bbe9e8":"10000000000000000000000000000a26a52175b7a96b98b5fbf37a2be":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #43.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) +depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED +ecp_mod_add_sub:"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140":"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413f":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #43 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED ecp_mod_add_sub:"5b69dc230af5ac870692b534758240df4a7a03052d733dcdef40af2e54c0ce68":"acdac615bc20f6264922b9ccf469aef8f6e7d078e55b85dd1525f363b281b888":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR @@ -1427,6 +1503,11 @@ ecp_add_sub #45 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_SECP256K1) depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED ecp_mod_add_sub:"1f44ebd13cc75f3edcb285f89d8cf4d4950b16ffc3e1ac3b4708d9893a973000":"ae17584a9ed9c621de97faf0f17ca82cdc82f2526911c9dda6e46653c676176a":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_SCALAR +# Use the test data "modulus - 1" and "modulus - 2" to ensure the sum overflow case be tested. +ecp_add_sub #46.0 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) +depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED +ecp_mod_add_sub:"00000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f2":"00000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff7cca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f1":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR + ecp_add_sub #46 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448) depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED ecp_mod_add_sub:"0000000000000003f28adf9f6396ae3994b971761b2ceba40031ad622ed93874ac034cf71b34e47e4e2aafd310096249e2387a54b1cef3913e7d611d163b764":"0000000000000003f924aec4a53583bff4788955cdb7f4ccde9d231c8a38e7b5d7d255f2b68beef746ccfcd0b77d43a5d02db430267ce8c92b607d554d08ce6":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR From b5844e47c03587428761ef220e1ae9074494f4f0 Mon Sep 17 00:00:00 2001 From: Xiaokang Qian Date: Wed, 24 May 2023 02:11:06 +0000 Subject: [PATCH 12/12] Change assert to equal base one comments Signed-off-by: Xiaokang Qian --- tests/suites/test_suite_ecp.function | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/suites/test_suite_ecp.function b/tests/suites/test_suite_ecp.function index f5cb3df77a..dbb7b3cf21 100644 --- a/tests/suites/test_suite_ecp.function +++ b/tests/suites/test_suite_ecp.function @@ -1627,7 +1627,7 @@ void ecp_mod_add_sub(char *input_A, char *input_B, int id, int ctype) TEST_EQUAL(mbedtls_test_read_mpi_core(&p_A, &p_A_limbs, input_A), 0); TEST_EQUAL(mbedtls_test_read_mpi_core(&p_B, &p_B_limbs, input_B), 0); - TEST_ASSERT(mbedtls_ecp_modulus_setup(&m, id, ctype) == 0); + TEST_EQUAL(0, mbedtls_ecp_modulus_setup(&m, id, ctype)); /* Test for limb sizes for two input value and modulus */ TEST_EQUAL(p_A_limbs, p_B_limbs);