mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-30 22:43:08 +03:00
Merge pull request #6095 from gabor-mezei-arm/6016_add_new_modulus_and_residue_structures
Add the new modulus and the residue structures with low level I/O operations
This commit is contained in:
@ -58,8 +58,9 @@ import logging
|
||||
|
||||
# Naming patterns to check against. These are defined outside the NameCheck
|
||||
# class for ease of modification.
|
||||
MACRO_PATTERN = r"^(MBEDTLS|PSA)_[0-9A-Z_]*[0-9A-Z]$"
|
||||
CONSTANTS_PATTERN = MACRO_PATTERN
|
||||
PUBLIC_MACRO_PATTERN = r"^(MBEDTLS|PSA)_[0-9A-Z_]*[0-9A-Z]$"
|
||||
INTERNAL_MACRO_PATTERN = r"^[0-9A-Za-z_]*[0-9A-Z]$"
|
||||
CONSTANTS_PATTERN = PUBLIC_MACRO_PATTERN
|
||||
IDENTIFIER_PATTERN = r"^(mbedtls|psa)_[0-9a-z_]*[0-9a-z]$"
|
||||
|
||||
class Match(): # pylint: disable=too-few-public-methods
|
||||
@ -249,14 +250,17 @@ class CodeParser():
|
||||
.format(str(self.excluded_files))
|
||||
)
|
||||
|
||||
all_macros = self.parse_macros([
|
||||
all_macros = {"public": [], "internal": []}
|
||||
all_macros["public"] = self.parse_macros([
|
||||
"include/mbedtls/*.h",
|
||||
"include/psa/*.h",
|
||||
"library/*.h",
|
||||
"tests/include/test/drivers/*.h",
|
||||
"3rdparty/everest/include/everest/everest.h",
|
||||
"3rdparty/everest/include/everest/x25519.h"
|
||||
])
|
||||
all_macros["internal"] = self.parse_macros([
|
||||
"library/*.h",
|
||||
"tests/include/test/drivers/*.h",
|
||||
])
|
||||
enum_consts = self.parse_enum_consts([
|
||||
"include/mbedtls/*.h",
|
||||
"library/*.h",
|
||||
@ -284,20 +288,25 @@ class CodeParser():
|
||||
|
||||
# Remove identifier macros like mbedtls_printf or mbedtls_calloc
|
||||
identifiers_justname = [x.name for x in identifiers]
|
||||
actual_macros = []
|
||||
for macro in all_macros:
|
||||
if macro.name not in identifiers_justname:
|
||||
actual_macros.append(macro)
|
||||
actual_macros = {"public": [], "internal": []}
|
||||
for scope in actual_macros:
|
||||
for macro in all_macros[scope]:
|
||||
if macro.name not in identifiers_justname:
|
||||
actual_macros[scope].append(macro)
|
||||
|
||||
self.log.debug("Found:")
|
||||
# Aligns the counts on the assumption that none exceeds 4 digits
|
||||
self.log.debug(" {:4} Total Macros".format(len(all_macros)))
|
||||
self.log.debug(" {:4} Non-identifier Macros".format(len(actual_macros)))
|
||||
for scope in actual_macros:
|
||||
self.log.debug(" {:4} Total {} Macros"
|
||||
.format(len(all_macros[scope]), scope))
|
||||
self.log.debug(" {:4} {} Non-identifier Macros"
|
||||
.format(len(actual_macros[scope]), scope))
|
||||
self.log.debug(" {:4} Enum Constants".format(len(enum_consts)))
|
||||
self.log.debug(" {:4} Identifiers".format(len(identifiers)))
|
||||
self.log.debug(" {:4} Exported Symbols".format(len(symbols)))
|
||||
return {
|
||||
"macros": actual_macros,
|
||||
"public_macros": actual_macros["public"],
|
||||
"internal_macros": actual_macros["internal"],
|
||||
"enum_consts": enum_consts,
|
||||
"identifiers": identifiers,
|
||||
"symbols": symbols,
|
||||
@ -741,7 +750,8 @@ class NameChecker():
|
||||
problems += self.check_symbols_declared_in_header()
|
||||
|
||||
pattern_checks = [
|
||||
("macros", MACRO_PATTERN),
|
||||
("public_macros", PUBLIC_MACRO_PATTERN),
|
||||
("internal_macros", INTERNAL_MACRO_PATTERN),
|
||||
("enum_consts", CONSTANTS_PATTERN),
|
||||
("identifiers", IDENTIFIER_PATTERN)
|
||||
]
|
||||
@ -825,7 +835,10 @@ class NameChecker():
|
||||
all_caps_names = {
|
||||
match.name
|
||||
for match
|
||||
in self.parse_result["macros"] + self.parse_result["enum_consts"]}
|
||||
in self.parse_result["public_macros"] +
|
||||
self.parse_result["internal_macros"] +
|
||||
self.parse_result["enum_consts"]
|
||||
}
|
||||
typo_exclusion = re.compile(r"XXX|__|_$|^MBEDTLS_.*CONFIG_FILE$|"
|
||||
r"MBEDTLS_TEST_LIBTESTDRIVER*")
|
||||
|
||||
|
@ -82,6 +82,308 @@ mpi_read_write_string:16:"":2:"0":4:0:0
|
||||
Test mpi_write_string #10 (Negative hex with odd number of digits)
|
||||
mpi_read_write_string:16:"-1":16:"":3:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
|
||||
|
||||
Test mbedtls_mpi_core_io functions with null pointers
|
||||
mbedtls_mpi_core_io_null
|
||||
|
||||
Test mbedtls_mpi_core_io_be #1 (Buffer and limbs just fit, input limb-aligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:24:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #2 (Buffer and limbs just fit, input unaligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:24:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #3 (Buffer just fits, extra limbs, input limb-aligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #4 (Buffer just fits, extra limbs, input unaligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #5 (Extra limbs, buffer aligned to extra limbs, input limb-aligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":112:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #6 (Extra limbs, buffer aligned to extra limbs, input unaligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":112:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #7 (Buffer and limbs just fit, input limb-aligned with leading zeroes)
|
||||
mbedtls_mpi_core_io_be:"00000000000000001fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":88:24:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #8 (Buffer and limbs just fit, input unaligned with leading zeroes)
|
||||
mbedtls_mpi_core_io_be:"00000000000000001fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":86:24:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #9 (Buffer just fits, extra limbs, input limb-aligned with leading zeroes)
|
||||
mbedtls_mpi_core_io_be:"00000000000000001fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":88:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #10 (Buffer just fits, extra limbs, input unaligned with leading zeroes)
|
||||
mbedtls_mpi_core_io_be:"00000000000000001fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":86:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #11 (Zero)
|
||||
mbedtls_mpi_core_io_be:"00":1:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #12 (Zero, empty output)
|
||||
mbedtls_mpi_core_io_be:"00":0:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #13 (Zero, empty input)
|
||||
mbedtls_mpi_core_io_be:"":1:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #14 (One)
|
||||
mbedtls_mpi_core_io_be:"01":1:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #15 (One limb, 32 bit)
|
||||
depends_on:MBEDTLS_HAVE_INT32
|
||||
mbedtls_mpi_core_io_be:"ff000000":4:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #16 (One limb, 64 bit)
|
||||
depends_on:MBEDTLS_HAVE_INT64
|
||||
mbedtls_mpi_core_io_be:"ff00000000000000":8:2:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #17 (not enough limbs, input limb-aligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:22:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #18 (not enough limbs, input unaligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:22:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL:0
|
||||
|
||||
Test mbedtls_mpi_core_io_be #19 (buffer too small, input limb-aligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":95:24:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
|
||||
|
||||
Test mbedtls_mpi_core_io_be #20 (buffer too small, input unaligned)
|
||||
mbedtls_mpi_core_io_be:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":93:24:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
|
||||
|
||||
Test mbedtls_mpi_core_io_be #21 (Buffer and limbs fit, input unaligned, odd number of limbs)
|
||||
mbedtls_mpi_core_io_be:"00de4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":82:21:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #1 (Buffer and limbs just fit, input limb-aligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:24:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #2 (Buffer and limbs just fit, input unaligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:24:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #3 (Buffer just fits, extra limbs, input limb-aligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #4 (Buffer just fits, extra limbs, input unaligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #5 (Extra limbs, buffer aligned to extra limbs, input limb-aligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":112:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #6 (Extra limbs, buffer aligned to extra limbs, input unaligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":112:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #7 (Buffer and limbs just fit, input limb-aligned with leading zeroes)
|
||||
mbedtls_mpi_core_io_le:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b44240000000000000000":88:24:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #8 (Buffer and limbs just fit, input unaligned with leading zeroes)
|
||||
mbedtls_mpi_core_io_le:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b0000000000000000":86:24:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #9 (Buffer just fits, extra limbs, input limb-aligned with leading zeroes)
|
||||
mbedtls_mpi_core_io_le:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b44240000000000000000":88:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #10 (Buffer just fits, extra limbs, input unaligned with leading zeroes)
|
||||
mbedtls_mpi_core_io_le:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b0000000000000000":86:28:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #11 (Zero)
|
||||
mbedtls_mpi_core_io_le:"00":1:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #12 (Zero, empty output)
|
||||
mbedtls_mpi_core_io_le:"00":0:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #13 (Zero, empty input)
|
||||
mbedtls_mpi_core_io_le:"":1:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #14 (One)
|
||||
mbedtls_mpi_core_io_le:"01":1:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #15 (One limb)
|
||||
depends_on:MBEDTLS_HAVE_INT32
|
||||
mbedtls_mpi_core_io_le:"000000ff":4:1:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #16 (One limb)
|
||||
depends_on:MBEDTLS_HAVE_INT64
|
||||
mbedtls_mpi_core_io_le:"00000000000000ff":8:2:0:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #17 (not enough limbs, input limb-aligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:22:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #18 (not enough limbs, input unaligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:22:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL:0
|
||||
|
||||
Test mbedtls_mpi_core_io_le #19 (buffer too small, input limb-aligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":95:24:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
|
||||
|
||||
Test mbedtls_mpi_core_io_le #20 (buffer too small, input unaligned)
|
||||
mbedtls_mpi_core_io_le:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":93:24:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
|
||||
|
||||
Test mbedtls_mpi_core_io_le #21 (Buffer and limbs fit, input unaligned, odd number of limbs)
|
||||
mbedtls_mpi_core_io_le:"de4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b442400":82:21:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #1 BE (Buffer and limbs just fit, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:24:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #1 LE (Buffer and limbs just fit, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:24:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #2 BE (Buffer and limbs just fit, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:24:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #2 LE (Buffer and limbs just fit, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:24:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #3 BE (Buffer just fits, extra limbs, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:28:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #3 LE (Buffer just fits, extra limbs, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:28:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #4 BE (Buffer just fits, extra limbs, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:28:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #4 LE (Buffer just fits, extra limbs, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:28:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #5 BE (Extra limbs, buffer aligned to extra limbs, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":112:28:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #5 LE (Extra limbs, buffer aligned to extra limbs, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":112:28:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #6 BE (Extra limbs, buffer aligned to extra limbs, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":112:28:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #6 LE (Extra limbs, buffer aligned to extra limbs, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":112:28:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #7 BE (Buffer and limbs just fit, input limb-aligned with leading zeroes)
|
||||
mbedtls_mpi_mod_raw_io:"00000000000000001fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":88:24:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #7 LE (Buffer and limbs just fit, input limb-aligned with leading zeroes)
|
||||
mbedtls_mpi_mod_raw_io:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b44240000000000000000":88:24:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #8 BE (Buffer and limbs just fit, input unaligned with leading zeroes)
|
||||
mbedtls_mpi_mod_raw_io:"00000000000000001fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":86:24:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #8 LE (Buffer and limbs just fit, input unaligned with leading zeroes)
|
||||
mbedtls_mpi_mod_raw_io:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b0000000000000000":86:24:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #9 BE (Buffer just fits, extra limbs, input limb-aligned with leading zeroes)
|
||||
mbedtls_mpi_mod_raw_io:"00000000000000001fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":88:28:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #9 LE (Buffer just fits, extra limbs, input limb-aligned with leading zeroes)
|
||||
mbedtls_mpi_mod_raw_io:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b44240000000000000000":88:28:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #10 BE (Buffer just fits, extra limbs, input unaligned with leading zeroes)
|
||||
mbedtls_mpi_mod_raw_io:"00000000000000001fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":86:28:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #10 LE (Buffer just fits, extra limbs, input unaligned with leading zeroes)
|
||||
mbedtls_mpi_mod_raw_io:"1fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b0000000000000000":86:28:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #11 BE (Zero)
|
||||
mbedtls_mpi_mod_raw_io:"00":1:1:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #11 LE (Zero)
|
||||
mbedtls_mpi_mod_raw_io:"00":1:1:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #12 BE (Zero, empty output)
|
||||
mbedtls_mpi_mod_raw_io:"00":0:1:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #12 LE (Zero, empty output)
|
||||
mbedtls_mpi_mod_raw_io:"00":0:1:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #13 BE (Zero, empty input)
|
||||
mbedtls_mpi_mod_raw_io:"":1:1:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #13 LE (Zero, empty input)
|
||||
mbedtls_mpi_mod_raw_io:"":1:1:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #14 BE (One)
|
||||
mbedtls_mpi_mod_raw_io:"01":1:1:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #14 LE (One)
|
||||
mbedtls_mpi_mod_raw_io:"01":1:1:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #14 BE (One limb)
|
||||
mbedtls_mpi_mod_raw_io:"ff00000000000000":8:2:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #14 LE (One limb)
|
||||
mbedtls_mpi_mod_raw_io:"00000000000000ff":8:2:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #15 BE (One limb)
|
||||
depends_on:MBEDTLS_HAVE_INT32
|
||||
mbedtls_mpi_mod_raw_io:"000000ff":4:1:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #15 LE (One limb)
|
||||
depends_on:MBEDTLS_HAVE_INT32
|
||||
mbedtls_mpi_mod_raw_io:"000000ff":4:1:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #16 BE (One limb)
|
||||
depends_on:MBEDTLS_HAVE_INT64
|
||||
mbedtls_mpi_mod_raw_io:"00000000000000ff":8:2:MBEDTLS_MPI_MOD_EXT_REP_BE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #16 LE (One limb)
|
||||
depends_on:MBEDTLS_HAVE_INT64
|
||||
mbedtls_mpi_mod_raw_io:"00000000000000ff":8:2:MBEDTLS_MPI_MOD_EXT_REP_LE:0:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #17 BE (not enough limbs, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:22:MBEDTLS_MPI_MOD_EXT_REP_BE:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #17 LE (not enough limbs, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":96:22:MBEDTLS_MPI_MOD_EXT_REP_LE:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #18 BE (not enough limbs, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:22:MBEDTLS_MPI_MOD_EXT_REP_BE:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #18 LE (not enough limbs, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":94:22:MBEDTLS_MPI_MOD_EXT_REP_LE:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #19 BE (buffer too small, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":95:24:MBEDTLS_MPI_MOD_EXT_REP_BE:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #19 LE (buffer too small, input limb-aligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":95:24:MBEDTLS_MPI_MOD_EXT_REP_LE:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #20 BE (buffer too small, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":93:24:MBEDTLS_MPI_MOD_EXT_REP_BE:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #20 LE (buffer too small, input unaligned)
|
||||
mbedtls_mpi_mod_raw_io:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b":93:24:MBEDTLS_MPI_MOD_EXT_REP_LE:0:MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #21 BE (modulus is equal to input)
|
||||
mbedtls_mpi_mod_raw_io:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF":1024:256:MBEDTLS_MPI_MOD_EXT_REP_BE:MBEDTLS_ERR_MPI_BAD_INPUT_DATA:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #21 LE (modulus is equal to input)
|
||||
mbedtls_mpi_mod_raw_io:"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF":1024:256:MBEDTLS_MPI_MOD_EXT_REP_LE:MBEDTLS_ERR_MPI_BAD_INPUT_DATA:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #22 (reading with invalid endianness)
|
||||
mbedtls_mpi_mod_raw_io:"":1:1:MBEDTLS_MPI_MOD_EXT_REP_INVALID:MBEDTLS_ERR_MPI_BAD_INPUT_DATA:0
|
||||
|
||||
Test mbedtls_mpi_mod_raw_io #22 (writing with invalid endianness)
|
||||
mbedtls_mpi_mod_raw_io:"":1:1:MBEDTLS_MPI_MOD_EXT_REP_INVALID:0:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
||||
|
||||
Test mbedtls_mpi_mod_setup #1 (Both representations invalid)
|
||||
mbedtls_mpi_mod_setup:MBEDTLS_MPI_MOD_EXT_REP_INVALID:MBEDTLS_MPI_MOD_REP_INVALID:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
||||
|
||||
Test mbedtls_mpi_mod_setup #2 (Internal representation invalid)
|
||||
mbedtls_mpi_mod_setup:MBEDTLS_MPI_MOD_EXT_REP_LE:MBEDTLS_MPI_MOD_REP_INVALID:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
||||
|
||||
Test mbedtls_mpi_mod_setup #3 (Internal representation invalid)
|
||||
mbedtls_mpi_mod_setup:MBEDTLS_MPI_MOD_EXT_REP_BE:MBEDTLS_MPI_MOD_REP_INVALID:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
||||
|
||||
Test mbedtls_mpi_mod_setup #4 (External representation invalid)
|
||||
mbedtls_mpi_mod_setup:MBEDTLS_MPI_MOD_EXT_REP_INVALID:MBEDTLS_MPI_MOD_REP_MONTGOMERY:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
||||
|
||||
Test mbedtls_mpi_mod_setup #5 (External representation invalid)
|
||||
mbedtls_mpi_mod_setup:MBEDTLS_MPI_MOD_EXT_REP_INVALID:MBEDTLS_MPI_MOD_REP_OPT_RED:MBEDTLS_ERR_MPI_BAD_INPUT_DATA
|
||||
|
||||
Test mbedtls_mpi_mod_setup #6 (Both representations valid)
|
||||
mbedtls_mpi_mod_setup:MBEDTLS_MPI_MOD_EXT_REP_BE:MBEDTLS_MPI_MOD_REP_OPT_RED:0
|
||||
|
||||
Test mbedtls_mpi_mod_setup #7 (Both representations valid)
|
||||
mbedtls_mpi_mod_setup:MBEDTLS_MPI_MOD_EXT_REP_BE:MBEDTLS_MPI_MOD_REP_MONTGOMERY:0
|
||||
|
||||
Test mbedtls_mpi_mod_setup #8 (Both representations valid)
|
||||
mbedtls_mpi_mod_setup:MBEDTLS_MPI_MOD_EXT_REP_LE:MBEDTLS_MPI_MOD_REP_OPT_RED:0
|
||||
|
||||
Test mbedtls_mpi_mod_setup #9 (Both representations valid)
|
||||
mbedtls_mpi_mod_setup:MBEDTLS_MPI_MOD_EXT_REP_LE:MBEDTLS_MPI_MOD_REP_MONTGOMERY:0
|
||||
|
||||
Base test mbedtls_mpi_read_binary #1
|
||||
mbedtls_mpi_read_binary:"0941379d00fed1491fe15df284dfde4a142f68aa8d412023195cee66883e6290ffe703f4ea5963bf212713cee46b107c09182b5edcd955adac418bf4918e2889af48e1099d513830cec85c26ac1e158b52620e33ba8692f893efbb2f958b4424":"0941379D00FED1491FE15DF284DFDE4A142F68AA8D412023195CEE66883E6290FFE703F4EA5963BF212713CEE46B107C09182B5EDCD955ADAC418BF4918E2889AF48E1099D513830CEC85C26AC1E158B52620E33BA8692F893EFBB2F958B4424"
|
||||
|
||||
@ -292,6 +594,93 @@ mbedtls_mpi_cmp_mpi:"-1230000000000000000":"":-1
|
||||
Test mbedtls_mpi_cmp_mpi: large negative < 0 (1 limb)
|
||||
mbedtls_mpi_cmp_mpi:"-1230000000000000000":"0":-1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x=y (1 limb)
|
||||
mpi_core_lt_ct:"02B5":"02B5":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (1 limb)
|
||||
mpi_core_lt_ct:"02B5":"02B4":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (1 limb)
|
||||
mpi_core_lt_ct:"02B5":"02B6":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x=y (0 limbs)
|
||||
mpi_core_lt_ct:"":"":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (63 bit x, y first byte greater)
|
||||
mpi_core_lt_ct:"7FFFFFFFFFFFFFFF":"FF":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (63 bit y, x first byte greater)
|
||||
mpi_core_lt_ct:"FF":"7FFFFFFFFFFFFFFF":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (64 bit x, y=x-1)
|
||||
mpi_core_lt_ct:"8000000000000000":"7FFFFFFFFFFFFFFF":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (64 bit y, x=y-1)
|
||||
mpi_core_lt_ct:"7FFFFFFFFFFFFFFF":"8000000000000000":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (64 bit x, y=1)
|
||||
mpi_core_lt_ct:"8000000000000000":"01":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (64 bit y, x=1)
|
||||
mpi_core_lt_ct:"01":"8000000000000000":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (64 bit x, y=0)
|
||||
mpi_core_lt_ct:"8000000000000000":"00":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (64 bit y, x=0)
|
||||
mpi_core_lt_ct:"00":"8000000000000000":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (64 bit x, first bytes equal)
|
||||
mpi_core_lt_ct:"FFFFFFFFFFFFFFFF":"FF":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (64 bit y, first bytes equal)
|
||||
mpi_core_lt_ct:"FF":"FFFFFFFFFFFFFFFF":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (31 bit x, y first byte greater)
|
||||
mpi_core_lt_ct:"7FFFFFFF":"FF":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (31 bit y, x first byte greater)
|
||||
mpi_core_lt_ct:"FF":"7FFFFFFF":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (32 bit x, y=x-1)
|
||||
mpi_core_lt_ct:"80000000":"7FFFFFFF":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (32 bit y, x=y-1)
|
||||
mpi_core_lt_ct:"7FFFFFFF":"80000000":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (32 bit x, y=1)
|
||||
mpi_core_lt_ct:"80000000":"01":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (32 bit y, x=1)
|
||||
mpi_core_lt_ct:"01":"80000000":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (32 bit x, y=0)
|
||||
mpi_core_lt_ct:"80000000":"00":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (32 bit y, x=0)
|
||||
mpi_core_lt_ct:"00":"80000000":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (32 bit x, first bytes equal)
|
||||
mpi_core_lt_ct:"FFFFFFFF":"FF":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (32 bit y, first bytes equal)
|
||||
mpi_core_lt_ct:"FF":"FFFFFFFF":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y, zero vs non-zero MS limb
|
||||
mpi_core_lt_ct:"00FFFFFFFFFFFFFFFF":"01FFFFFFFFFFFFFFFF":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y, equal MS limbs
|
||||
mpi_core_lt_ct:"EEFFFFFFFFFFFFFFFF":"EEFFFFFFFFFFFFFFF1":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x=y (multi-limb)
|
||||
mpi_core_lt_ct:"EEFFFFFFFFFFFFFFFF":"EEFFFFFFFFFFFFFFFF":0
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x<y (alternating limbs)
|
||||
mpi_core_lt_ct:"11FFFFFFFFFFFFFFFF":"FF1111111111111111":1
|
||||
|
||||
mbedtls_mpi_core_lt_ct: x>y (alternating limbs)
|
||||
mpi_core_lt_ct:"FF1111111111111111":"11FFFFFFFFFFFFFFFF":0
|
||||
|
||||
Base test mbedtls_mpi_lt_mpi_ct #1
|
||||
mbedtls_mpi_lt_mpi_ct:1:"2B5":1:"2B5":0:0
|
||||
|
||||
|
@ -1,6 +1,11 @@
|
||||
/* BEGIN_HEADER */
|
||||
#include "mbedtls/bignum.h"
|
||||
#include "mbedtls/entropy.h"
|
||||
#include "bignum_core.h"
|
||||
#include "bignum_mod.h"
|
||||
#include "bignum_mod_raw.h"
|
||||
#include "constant_time_internal.h"
|
||||
#include "test/constant_flow.h"
|
||||
|
||||
#if MBEDTLS_MPI_MAX_BITS > 792
|
||||
#define MPI_MAX_BITS_LARGER_THAN_792
|
||||
@ -196,6 +201,273 @@ exit:
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mbedtls_mpi_core_io_null()
|
||||
{
|
||||
mbedtls_mpi_uint X = 0;
|
||||
int ret;
|
||||
|
||||
ret = mbedtls_mpi_core_read_be( &X, 1, NULL, 0 );
|
||||
TEST_EQUAL( ret, 0 );
|
||||
ret = mbedtls_mpi_core_write_be( &X, 1, NULL, 0 );
|
||||
TEST_EQUAL( ret, 0 );
|
||||
|
||||
ret = mbedtls_mpi_core_read_be( NULL, 0, NULL, 0 );
|
||||
TEST_EQUAL( ret, 0 );
|
||||
ret = mbedtls_mpi_core_write_be( NULL, 0, NULL, 0 );
|
||||
TEST_EQUAL( ret, 0 );
|
||||
|
||||
ret = mbedtls_mpi_core_read_le( &X, 1, NULL, 0 );
|
||||
TEST_EQUAL( ret, 0 );
|
||||
ret = mbedtls_mpi_core_write_le( &X, 1, NULL, 0 );
|
||||
TEST_EQUAL( ret, 0 );
|
||||
|
||||
ret = mbedtls_mpi_core_read_le( NULL, 0, NULL, 0 );
|
||||
TEST_EQUAL( ret, 0 );
|
||||
ret = mbedtls_mpi_core_write_le( NULL, 0, NULL, 0 );
|
||||
TEST_EQUAL( ret, 0 );
|
||||
|
||||
exit:
|
||||
;
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mbedtls_mpi_core_io_be( data_t *input, int nb_int, int nx_32_int, int iret,
|
||||
int oret )
|
||||
{
|
||||
if( iret != 0 )
|
||||
TEST_ASSERT( oret == 0 );
|
||||
|
||||
TEST_ASSERT( 0 <= nb_int );
|
||||
size_t nb = nb_int;
|
||||
|
||||
unsigned char buf[1024];
|
||||
TEST_ASSERT( nb <= sizeof( buf ) );
|
||||
|
||||
/* nx_32_int is the number of 32 bit limbs, if we have 64 bit limbs we need
|
||||
* to halve the number of limbs to have the same size. */
|
||||
size_t nx;
|
||||
TEST_ASSERT( 0 <= nx_32_int );
|
||||
if( sizeof( mbedtls_mpi_uint ) == 8 )
|
||||
nx = nx_32_int / 2 + nx_32_int % 2;
|
||||
else
|
||||
nx = nx_32_int;
|
||||
|
||||
mbedtls_mpi_uint X[sizeof( buf ) / sizeof( mbedtls_mpi_uint )];
|
||||
TEST_ASSERT( nx <= sizeof( X ) / sizeof( X[0] ) );
|
||||
|
||||
int ret = mbedtls_mpi_core_read_be( X, nx, input->x, input->len );
|
||||
TEST_EQUAL( ret, iret );
|
||||
|
||||
if( iret == 0 )
|
||||
{
|
||||
ret = mbedtls_mpi_core_write_be( X, nx, buf, nb );
|
||||
TEST_EQUAL( ret, oret );
|
||||
}
|
||||
|
||||
if( ( iret == 0 ) && ( oret == 0 ) )
|
||||
{
|
||||
if( nb > input->len )
|
||||
{
|
||||
size_t leading_zeroes = nb - input->len;
|
||||
TEST_ASSERT( memcmp( buf + nb - input->len, input->x, input->len ) == 0 );
|
||||
for( size_t i = 0; i < leading_zeroes; i++ )
|
||||
TEST_EQUAL( buf[i], 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t leading_zeroes = input->len - nb;
|
||||
TEST_ASSERT( memcmp( input->x + input->len - nb, buf, nb ) == 0 );
|
||||
for( size_t i = 0; i < leading_zeroes; i++ )
|
||||
TEST_EQUAL( input->x[i], 0 );
|
||||
}
|
||||
}
|
||||
|
||||
exit:
|
||||
;
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mbedtls_mpi_core_io_le( data_t *input, int nb_int, int nx_32_int, int iret,
|
||||
int oret )
|
||||
{
|
||||
if( iret != 0 )
|
||||
TEST_ASSERT( oret == 0 );
|
||||
|
||||
TEST_ASSERT( 0 <= nb_int );
|
||||
size_t nb = nb_int;
|
||||
|
||||
unsigned char buf[1024];
|
||||
TEST_ASSERT( nb <= sizeof( buf ) );
|
||||
|
||||
/* nx_32_int is the number of 32 bit limbs, if we have 64 bit limbs we need
|
||||
* to halve the number of limbs to have the same size. */
|
||||
size_t nx;
|
||||
TEST_ASSERT( 0 <= nx_32_int );
|
||||
if( sizeof( mbedtls_mpi_uint ) == 8 )
|
||||
nx = nx_32_int / 2 + nx_32_int % 2;
|
||||
else
|
||||
nx = nx_32_int;
|
||||
|
||||
mbedtls_mpi_uint X[sizeof( buf ) / sizeof( mbedtls_mpi_uint )];
|
||||
TEST_ASSERT( nx <= sizeof( X ) / sizeof( X[0] ) );
|
||||
|
||||
int ret = mbedtls_mpi_core_read_le( X, nx, input->x, input->len );
|
||||
TEST_EQUAL( ret, iret );
|
||||
|
||||
if( iret == 0 )
|
||||
{
|
||||
ret = mbedtls_mpi_core_write_le( X, nx, buf, nb );
|
||||
TEST_EQUAL( ret, oret );
|
||||
}
|
||||
|
||||
if( ( iret == 0 ) && ( oret == 0 ) )
|
||||
{
|
||||
if( nb > input->len )
|
||||
{
|
||||
TEST_ASSERT( memcmp( buf, input->x, input->len ) == 0 );
|
||||
for( size_t i = input->len; i < nb; i++ )
|
||||
TEST_EQUAL( buf[i], 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
TEST_ASSERT( memcmp( input->x, buf, nb ) == 0 );
|
||||
for( size_t i = nb; i < input->len; i++ )
|
||||
TEST_EQUAL( input->x[i], 0 );
|
||||
}
|
||||
}
|
||||
|
||||
exit:
|
||||
;
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mbedtls_mpi_mod_setup( int ext_rep, int int_rep, int iret )
|
||||
{
|
||||
#define MLIMBS 8
|
||||
mbedtls_mpi_uint mp[MLIMBS];
|
||||
mbedtls_mpi_mod_modulus m;
|
||||
int ret;
|
||||
|
||||
memset( mp, 0xFF, sizeof(mp) );
|
||||
|
||||
mbedtls_mpi_mod_modulus_init( &m );
|
||||
ret = mbedtls_mpi_mod_modulus_setup( &m, mp, MLIMBS, ext_rep, int_rep );
|
||||
TEST_EQUAL( ret, iret );
|
||||
|
||||
/* Address sanitiser should catch if we try to free mp */
|
||||
mbedtls_mpi_mod_modulus_free( &m );
|
||||
|
||||
/* Make sure that the modulus doesn't have reference to mp anymore */
|
||||
TEST_ASSERT( m.p != mp );
|
||||
|
||||
exit:
|
||||
/* It should be safe to call an mbedtls free several times */
|
||||
mbedtls_mpi_mod_modulus_free( &m );
|
||||
|
||||
#undef MLIMBS
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mbedtls_mpi_mod_raw_io( data_t *input, int nb_int, int nx_32_int,
|
||||
int iendian, int iret, int oret )
|
||||
{
|
||||
if( iret != 0 )
|
||||
TEST_ASSERT( oret == 0 );
|
||||
|
||||
TEST_ASSERT( 0 <= nb_int );
|
||||
size_t nb = nb_int;
|
||||
|
||||
unsigned char buf[1024];
|
||||
TEST_ASSERT( nb <= sizeof( buf ) );
|
||||
|
||||
/* nx_32_int is the number of 32 bit limbs, if we have 64 bit limbs we need
|
||||
* to halve the number of limbs to have the same size. */
|
||||
size_t nx;
|
||||
TEST_ASSERT( 0 <= nx_32_int );
|
||||
if( sizeof( mbedtls_mpi_uint ) == 8 )
|
||||
nx = nx_32_int / 2 + nx_32_int % 2;
|
||||
else
|
||||
nx = nx_32_int;
|
||||
|
||||
mbedtls_mpi_uint X[sizeof( buf ) / sizeof( mbedtls_mpi_uint )];
|
||||
TEST_ASSERT( nx <= sizeof( X ) / sizeof( X[0] ) );
|
||||
|
||||
int endian;
|
||||
if( iendian == MBEDTLS_MPI_MOD_EXT_REP_INVALID )
|
||||
endian = MBEDTLS_MPI_MOD_EXT_REP_LE;
|
||||
else
|
||||
endian = iendian;
|
||||
|
||||
mbedtls_mpi_mod_modulus m;
|
||||
mbedtls_mpi_mod_modulus_init( &m );
|
||||
mbedtls_mpi_uint init[sizeof( X ) / sizeof( X[0] )];
|
||||
memset( init, 0xFF, sizeof( init ) );
|
||||
int ret = mbedtls_mpi_mod_modulus_setup( &m, init, nx, endian,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY );
|
||||
TEST_EQUAL( ret, 0 );
|
||||
|
||||
if( iendian == MBEDTLS_MPI_MOD_EXT_REP_INVALID && iret != 0 )
|
||||
m.ext_rep = MBEDTLS_MPI_MOD_EXT_REP_INVALID;
|
||||
|
||||
ret = mbedtls_mpi_mod_raw_read( X, &m, input->x, input->len );
|
||||
TEST_EQUAL( ret, iret );
|
||||
|
||||
if( iret == 0 )
|
||||
{
|
||||
if( iendian == MBEDTLS_MPI_MOD_EXT_REP_INVALID && oret != 0 )
|
||||
m.ext_rep = MBEDTLS_MPI_MOD_EXT_REP_INVALID;
|
||||
|
||||
ret = mbedtls_mpi_mod_raw_write( X, &m, buf, nb );
|
||||
TEST_EQUAL( ret, oret );
|
||||
}
|
||||
|
||||
if( ( iret == 0 ) && ( oret == 0 ) )
|
||||
{
|
||||
if( nb > input->len )
|
||||
{
|
||||
if( endian == MBEDTLS_MPI_MOD_EXT_REP_BE )
|
||||
{
|
||||
size_t leading_zeroes = nb - input->len;
|
||||
TEST_ASSERT( memcmp( buf + nb - input->len, input->x, input->len ) == 0 );
|
||||
for( size_t i = 0; i < leading_zeroes; i++ )
|
||||
TEST_EQUAL( buf[i], 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
TEST_ASSERT( memcmp( buf, input->x, input->len ) == 0 );
|
||||
for( size_t i = input->len; i < nb; i++ )
|
||||
TEST_EQUAL( buf[i], 0 );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( endian == MBEDTLS_MPI_MOD_EXT_REP_BE )
|
||||
{
|
||||
size_t leading_zeroes = input->len - nb;
|
||||
TEST_ASSERT( memcmp( input->x + input->len - nb, buf, nb ) == 0 );
|
||||
for( size_t i = 0; i < leading_zeroes; i++ )
|
||||
TEST_EQUAL( input->x[i], 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
TEST_ASSERT( memcmp( input->x, buf, nb ) == 0 );
|
||||
for( size_t i = nb; i < input->len; i++ )
|
||||
TEST_EQUAL( input->x[i], 0 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
exit:
|
||||
mbedtls_mpi_mod_modulus_free( &m );
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mbedtls_mpi_read_binary_le( data_t * buf, char * input_A )
|
||||
{
|
||||
@ -455,6 +727,42 @@ exit:
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mpi_core_lt_ct( data_t * input_X, data_t * input_Y, int input_ret )
|
||||
{
|
||||
#define MAX_LEN 64
|
||||
mbedtls_mpi_uint X[MAX_LEN];
|
||||
mbedtls_mpi_uint Y[MAX_LEN];
|
||||
unsigned exp_ret = input_ret;
|
||||
unsigned ret;
|
||||
size_t len = CHARS_TO_LIMBS(
|
||||
input_X->len > input_Y->len ? input_X->len : input_Y->len );
|
||||
|
||||
TEST_ASSERT( len <= MAX_LEN );
|
||||
|
||||
TEST_ASSERT( mbedtls_mpi_core_read_be( X, len, input_X->x, input_X->len )
|
||||
== 0 );
|
||||
TEST_ASSERT( mbedtls_mpi_core_read_be( Y, len, input_Y->x, input_Y->len )
|
||||
== 0 );
|
||||
|
||||
TEST_CF_SECRET( X, len * sizeof( mbedtls_mpi_uint ) );
|
||||
TEST_CF_SECRET( Y, len * sizeof( mbedtls_mpi_uint ) );
|
||||
|
||||
ret = mbedtls_mpi_core_lt_ct( X, Y, len );
|
||||
|
||||
TEST_CF_PUBLIC( X, len * sizeof( mbedtls_mpi_uint ) );
|
||||
TEST_CF_PUBLIC( Y, len * sizeof( mbedtls_mpi_uint ) );
|
||||
TEST_CF_PUBLIC( &ret, sizeof( ret ) );
|
||||
|
||||
TEST_EQUAL( ret, exp_ret );
|
||||
|
||||
exit:
|
||||
;
|
||||
|
||||
#undef MAX_LEN
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mbedtls_mpi_lt_mpi_ct( int size_X, char * input_X,
|
||||
int size_Y, char * input_Y,
|
||||
|
Reference in New Issue
Block a user